

# Configuración de la gestión de errores para invocaciones asíncronas de Lambda
<a name="invocation-async-configuring"></a>

Utilice los siguientes parámetros para configurar la forma en que Lambda gestiona los errores y los reintentos de las invocaciones de funciones asíncronas:
+ [MaximumEventAgeInSeconds](https://docs.aws.amazon.com/lambda/latest/api/API_PutFunctionEventInvokeConfig.html#lambda-PutFunctionEventInvokeConfig-request-MaximumEventAgeInSeconds): cantidad de tiempo máxima, en segundos, que Lambda mantiene un evento en la cola de eventos asíncrona antes de descartarlo.
+ [MaximumRetryAttempts](https://docs.aws.amazon.com/lambda/latest/api/API_PutFunctionEventInvokeConfig.html#lambda-PutFunctionEventInvokeConfig-request-MaximumRetryAttempts): número máximo de veces que Lambda reintenta los eventos cuando la función devuelve un error.

Utilice la consola de Lambda o la AWS CLI para configurar los parámetros de gestión de errores en una función, una versión o un alias.

------
#### [ Console ]

**Para configurar la gestión de errores**

1. Abra la [página de Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.

1. Elija una función.

1. Elija **Configuración** y, a continuación, elija **Invocación asíncrona**.

1. En **Asynchronous invocation (Invocación asincrónica)**, elija **Edit (Editar)**.

1. Configure los siguientes ajustes.
   + **Antigüedad máxima del evento**: el período máximo de tiempo durante el que Lambda retiene un evento en la cola de evento asincrónico, hasta 6 horas.
   + **Número de reintentos**: número de reintentos que Lambda realiza cuando la función devuelve un error, entre 0 y 2.

1. Seleccione **Guardar**.

------
#### [ AWS CLI ]

Para configurar la invocación asíncrona con la AWS CLI, utilice el comando [put-function-event-invoke-config](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/put-function-event-invoke-config.html). En el ejemplo siguiente se configura una función con una antigüedad máxima de evento de 1 hora y sin reintentos.

```
aws lambda put-function-event-invoke-config \ 
  --function-name error \
  --maximum-event-age-in-seconds 3600 \
  --maximum-retry-attempts 0
```

El comando `put-function-event-invoke-config` sobrescribe cualquier configuración existente en la función, versión o alias. Para configurar una opción sin restablecer las otras, utilice [update-function-event-invoke-config](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-event-invoke-config.html). En el siguiente ejemplo, se configura Lambda para enviar un registro a una cola de SQS estándar llamada `destination` cuando no se puede procesar un evento.

```
aws lambda update-function-event-invoke-config \
  --function-name my-function \
  --destination-config '{"OnFailure":{"Destination": "arn:aws:sqs:us-east-1:123456789012:destination"}}'
```

------

Debería ver los siguientes datos de salida:

```
{
    "LastModified": 1573686021.479,
    "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST",
    "MaximumRetryAttempts": 0,
    "MaximumEventAgeInSeconds": 3600,
    "DestinationConfig": {
        "OnSuccess": {},
        "OnFailure": {}
    }
}
```

Cuando un evento de invocación supera la antigüedad máxima o no supera ningún reintento, Lambda lo descarta. Para conservar una copia de los eventos descartados, configure un [destino](invocation-async-retain-records.md#invocation-async-destinations) de eventos fallidos.