Configurazione delle impostazioni di gestione degli errori per le invocazioni asincrone Lambda
Usa le seguenti impostazioni per configurare il modo in cui Lambda gestisce gli errori e i nuovi tentativi per le invocazioni di funzioni asincrone:
-
MaximumEventageInSeconds: il tempo massimo in secondi per cui Lambda conserva un evento nella coda degli eventi asincroni prima di eliminarlo.
-
MaximumRetryAttempts: il numero massimo di tentativi che Lambda effettua quando la funzione restituisce un errore.
Utilizza la console Lambda o AWS CLI per configurare le impostazioni di gestione degli errori per una funzione, una versione o un alias.
- Console
-
Per configurare la gestione degli errori
Aprire la pagina Funzioni della console Lambda.
-
Scegliere una funzione.
-
Scegliere Configuration (Configurazione), quindi scegli Asynchronous invocation (Chiamata asincrona).
-
In Asynchronous invocation (Chiamata asincrona), scegliere Edit (Modifica).
-
Configura le impostazioni seguenti.
-
Maximum age of event (Età massima dell'evento): il tempo massimo per cui Lambda conserva un evento nella coda degli eventi asincroni, fino a 6 ore.
-
Retry attempts (Nuovi tentativi): il numero di tentativi che Lambda effettua quando la funzione restituisce un errore, tra 0 e 2.
-
Selezionare Salva.
- AWS CLI
-
Per configurare l'invocazione asincrona con la AWS CLI, utilizza il comando put-function-event-invoke-config. Nell'esempio seguente viene configurata una funzione con una durata massima dell'evento di 1 ora e senza ulteriori tentativi.
aws lambda put-function-event-invoke-config \
--function-name error \
--maximum-event-age-in-seconds 3600 \
--maximum-retry-attempts 0
Il comando put-function-event-invoke-config sovrascrive qualsiasi configurazione esistente sulla funzione, versione o alias. Per configurare un'opzione senza reimpostarne altre, utilizza update-function-event-invoke-config. Nell'esempio seguente Lambda viene configurato per inviare un record a una coda SQS standard denominata destination quando non è possibile elaborare 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"}}'
Verrà visualizzato l'output seguente:
{
"LastModified": 1573686021.479,
"FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST",
"MaximumRetryAttempts": 0,
"MaximumEventAgeInSeconds": 3600,
"DestinationConfig": {
"OnSuccess": {},
"OnFailure": {}
}
}Quando un evento di invocazione supera l'età massima o fallisce tutti i nuovi tentativi, Lambda lo scarta. Per conservare una copia degli eventi eliminati, configurare una destinazione dell'evento non riuscito.