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.
Méthode de gestion des erreurs et nouvelles tentatives d’invocation asynchrone par Lambda
Lambda gère la file d’attente d’événements asynchrones de votre fonction, et effectue de nouvelles tentatives en cas d’erreur. Si la fonction renvoie une erreur, Lambda tente par défaut de l’exécuter deux fois de plus, avec une minute d’attente entre les deux premières tentatives, et deux minutes entre la deuxième et la troisième tentative. Les erreurs liées à la fonction événementielle incluent les erreurs renvoyées par le code de la fonction et les erreurs renvoyées par l'exécution de la fonction, telles que les délais d'attente.
Si la fonction d'événement ne dispose pas d'une simultanéité suffisante pour traiter tous les événements, les demandes supplémentaires sont limitées. Pour les erreurs de limitation (429) et les erreurs système (série 500), Lambda renvoie l’événement dans la file d’attente et tente d’exécuter à nouveau la fonction pendant une période pouvant aller jusqu’à 6 heures par défaut. L’intervalle de nouvelle tentative augmente de manière exponentielle de 1 seconde après la première tentative jusqu’à un maximum de 5 minutes. Si la file d’attente contient de nombreuses entrées, Lambda augmente l’intervalle entre les tentatives et réduit la fréquence des événements de lecture à partir de la file d’attente.
Même si votre fonction d'événement ne renvoie pas d'erreur, il est possible qu'elle reçoive le même événement de Lambda plusieurs fois, car la file d'attente elle-même est finalement cohérente. Si la fonction ne peut pas à prendre en charge les événements entrants, ils peuvent également être supprimés de la file d’attente sans être envoyés à la fonction. Assurez-vous que le code de votre fonction gère correctement les événements dupliqués et que vous avez suffisamment de simultanéité disponible pour gérer toutes les invocations.
Lorsque la file d'attente est très longue, les nouveaux événements peuvent vieillir avant que Lambda n'ait l'occasion de les envoyer à votre fonction d'événement. Quand un événement expire ou échoue à toutes les tentatives de traitement, Lambda le supprime. Vous pouvez configurer la gestion des erreurs pour une fonction d'événement afin de réduire le nombre de tentatives effectuées par Lambda ou de supprimer plus rapidement les événements non traités. Pour capturer les événements supprimés, configurez une file d’attente de lettres mortes pour la fonction. Pour capturer les enregistrements des invocations ayant échoué (comme les expirations de délai d’expiration ou les erreurs d’environnement d’exécution), créez une destination en cas d’échec.