Invoquer Lambda avec des événements provenant d'autres services AWS - 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.

Invoquer Lambda avec des événements provenant d'autres services AWS

Certains AWS services peuvent appeler directement des fonctions Lambda à l'aide de déclencheurs. Ces services transmettent les événements à Lambda, et la fonction est invoquée immédiatement lorsque l'événement spécifié se produit. Les déclencheurs sont adaptés aux événements discrets et au traitement en temps réel. Lorsque vous créez un déclencheur à l'aide de la console Lambda, celle-ci interagit avec le AWS service correspondant pour configurer la notification d'événement sur ce service. Le déclencheur est en fait stocké et géré par le service qui génère les événements, et non par Lambda.

Les événements sont des données structurées au format JSON. La structure JSON varie en fonction du service qui la génère et du type d’événement, mais elles contiennent toutes les données nécessaires à la fonction pour traiter l’événement.

Une fonction peut avoir plusieurs déclencheurs. Chaque déclencheur agit comme un client qui invoque votre fonction indépendamment, et chaque événement que Lambda transmet à votre fonction contient des données provenant d'un seul déclencheur. Lambda convertit le document d’événement en objet et le transmet à votre gestionnaire de fonctions.

Selon le service, l'appel piloté par un événement peut être synchrone ou asynchrone.

  • Pour une invocation synchrone, l’autre service qui génère l’événement attend la réponse de votre fonction. Ce service définit les données que la fonction doit renvoyer dans la réponse. Le service contrôle la stratégie d’erreur, par exemple s’il faut réessayer les erreurs.

  • Pour l’invocation asynchrone, Lambda place l’événement dans une file d’attente avant de le transmettre à votre fonction. Lorsque Lambda met l’événement en file d’attent, il envoie immédiatement une réponse de réussite au service qui a généré l’événement. Après que la fonction ait traité l’événement, Lambda ne renvoie pas de réponse au service qui a généré l’événement.

Création d'un déclencheur

Le moyen le plus simple de créer un déclencheur est d'utiliser la console Lambda. Lorsque vous créez un déclencheur à l'aide de la console, Lambda ajoute automatiquement les autorisations requises à la politique basée sur les ressources de la fonction.

Pour créer un déclencheur à l'aide de la console Lambda
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Sélectionnez la fonction pour laquelle vous souhaitez créer un déclencheur.

  3. Dans le volet de Présentation de la fonction, choisissez Ajouter un déclencheur.

  4. Sélectionnez le AWS service pour lequel vous souhaitez appeler votre fonction.

  5. Renseignez les options dans le volet de configuration du déclencheur et choisissez Ajouter. En fonction de la fonction Service AWS que vous choisissez d'invoquer, les options de configuration du déclencheur seront différentes.

Le tableau suivant répertorie les services qui peuvent invoquer des fonctions Lambda.

Service Méthode d’invocation

Amazon Alexa

Pilotée par les événements ; invocation synchrone

Streaming géré par Amazon pour Apache Kafka

Cartographie des sources d'événements

Self-managed Apache Kafka

Cartographie des sources d'événements

Amazon API Gateway

Pilotée par les événements ; invocation synchrone

AWS CloudFormation

Pilotée par les événements ; invocation asynchrone

Amazon CloudFront (Lambda @Edge)

Pilotée par les événements ; invocation synchrone

Amazon CloudWatch Logs

Pilotée par les événements ; invocation asynchrone

AWS CodeCommit

Pilotée par les événements ; invocation asynchrone

AWS CodePipeline

Pilotée par les événements ; invocation asynchrone

Amazon Cognito

Pilotée par les événements ; invocation synchrone

AWS Config

Pilotée par les événements ; invocation asynchrone

Amazon Connect

Pilotée par les événements ; invocation synchrone

Amazon DynamoDB

Cartographie des sources d'événements

Amazon Elastic File System

Intégration spéciale

Elastic Load Balancing (Application Load Balancer)

Pilotée par les événements ; invocation synchrone

AWS IoT

Pilotée par les événements ; invocation asynchrone

Amazon Kinesis

Cartographie des sources d'événements

Amazon Data Firehose

Pilotée par les événements ; invocation synchrone

Amazon Lex

Pilotée par les événements ; invocation synchrone

Amazon MQ

Cartographie des sources d'événements

Amazon Simple Email Service

Pilotée par les événements ; invocation asynchrone

Amazon Simple Notification Service

Pilotée par les événements ; invocation asynchrone

Amazon Simple Queue Service

Cartographie des sources d'événements

Amazon Simple Storage Service (Amazon S3)

Pilotée par les événements ; invocation asynchrone

Amazon Simple Storage Service Batch

Pilotée par les événements ; invocation synchrone

Secrets Manager

Pilotée par les événements ; invocation synchrone

Amazon VPC Lattice

Pilotée par les événements ; invocation synchrone

AWS X-Ray

Intégration spéciale