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.
Lambda inclut un champ State dans la configuration de la fonction pour toutes les fonctions afin d'indiquer quand votre fonction est prête à être invoquée. State
fournit des informations sur l'état actuel de la fonction, notamment sur la possibilité d'invoquer 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.
Note
Les définitions de l'état des fonctions diffèrent légèrement selon les SnapStartfonctions. Pour de plus amples informations, veuillez consulter Lambda SnapStart et états des fonctions.
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 retourne à l’état inactif. Il se peut que vous deviez résoudre les erreurs et redéployer votre fonction pour la rétablir à l'état actif.
Si vous utilisez des flux de travail automatisés basés sur le SDK ou si vous appelez APIs directement le service Lambda, assurez-vous de vérifier l'état d'une fonction avant de l'invoquer pour vérifier 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 des fonctions lors des mises à jour
Lambda effectue deux opérations pour mettre à jour les fonctions :
-
UpdateFunctionCode: met à jour le package de déploiement de la fonction
-
UpdateFunctionConfiguration: met à jour la configuration de la fonction
Lambda utilise LastUpdateStatuscet attribut pour suivre la progression de ces opérations de mise à jour. Pendant qu'une mise à jour est en cours (quand"LastUpdateStatus": "InProgress"
) :
-
L'état de la fonction demeure
Active
. -
Les invocations continuent d'utiliser le code et la configuration précédents de la fonction jusqu'à ce que la mise à jour soit terminée.
-
Les opérations suivantes échouent :
Exemple GetFunctionConfiguration réponse
L'exemple suivant est le résultat d'une GetFunctionConfigurationdemande sur une fonction en cours de mise à jour.
{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function", "Runtime": "nodejs22.x", "VpcConfig": { "SubnetIds": [ "subnet-071f712345678e7c8", "subnet-07fd123456788a036", "subnet-0804f77612345cacf" ], "SecurityGroupIds": [ "sg-085912345678492fb" ], "VpcId": "vpc-08e1234569e011e83" },
"State": "Active", "LastUpdateStatus": "InProgress"
, ... }