Criação de funções duráveis do Lambda
Para começar a usar as funções duráveis do Lambda, use o console do Lambda para criar uma função durável. Em alguns minutos, é possível criar e implantar uma função durável que use etapas e esperas para demonstrar a execução baseada em pontos de verificação.
Ao prosseguir no tutorial, você aprenderá conceitos fundamentais de funções duráveis, como usar o objeto DurableContext, criar pontos de verificação com etapas e pausar a execução com esperas. Você também aprenderá como a reprodução funciona quando sua função é retomada após uma espera.
Para simplificar, este tutorial mostra como criar sua função usando o runtime do Python ou do Node.js. Com essas linguagens interpretadas, você pode editar o código da função diretamente no editor de código integrado do console.
nota
Atualmente, as funções duráveis oferecem suporte a runtimes de Python, Node.js (JavaScript/TypeScript) e Java, e imagens de contêiner (OCI). Para obter uma lista completa das versões de runtime e opções de imagem de contêiner compatíveis, consulte Runtimes compatíveis para funções duráveis. Para obter mais informações sobre como usar imagens de contêiner com o Lambda, consulte Criação de imagens de contêiner do Lambda no Guia do desenvolvedor do Lambda.
dica
Para saber como construir soluções com tecnologia sem servidor, confira o Guia do desenvolvedor com tecnologia sem servidor.
Criação de uma função durável do Lambda com o console
Neste exemplo, sua função durável processa um pedido por meio de várias etapas com verificação automática. A função usa um objeto JSON contendo um ID do pedido, valida o pedido, processa o pagamento e confirma o pedido. Cada etapa é verificada automaticamente, portanto, se a função for interrompida, ela será retomada a partir da última etapa concluída.
Sua função também demonstra uma operação de espera, pausando a execução por um curto período para simular a espera pela confirmação externa.
Para criar uma função durável com o console
Abra a página Funções
do console do Lambda. -
Selecione Criar função.
-
Selecione Criar do zero.
-
No painel Informações básicas, para Nome da função, insira
.myDurableFunction -
Em Runtime, escolha Node.js 24 ou Python 3.14.
-
Selecione Habilitar execução durável.
O Lambda cria sua função durável com um perfil de execução que inclui permissões para operações de ponto de verificação (lambda:CheckpointDurableExecution e lambda:GetDurableExecutionState).
nota
Os runtimes do Lambda incluem o SDK de execução durável, para que seja possível testar funções duráveis sem dependências de empacotamento. No entanto, recomendamos incluir o SDK em seu pacote de implantação para produção. Isso garante a consistência da versão e evita possíveis atualizações de runtime que possam afetar sua função.
Use o editor de código embutido do console para adicionar o código da sua função durável.
Invocação da função durável usando o editor de códigos do console
Quando nenhuma versão explícita é especificada (ou publicada), o console invoca a função durável usando o qualificador de versão $LATEST. No entanto, para a execução determinística do seu código, você deve sempre usar um ARN qualificado apontando para uma versão estável.
Para publicar uma versão da sua função
-
Escolha a guia Versões.
-
Escolha Publicar nova versão.
-
Em Descrição da versão, insira
Initial version(opcional). -
Selecione Publish.
-
O Lambda criará a versão 1 da sua função. Observe que a função do ARN agora inclui
:1no final, indicando que esta é a versão 1.
Agora, crie um evento de teste para enviar à sua função. O evento é um documento em formato JSON contendo um ID de pedido.
Criar o evento de teste
-
Na seção TEST EVENTS do editor de código do console, escolha Criar evento de teste.
-
Em Event Name (Nome do evento), insira
myTestEvent. -
Na seção JSON do evento, substitua o JSON padrão pelo seguinte:
{ "orderId": "order-12345" } -
Escolha Salvar.
Para testar sua função durável e visualizar a execução
Na seção TEST EVENTS do editor de código do console, selecione o ícone de execução ao lado do evento de teste:
Sua função durável começará a ser executada. Como ela inclui uma espera de 10 segundos, a invocação inicial é concluída rapidamente e a função será retomada após o período de espera. É possível visualizar o andamento da execução na guia Execuções duráveis.
Para visualizar sua execução da sua função durável
-
Escolha a guia Execuções duráveis.
-
Encontre sua execução na lista. A execução mostra o status atual (Em execução, Com êxito ou Com falha).
-
Escolha o ID da execução para visualizar os detalhes, incluindo:
Cronograma de execução, mostrando quando cada etapa foi concluída
Histórico dos pontos de verificação
Períodos de espera
Resultados de etapas
Também é possível visualizar os logs da sua função no CloudWatch Logs para ver a saída do console de cada etapa.
Para visualizar os registros de invocação da sua função no CloudWatch Logs
-
Abra a página Log groups
(Grupos de log) do console do CloudWatch. -
Escolha o nome do grupo de logs para sua função (
/aws/lambda/myDurableFunction). -
Role para baixo e selecione o Fluxo de logs para as invocações da função que você deseja verificar.
Você verá as entradas de log para cada invocação de sua função, incluindo a execução inicial e a reprodução após a espera.
nota
Ao usar o registrador de DurableContext (como context.logger ou stepContext.logger), os registros também aparecem na execução durável e nas visualizações de etapas no console do Lambda. Esses registros podem demorar um pouco para serem carregados.
Fazer a limpeza.
Quando você tiver terminado de trabalhar com a função durável de exemplo, exclua-a. Também é possível excluir o grupo de logs que armazena os logs da função e a função de execução que o console criou.
Como excluir a função do Lambda
-
Abra a página Functions
(Funções) no console do Lambda. -
Selecione a função que você criou.
-
Selecione Ações, Excluir.
-
Digite
confirmno campo de entrada de texto e escolha Delete (Excluir).
Para excluir o grupo de logs
-
Abra a página Log groups
(Grupos de log) do console do CloudWatch. -
Selecione o grupo de logs da função (
/aws/lambda/myDurableFunction). -
Selecione Actions (Ações), Delete log group(s) (Excluir grupo(s) de log).
-
Na caixa de diálogo Delete log group(s) (Excluir grupo(s) de logs), escolha Delete (Excluir).
Para excluir a função de execução
-
Abra a página Roles
(Funções) no console do AWS Identity and Access Management (IAM). -
Selecione o perfil de execução da função (por exemplo,
myDurableFunction-role-).31exxmpl -
Escolha Excluir.
-
Na caixa de diálogo Excluir perfil, insira o nome do perfil e, em seguida, escolha Excluir.
Recursos adicionais e próximas etapas
Agora que você criou e testou uma função durável simples usando o console, siga estes próximos passos:
-
Saiba mais sobre casos de uso comuns para funções duráveis, incluindo transações distribuídas, processamento de pedidos e fluxos de trabalho de revisão humana. Veja Exemplos.
-
Entenda como monitorar execuções de funções duráveis com as métricas e o histórico de execução do CloudWatch. Consulte Monitoramento e depuração.
-
Saiba mais sobre como invocar funções duráveis de forma síncrona e assíncrona e gerenciar execuções de longa duração. Consulte Invocação de funções duráveis.
-
Siga as práticas recomendadas para escrever código determinístico, gerenciar tamanhos de pontos de verificação e otimizar custos. Consulte as Práticas recomendadas.
-
Saiba mais sobre como testar as funções duráveis localmente e na nuvem Consulte Testes de funções duráveis.
-
Compare funções duráveis com o Step Functions para entender quando cada abordagem é mais eficaz. Consulte Funções duráveis ou Step Functions.