

# Configurar tempo limite da função do Lambda
<a name="configuration-timeout"></a>

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.

**Topics**
+ [

## Determinar a configuração de tempo imite apropriada para uma função do Lambda
](#configuration-timeout-use-cases)
+ [

## Configurar tempo limite (console)
](#configuration-timeout-console)
+ [

## Configurar tempo limite (AWS CLI)
](#configuration-timeout-cli)
+ [

## Configurar tempo limite (AWS SAM)
](#configuration-timeout-sam)

## Determinar a configuração de tempo imite apropriada para uma função do Lambda
<a name="configuration-timeout-use-cases"></a>

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)
<a name="configuration-timeout-console"></a>

É 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](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha uma função.

1. Escolha **Configuração** e depois selecione **Configuração geral**.  
![\[\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/configuration-tab.png)

1. Em **Configuração geral**, escolha **Editar**.

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

1. Escolha **Salvar**.

## Configurar tempo limite (AWS CLI)
<a name="configuration-timeout-cli"></a>

Você pode usar o comando [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html) 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).

**Example**  

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

## Configurar tempo limite (AWS SAM)
<a name="configuration-timeout-sam"></a>

Você pode usar o [AWS Serverless Application Model](https://docs.aws.amazon.com//serverless-application-model/latest/developerguide/serverless-getting-started.html ) para configurar o valor do tempo limite para a função. Atualize a propriedade [Tempo limite](https://docs.aws.amazon.com//serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-timeout) no arquivo `template.yaml` e execute o comando [sam deploy](https://docs.aws.amazon.com//serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-deploy.html).

**Example 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...
```