Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

474
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!