View a markdown version of this page

Testes de funções duráveis do Lambda - AWS Lambda

Testes de funções duráveis do Lambda

Use os SDKs de testes de execução durável para executar e inspecionar as execuções localmente e na nuvem. Para ter informações sobre testes de autoria, declarações, executor na nuvem, integração com a CLI do SAM e exemplos completos, consulte Teste no Guia do desenvolvedor do SDK de execução durável da AWS.

Permissões do IAM para testes na nuvem

Quando você usa o executor na nuvem ou sam remote invoke para testar uma função durável implantada, a entidade principal da chamada precisa de permissão para invocar a função e ler seu histórico de execuções. Anexe as permissões a seguir ao chamador de teste:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetDurableExecution", "lambda:GetDurableExecutionHistory" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name", "arn:aws:lambda:region:account-id:function:function-name:*" ] } ] }

Substitua region, account-id e function-name pelos seus valores.

Falhas de depuração

Quando os testes falharem, inspecione o resultado da execução para entender o que houve de errado. Verifique o status da execução para ver se a função foi concluída com êxito, falhou ou atingiu o tempo limite. Leia as mensagens de erro para entender a causa da falha.

Inspecione os resultados individuais da operação para descobrir onde o comportamento divergiu das expectativas. Verifique os resultados das etapas para ver quais valores foram produzidos. Verifique a ordem das operações para confirmar as operações executadas na sequência esperada. Conte as operações para garantir que o número certo de etapas, esperas e retornos de chamada tenham sido criados.

Os problemas comuns incluem código não determinístico que produza resultados diferentes nas reproduções, estado compartilhado por meio de variáveis globais que sejam interrompidas durante a reprodução e operações ausentes devido a erros lógicos condicionais. Use depuradores e logs padrão para analisar o código da função e monitorar o fluxo de execução.

Para testes de nuvem, inspecione o histórico de execução no CloudWatch Logs para ver os logs detalhados da operação. Use o rastreamento para acompanhar o fluxo de execução nos serviços e identificar gargalos.