Publié le: Jul 13, 2023

AWS Lambda peut désormais détecter et arrêter les boucles récursives dans les fonctions Lambda. Les clients créent des applications pilotées par les événements à l'aide de fonctions Lambda pour traiter les événements provenant de sources comme Amazon SQS et Amazon SNS. Mais dans certains scénarios, en raison d'une mauvaise configuration des ressources ou d'un défaut de code, un événement traité peut être renvoyé au même service ou à la même ressource qui a invoqué la fonction Lambda. Cela peut provoquer une boucle récursive involontaire et entraîner une utilisation et des coûts imprévus pour les clients. Avec ce lancement, Lambda arrêtera les appels récursifs entre Amazon SQS, AWS Lambda et Amazon SNS après 16 appels récursifs.

Lorsqu'une fonction envoie un événement à Amazon SQS ou à Amazon SNS à l'aide d'une version d'AWS SDK prise en charge ou d'une version ultérieure, Lambda comptabilise le nombre de fois qu'une fonction a été invoquée pour cet événement. Si une fonction est invoquée plus de 16 fois par le même événement déclencheur, Lambda arrête l'invocation suivante et envoie l'événement vers une file d'attente de lettres mortes ou une destination en cas d'échec, si elle est configurée. Les clients recevront également une notification dans le tableau de bord AWS Health indiquant les étapes de dépannage.

Cette fonctionnalité est activée par défaut et disponible dans les régions AWS suivantes : Asie-Pacifique (Hong Kong, Jakarta, Osaka, Mumbai, Séoul, Singapour, Sydney, Tokyo), Afrique (Le Cap), Canada (Centre), Europe (Francfort, Irlande, Londres, Milan, Paris, Stockholm), Amérique du Sud (Sao Paulo), USA Est (Ohio, Virginie du Nord), USA Ouest (Oregon, Californie du Nord). Pour désactiver cette fonctionnalité pour votre compte AWS, veuillez contacter AWS Support. Pour plus d'informations, veuillez consulter notre documentation ou le billet de blog du lancement.