View a markdown version of this page

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

Certains Services AWS peuvent invoquer directement des fonctions Lambda à l'aide de déclencheurs. Ces services envoient des événements à Lambda, et la fonction est invoquée aussitôt que 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.

Outre les appels déclenchés par des événements, vous pouvez utiliser Lambda avec Amazon EC2, Apache Kafka autogéré et Kubernetes. Utilisation de Lambda avec Kubernetes

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’invocation pilotée par l’é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. Une fois que la fonction a traité l'événement, Lambda ne renvoie pas de réponse au service de génération d'événements.

Création d’un déclencheur

La manière la plus simple de créer un déclencheur consiste à utiliser la console Lambda. Lorsque vous créez un déclencheur à l’aide de la console, Lambda dernier 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. Les options de configuration des déclencheurs sont différentes selon la méthode que Service AWS vous choisissez pour invoquer votre fonction.

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

Service Méthode d’invocation

Streaming géré par Amazon pour Apache Kafka

Mappage des sources d’événements

Self-managed Apache Kafka

Mappage des sources d’événements

Amazon API Gateway

Event-driven; invocation synchrone

AWS CloudFormation

Event-driven; appel asynchrone

CloudWatch Journaux Amazon

Event-driven; appel asynchrone

AWS CodeCommit

Event-driven; appel asynchrone

AWS CodePipeline

Event-driven; appel asynchrone

Amazon Cognito

Event-driven; invocation synchrone

AWS Config

Event-driven; appel asynchrone

Connecter le client

Event-driven; invocation synchrone

Amazon DocumentDB

Mappage des sources d’événements

Amazon DynamoDB

Mappage des sources d’événements

Elastic Load Balancing (Application Load Balancer)

Event-driven; invocation synchrone

EventBridge

Event-driven; appel asynchrone (bus d'événements et règles), appel synchrone ou asynchrone (canaux)

EventBridge Planificateur Amazon

Event-driven (basé sur le temps) ; appel asynchrone

AWS IoT

Event-driven; appel asynchrone

Amazon Kinesis

Mappage des sources d’événements

Amazon Data Firehose

Event-driven; invocation synchrone

Amazon Lex

Event-driven; invocation synchrone

Amazon MQ

Mappage des sources d’événements

Amazon Simple Email Service

Event-driven; appel asynchrone

Amazon Simple Notification Service

Event-driven; appel asynchrone

Amazon Simple Queue Service

Mappage des sources d’événements

Amazon Simple Storage Service (Amazon S3)

Event-driven; appel asynchrone

Amazon Simple Storage Service Batch

Event-driven; invocation synchrone

Secrets Manager

Rotation des secrets

AWS Step Functions

Event-driven; appel synchrone ou asynchrone

Amazon VPC Lattice

Event-driven; invocation synchrone