Configuração de funções duráveis do Lambda
Configurações de execução duráveis controlam por quanto tempo sua função do Lambda pode ser executada e por quanto tempo o serviço retém o histórico de execução. Defina essas configurações para permitir a execução durável de sua função.
Habilitação da execução durável
Configure o objeto DurableConfig ao criar sua função para definir o tempo limite de execução e a retenção do histórico. Você só pode habilitar a execução durável ao criar uma função. Não é possível habilitá-la em funções existentes.
Parâmetros de configuração:
ExecutionTimeout— O tempo máximo em segundos que uma execução durável pode ser executada antes que o Lambda interrompa a execução. Esse tempo limite se aplica a toda a execução durável, e não às invocações de funções individuais. Intervalo válido: de 1 a 31622400.RetentionPeriodInDays— O número de dias para reter o histórico de execução após a conclusão de uma execução duradoura. Após esse período, o histórico de execução não estará mais disponível por meio da APIGetDurableExecutionHistory. Intervalo válido: de 1 a 90.
Para ver a referência completa da API, vejaDurableConfig na Referência da API Lambda.
Práticas recomendadas para configuração
Siga estas práticas recomendadas ao configurar funções duráveis para uso em produção:
-
Defina tempos limite de execução adequados: configure
ExecutionTimeoutcom base na duração máxima esperada do seu fluxo de trabalho. Não defina prazos desnecessariamente longos, pois eles afetam a alocação de custos e recursos. -
Equilibre a retenção com os custos de armazenamento: defina
RetentionPeriodInDayscom base em seus requisitos de depuração e auditoria. Períodos de retenção mais longos aumentam os custos de armazenamento. -
Monitore o tamanho do estado: objetos de estado grandes aumentam os custos de armazenamento e podem afetar a performance. Mantenha o estado mínimo e use armazenamento externo para grandes volumes de dados.
-
Configure o registro em log apropriado: habilite o registro em log detalhado para solucionar problemas de fluxos de trabalho de longa duração, mas considere o impacto no volume de registros e nos custos.
Exemplo de configuração de produção:
{ "ExecutionTimeout": 86400, "RetentionPeriodInDays": 7 }
Este exemplo define um tempo limite de execução de 24 horas (86.400 segundos) com um período de retenção de sete dias, o que equilibra a visibilidade da depuração com os custos de armazenamento para a maioria das cargas de trabalho de produção.