Configuration des paramètres de gestion des erreurs pour les appels asynchrones Lambda - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration des paramètres de gestion des erreurs pour les appels asynchrones Lambda

Utilisez les paramètres suivants pour configurer la manière dont Lambda gère les erreurs et les nouvelles tentatives pour les appels de fonctions asynchrones :

  • MaximumEventAgeInSeconds: durée maximale, en secondes, pendant laquelle Lambda conserve un événement dans la file d'attente d'événements asynchrones avant de le supprimer.

  • MaximumRetryAttempts: le nombre maximum de fois que Lambda réessaie des événements lorsque la fonction renvoie une erreur.

Utilisez la console Lambda ou AWS CLI pour configurer les paramètres de gestion des erreurs sur une fonction, une version ou un alias.

Console
Pour configurer la gestion des erreurs
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Choisissez une fonction.

  3. Sélectionnez Configuration, puis Asynchronous invocation (Invocation asynchrone).

  4. Sous Asynchronous invocation (Invocation asynchrone), choisissez Edit (Modifier).

  5. Configurez les paramètres suivants.

    • Maximum age of event (Âge maximal de l’événement) – Durée maximale, jusqu’à 6 heures, pendant laquelle Lambda conserve un événement dans la file d’attente d’événements asynchrones.

    • Retry attempts (Nouvelles tentatives) – Nombre de nouvelles tentatives, entre 0 et 2, que Lambda effectue lorsque la fonction renvoie une erreur.

  6. Choisissez Save (Enregistrer).

AWS CLI

Pour configurer l'invocation asynchrone avec le AWS CLI, utilisez la put-function-event-invoke commande -config. L’exemple suivant montre comment configurer une fonction avec un âge d’événement maximal de 1 heure et aucune nouvelle tentative.

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

La commande put-function-event-invoke-config remplace toute configuration existante sur la fonction, la version ou l’alias. Pour configurer une option sans en réinitialiser d'autres, utilisez update-function-event-invoke-config. L'exemple suivant configure Lambda pour envoyer un enregistrement à une file d'attente SQS standard destination nommée lorsqu'un événement ne peut pas être traité.

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

Vous devriez voir la sortie suivante :

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

Quand un événement d’invocation dépasse l’âge maximum ou échoue à toutes les tentatives, Lambda le supprime. Pour conserver une copie des événements ignorés, configurez une destination pour les événements ayant échoué.