Configurazione delle impostazioni di gestione degli errori per le invocazioni asincrone Lambda - AWS Lambda

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
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegliere una funzione.

  3. Scegliere Configuration (Configurazione), quindi scegli Asynchronous invocation (Chiamata asincrona).

  4. In Asynchronous invocation (Chiamata asincrona), scegliere Edit (Modifica).

  5. 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.

  6. 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.