Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

479
Visualizações
Registros de AWS Lambda con AWSCLI: ¿Cómo puedo acceder a los registros de Lambda con AWSCLI?

Estaba tratando de trabajar con AWS Lambda usando awscli en una instancia de ubuntu ec2 y no tengo acceso a la consola de aws. Tenga en cuenta que no estoy usando serverless o zapper, comprimo directamente mi archivo main.py junto con los archivos de dependencia como se menciona aquí

Ejecuto la función así

aws lambda invoke --function-name python-test --invocation-type RequestResponse outfile.txt

Los errores dados en el archivo de salida son muy vagos y no ayudan en la depuración, sino que me confunden más. Usando el sistema del administrador, puedo reconocer los errores cuando ejecuto una prueba en la consola, pero ¿cómo puedo verificar esos registros usando awscli?

Así que intenté ejecutar aws cloudwatch list-metrics > cloudwatch_logs.log y busqué el nombre de la función 'python-test' en el archivo cloudwatch_logs.log. Puedo encontrar Namespace , MetricName , Dimensions para esta función, pero ¿cómo se accede a la registros?

¡Cualquier ayuda con enlaces a ejemplos similares es muy apreciada!

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Primero, obtenga el nombre del grupo de registros :

 aws logs describe-log-groups --query logGroups[*].logGroupName [ "/aws/lambda/MyFunction" ]

Luego, enumere los flujos de registros para ese grupo de registros:

 aws logs describe-log-streams --log-group-name '/aws/lambda/MyFunction' --query logStreams[*].logStreamName [ "2018/02/07/[$LATEST]140c61ffd59442b7b8405dc91d708fdc" ]

Finalmente, obtenga los eventos de registro para esa transmisión:

 aws logs get-log-events --log-group-name '/aws/lambda/MyFunction' --log-stream-name '2018/02/07/[$LATEST]140c61ffd59442b7b8405dc91d708fdc' { "nextForwardToken": "f/33851760153448034063427449515194237355552440866456338433", "events": [ { "ingestionTime": 1517965421523, "timestamp": 1517965421526, "message": "START RequestId: bca9c478-0ba2-11e8-81db-4bccfc644168 Version: $LATEST\n" }, { "ingestionTime": 1517965424581, "timestamp": 1517965424567, "message": "END RequestId: bca9c478-0ba2-11e8-81db-4bccfc644168\n" }, { "ingestionTime": 1517965424581, "timestamp": 1517965424567, "message": "REPORT RequestId: bca9c478-0ba2-11e8-81db-4bccfc644168\tDuration: 3055.39 ms\tBilled Duration: 3100 ms \tMemory Size: 128 MB\tMax Memory Used: 35 MB\t\n" } ], "nextBackwardToken": "b/33851760085631457914695824538087252860391482425578356736" }
over 4 years ago · Santiago Trujillo Relatório

0

sabor jq :

Enumere el nombre del grupo AWS lambda (si la lista es demasiado grande, es posible que desee filtrarla con grep ):

 aws logs describe-log-groups | jq -r ".logGroups[].logGroupName"

Luego lea la propiedad del message de la última secuencia con:

 LOG_GROUP_NAME="/aws/lambda/awesomeFunction" LOG_STREAM_NAME=$(aws logs describe-log-streams --log-group-name "${LOG_GROUP_NAME}" | jq -r '.logStreams | sort_by(.creationTime) | .[-1].logStreamName') aws logs get-log-events --log-group-name "${LOG_GROUP_NAME}" --log-stream-name "${LOG_STREAM_NAME}" | jq -r '.events[] | select(has("message")) | .message'

Es posible que desee poner esto en un archivo logs.sh

Si desea más u otras transmisiones, es posible que desee modificar la .logStreams[0]

over 4 years ago · Santiago Trujillo Relatório

0

El uso de AWS CLI puede ser un poco irritante porque el nombre de la transmisión cambia a medida que modifica su función. Descubrí que usar awslogs ( https://github.com/jorgebastida/awslogs ) es un mejor flujo de trabajo.

Enumere los grupos:

 awslogs groups

Filtrar Resultados.

 awslogs groups|grep myfunction

Luego obtenga los registros del grupo.

 awslogs get /aws/lambda/ShortenStack-mutationShortenLambdaBC1758AD-6KW0KAD3TYVE

Por defecto son los últimos 5 minutos, pero puede agregar el parámetro -s para elegir un tiempo, por ejemplo, -s 10m para los últimos 10 minutos.

La salida está coloreada si está en la terminal, o simple si la está canalizando a través de otros comandos, por ejemplo, grep para encontrar algo.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda