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.
Invocation d’une fonction Lambda de manière asynchrone
Plusieurs services Services AWS, tels qu’Amazon Simple Storage Service (Amazon S3) et Amazon Simple Notification Service (Amazon SNS), invoquent des fonctions de manière asynchrone pour traiter les événements. Vous pouvez également invoquer une fonction Lambda de manière asynchrone à l’aide d’AWS Command Line Interface (AWS CLI) ou de l’un des kits SDK AWS. Lorsque vous invoquez une fonction de manière asynchrone, vous n’attendez pas de réponse de la part du code de la fonction. Vous remettez l’événement à Lambda qui se charge du reste. Vous pouvez configurer la façon dont Lambda gère les erreurs, et vous pouvez envoyer des enregistrements d’invocation à une ressource en aval telle qu’Amazon Simple Queue Service (Amazon SQS) ou Amazon EventBridge (EventBridge) pour enchaîner les composants de votre application.
Le diagramme suivant montre des clients invoquant une fonction Lambda de manière asynchrone. Lambda place les événements en file d’attente avant de les envoyer à la fonction.
Pour une invocation asynchrone, Lambda place l’événement dans une file d’attente et renvoie une réponse de succès sans plus informations. Un processus distinct lit les événements à partir de la file d’attente et les envoie à votre fonction.
Pour invoquer une fonction Lambda de manière asynchrone à l’aide de l’AWS Command Line Interface (AWS CLI) ou de l’un des kits SDK AWS, définissez le paramètre InvocationType sur Event
. L’exemple suivant montre une commande AWS CLI permettant d’invoquer une fonction.
aws lambda invoke \ --function-name my-function \
--invocation-type
Event
\ --cli-binary-format raw-in-base64-out \ --payload '{ "key": "value" }' response.json
Vous devriez voir la sortie suivante :
{
"StatusCode": 202
}
L’option cli-binary-format est obligatoire si vous utilisez AWS CLI version 2. Pour faire de ce paramètre le paramètre par défaut, exécutez aws configure set cli-binary-format raw-in-base64-out
. Pour plus d’informations, consultez les options de ligne de commande globales prises en charge par l’AWS CLI dans le Guide de l’utilisateur AWS Command Line Interface version 2.
Le fichier de sortie (response.json
) ne contient pas d’informations, mais il est tout de même créé lorsque vous exécutez cette commande. Si Lambda n’est pas en mesure d’ajouter l’événement à la file d’attente, un message d’erreur s’affiche dans la sortie de la commande.