États de la fonction 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.

États de la fonction Lambda

Lambda inclut un champ d’état dans la configuration de la fonction pour toutes les fonctions, afin d’indiquer quand la fonction est prête à être appelée. State fournit des informations sur l’état actuel de la fonction, y compris si vous pouvez appeler la fonction avec succès. Les états de la fonction ne modifient pas le comportement des appels de la fonction ou la façon dont votre fonction exécute le code. Les états de la fonction incluent :

  • Pending : une fois que Lambda crée la fonction, il définit l’état comme « en attente ». Lorsqu’elle est en attente, Lambda tente de créer ou de configurer des ressources pour la fonction, telles que des ressources VPC ou EFS. Lambda n’appelle pas de fonction pendant que l’état est en attente. Les appels ou autres actions d’API qui agissent sur la fonction échoueront.

  • Active – La fonction passera à l’état actif lorsque Lambda aura terminé la configuration et l’approvisionnement des ressources. Les fonctions peuvent uniquement être appelées avec succès lorsqu’elles sont actives.

  • Failed : indique que la configuration ou l’approvisionnement des ressources ont rencontré une erreur.

  • Inactive : une fonction devient inactive lorsqu’elle a été inactive suffisamment longtemps afin que Lambda puisse récupérer les ressources externes qui ont été configurées pour elle. Lorsque vous essayez d’appeler une fonction qui est inactive, l’appel échoue et Lambda définit la fonction à l’état « en attente » jusqu’à ce que les ressources de la fonction soient recréées. Si Lambda ne parvient pas à recréer les ressources, la fonction revient à l'état inactif. Si votre fonction est bloquée à l'état inactif, reportez-vous à la fonction StatusCode et à ses StatusCodeReason attributs pour un dépannage plus approfondi. Vous devrez peut-être résoudre les erreurs et redéployer votre fonction pour la rétablir à l'état actif.

Si vous utilisez des flux de travail d’automatisation basés sur un kit SDK ou si vous appelez directement les API de service Lambda, vérifiez l’état d’une fonction avant l’appel pour vous assurer qu’elle est active. Vous pouvez le faire à l'aide de l'action GetFunctionde l'API Lambda ou en configurant un serveur à l'aide du SDK pour AWS Java 2.0.

aws lambda get-function --function-name my-function --query 'Configuration.[State, LastUpdateStatus]'

Vous devriez voir la sortie suivante :

[ "Active", "Successful" ]

Les opérations suivantes échouent lorsque la création de fonction est en attente :

États de la fonction lors de la mise à jour

Lambda fournit un contexte supplémentaire pour les fonctions faisant l’objet de mises à jour à l’aide de l’attribut LastUpdateStatus qui peut avoir les états suivants :

  • InProgress – Une mise à jour est en cours sur une fonction existante. Pendant qu’une mise à jour de fonction est en cours, les appels sont dirigés vers l’ancien code et l’ancienne configuration de la fonction.

  • Successful – La mise à jour est terminée. Lorsque Lambda a terminé la mise à jour, celle-ci demeure définie jusqu’à une nouvelle mise à jour.

  • Failed – La mise à jour de la fonction a échoué. Lambda abandonne la mise à jour et l’ancien code et l’ancienne configuration de la fonction demeurent disponibles.

Vous trouverez ci-dessous le résultat de get-function-configuration sur une fonction faisant l’objet d’une mise à jour.

{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function", "Runtime": "nodejs20.x", "VpcConfig": { "SubnetIds": [ "subnet-071f712345678e7c8", "subnet-07fd123456788a036", "subnet-0804f77612345cacf" ], "SecurityGroupIds": [ "sg-085912345678492fb" ], "VpcId": "vpc-08e1234569e011e83" }, "State": "Active", "LastUpdateStatus": "InProgress", ... }

FunctionConfiguration dispose de deux autres attributs, LastUpdateStatusReason et LastUpdateStatusReasonCode destinés à résoudre les problèmes survenant lors d'une mise à jour.

Les opérations suivantes échouent lorsqu’une mise à jour asynchrone est en cours :