Configurar tempo limite da função do Lambda - AWS Lambda

Configurar tempo limite da função do Lambda

O Lambda executa o código por um determinado período de tempo antes de atingir o tempo limite. O tempo limite é o período de tempo máximo, em segundos, durante o qual uma função do Lambda pode ser executada. O valor padrão dessa configuração é de 3 segundos, mas você pode ajustá-lo em incrementos de 1 segundo até o valor máximo de 900 segundos (15 minutos).

Esta página descreve como e quando atualizar a configuração de tempo limite de uma função do Lambda.

Determinar a configuração de tempo imite apropriada para uma função do Lambda

Se o valor do tempo limite for próximo da duração média de uma função, há um risco maior de que a função atinja o tempo limite inesperadamente. A duração de uma função pode variar dependendo da quantidade de transferência e processamento de dados, e da latência de qualquer serviço com o qual a função interaja. Algumas causas comuns de tempo limite esgotado incluem:

  • Os downloads do Amazon Simple Storage Service (Amazon S3) são maiores ou demoram mais que a média.

  • Uma função faz uma solicitação a outro serviço, que leva mais tempo para responder.

  • Os parâmetros fornecidos a uma função exigem mais complexidade computacional na função, o que faz com que a invocação leve mais tempo.

Ao testar sua aplicação, certifique-se de que os testes reflitam exatamente o tamanho e a quantidade de dados, bem como valores de parâmetros realistas. Os testes geralmente usam amostras pequenas por conveniência, mas você deve usar conjuntos de dados nos limites superiores do que é razoavelmente esperado para a workload.

Configurar tempo limite (console)

É possível configurar o tempo limite da função no console do Lambda.

Para modificar o tempo limite de uma função
  1. Abra a página Funções do console do Lambda.

  2. Escolha uma função.

  3. Escolha Configuração e depois selecione Configuração geral.

    A guia Configuração no console do Lambda.
  4. Em Configuração geral, escolha Editar.

  5. Para Tempo limite, defina um valor entre 1 e 900 segundos (15 minutos).

  6. Escolha Salvar.

Configurar tempo limite (AWS CLI)

Você pode usar o comando update-function-configuration para configurar o valor de tempo limite, em segundos. O exemplo de comando a seguir aumenta o tempo limite da função para 120 segundos (2 minutos).

aws lambda update-function-configuration \ --function-name my-function \ --timeout 120

Configurar tempo limite (AWS SAM)

Você pode usar o AWS Serverless Application Model para configurar o valor do tempo limite para a função. Atualize a propriedade Tempo limite no arquivo template.yaml e execute o comando sam deploy.

exemplo template.yaml
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: An AWS Serverless Application Model template describing your function. Resources: my-function: Type: AWS::Serverless::Function Properties: CodeUri: . Description: '' MemorySize: 128 Timeout: 120 # Other function properties...