Invocation d'une fonction Lambda de manière asynchrone - 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.

Invocation d'une fonction Lambda de manière asynchrone

Plusieurs d' Services AWS entre eux, tels qu'Amazon Simple Storage Service (Amazon S3) et Amazon Simple Notification Service (SNSAmazon), invoquent des fonctions de manière asynchrone pour traiter les événements. Vous pouvez également appeler une fonction Lambda de manière asynchrone en utilisant le AWS Command Line Interface (AWS CLI) ou l'un des. AWS SDKs 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 manière dont Lambda gère les erreurs et 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.

Les clients invoquent une fonction de manière asynchrone. Lambda met 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 appeler une fonction Lambda de manière asynchrone à l'aide de AWS Command Line Interface (AWS CLI) ou de l'un des AWS SDKs, définissez le paramètre sur. InvocationTypeEvent L'exemple suivant montre une AWS CLI commande pour appeler 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'cli-binary-formatoption est obligatoire si vous utilisez AWS CLI la 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.