Erros da função do AWS Lambda em Python - AWS Lambda

Erros da função do AWS Lambda em Python

Quando o seu código gera um erro, o Lambda gera uma representação JSON do erro. Este documento de erro aparece no log de invocação e, para invocações síncronas, na saída.

exemplo Arquivo lambda_function.py – exceção

def lambda_handler(event, context): return x + 10

Esse código resulta em um erro de nome. O Lambda detecta o erro e gera um documento JSON com campos para a mensagem de erro, o tipo e o rastreamento da pilha.

{ "errorMessage": "name 'x' is not defined", "errorType": "NameError", "stackTrace": [ " File \"/var/task/error_function.py\", line 2, in lambda_handler\n return x + 10\n" ] }

Quando você invoca a função a partir da linha de comando, a AWS CLI divide a resposta em dois documentos. Para indicar que ocorreu um erro de função, a resposta exibida no terminal inclui um campo FunctionError. A resposta ou o erro retornado pela função é gravado no arquivo de saída.

$ aws lambda invoke --function-name my-function out.json { "StatusCode": 200, "FunctionError": "Unhandled", "ExecutedVersion": "$LATEST" }

Visualize o arquivo de saída para ver o documento de erro.

$ cat out.json {"errorMessage": "name 'x' is not defined", "errorType": "NameError", "stackTrace": [" File \"/var/task/error_function.py\", line 2, in lambda_handler\n return x + 10\n"]}
nota

O código de status 200 (sucesso) na resposta do Lambda indica que não houve um erro na solicitação enviada para o Lambda. Para problemas que resultam em um código de status de erro, consulte Errors.

O Lambda também grava até 256 KB do objeto de erro nos logs de função. Para visualizar logs quando você invoca a função na linha de comando, use a opção --log-type e decodifique a string base64 na resposta.

$ aws lambda invoke --function-name my-function out.json --log-type Tail \ --query 'LogResult' --output text | base64 -d START RequestId: fc4f8810-88ff-4800-974c-12cec018a4b9 Version: $LATEST     return x + 10/lambda_function.py", line 2, in lambda_handler END RequestId: fc4f8810-88ff-4800-974c-12cec018a4b9 REPORT RequestId: fc4f8810-88ff-4800-974c-12cec018a4b9 Duration: 12.33 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 56 MB

Para obter mais informações sobre logs, consulte Registro em log da função do AWS Lambda em Python.