

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.

# Création d’un mappage des sources d’événements Lambda pour une source d’événements Amazon MSK
<a name="msk-esm-create"></a>

Pour créer un mappage des sources d’événements, vous pouvez utiliser la console Lambda, [AWS Command Line Interface (CLI)](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) ou un [SDK AWS](https://aws.amazon.com/getting-started/tools-sdks/).

**Note**  
Lorsque vous créez le mappage des sources d’événements, Lambda crée une [ENI Hyperplane](configuration-vpc.md#configuration-vpc-enis) dans le sous-réseau privé qui contient votre cluster MSK, ce qui permet à Lambda d’établir une connexion sécurisée. Cette ENI Hyperplane utilise la configuration du sous-réseau et du groupe de sécurité de votre cluster MSK, et non votre fonction Lambda.

Les étapes de console suivantes ajoutent un cluster Amazon MSK comme déclencheur pour votre fonction Lambda. En arrière-plan, cela crée une ressource de mappage des sources d’événements.

**Pour ajouter un déclencheur Amazon MSK à votre fonction Lambda (console)**

1. Ouvrez la [page Fonction](https://console.aws.amazon.com/lambda/home#/functions) de la console Lambda.

1. Choisissez le nom de la fonction Lambda pour laquelle vous souhaitez ajouter un déclencheur Amazon MSK.

1. Sous **Function overview (Vue d’ensemble de la fonction)**, choisissez **Add trigger (Ajouter un déclencheur)**.

1. Sous **Trigger configuration** (Configuration du déclencheur), choisissez **MSK**.

1. Pour spécifier les détails de votre cluster Kafka, procédez comme suit :

   1. Pour **MSK cluster (Cluster MSK)**, sélectionnez votre cluster.

   1. Dans **Nom de la rubrique**, donnez un nom à la rubrique Kafka dont vous souhaitez consommer les messages.

   1. Pour **l’identifiant de groupe de consommateurs**, entrez l’identifiant d’un groupe de consommateurs Kafka à rejoindre, le cas échéant. Pour de plus amples informations, veuillez consulter [ID de groupe de consommateurs personnalisable dans Lambda](kafka-consumer-group-id.md).

1. Pour **Authentification du cluster**, effectuez les configurations nécessaires. Pour plus d'informations sur l'authentification du cluster, consultez [Configuration des méthodes d'authentification du cluster Amazon MSK dans Lambda](msk-cluster-auth.md).
   + Activez **Utiliser l’authentification** si vous souhaitez que Lambda effectue l’authentification auprès de votre cluster MSK lors de l’établissement d’une connexion. L’authentification est recommandée.
   + Si vous utilisez l’authentification, dans **Méthode d’authentification**, choisissez la méthode d’authentification à utiliser.
   + Si vous utilisez l’authentification, pour **Clé Secrets Manager**, choisissez la clé Secrets Manager qui contient les informations d’identification d’authentification nécessaires pour accéder à votre cluster.

1. Sous **Configuration des sondeurs d’événements**, effectuez les configurations nécessaires.
   + Choisissez **Activer le déclencheur** pour activer le déclencheur immédiatement après sa création.
   + Choisissez si vous souhaitez **Configurer le mode provisionné** pour votre mappage des sources d’événements. Pour de plus amples informations, veuillez consulter [Modes de mise à l’échelle des sondeurs d’événements Apache Kafka dans Lambda](kafka-scaling-modes.md).
     + Si vous configurez le mode provisionné, entrez une valeur pour **Minimum Event Sollers**, une valeur pour **Maximum Event Sollers** et une valeur facultative pour PollerGroupName spécifier le regroupement de plusieurs ESMs au sein d'un même VPC source d'événements.
   + Dans **Position de départ**, choisissez la façon dont vous souhaitez que Lambda commence à lire à partir de votre flux. Pour de plus amples informations, veuillez consulter [Positions de départ des interrogations et flux Apache Kafka dans Lambda](kafka-starting-positions.md).

1. Sous **Traitement par lots**, effectuez les configurations nécessaires. Pour plus d’informations sur la mise en lots, consultez [Comportement de traitement par lots](invocation-eventsourcemapping.md#invocation-eventsourcemapping-batching).

   1. Pour **Batch size (Taille de lot)**, entrez le nombre maximum d’enregistrements à recevoir dans un même lot.

   1. Pour **Batch window**, veuillez saisir le nombre maximal de secondes nécessaires à Lambda pour collecter des enregistrements avant d’invoquer la fonction.

1. Sous **Filtrage**, effectuez les configurations nécessaires. Pour plus d’informations sur le filtrage, veuillez consulter la rubrique [Filtrage des événements provenant d’Amazon MSK et sources d’événements Apache Kafka autogéré](kafka-filtering.md).
   + Pour **Critères de filtre**, ajoutez des définitions de critères de filtre pour déterminer s’il faut ou non traiter un événement.

1. Sous **Gestion des échecs**, effectuez les configurations nécessaires. Pour plus d’informations sur la gestion des échecs, consultez [Capture de lots supprimés pour des sources d’événement Amazon MSK et Apache Kafka autogéré](kafka-on-failure.md).
   + Pour **Destination en cas d’échec**, spécifiez l’ARN de votre destination en cas d’échec.

1. Pour **Balises**, saisissez les balises à associer à ce mappage des sources d’événements.

1. Pour créer le déclencheur, choisissez **Add** (Ajouter).

Vous pouvez également créer le mappage des sources d'événements à l'aide de la AWS CLI avec la [ create-event-source-mapping](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-event-source-mapping.html)commande. L’exemple suivant crée un mappage des sources d’événements pour associer la fonction Lambda `my-msk-function` à la rubrique `AWSKafkaTopic`, en commençant par le message `LATEST`. Cette commande utilise également l'[SourceAccessConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_SourceAccessConfiguration.html)objet pour demander à Lambda d'[utiliser](msk-cluster-auth.md#msk-sasl-scram) l'authentification SASL/SCRAM lors de la connexion au cluster.

```
aws lambda create-event-source-mapping \
  --event-source-arn arn:aws:kafka:us-east-1:111122223333:cluster/my-cluster/fc2f5bdf-fd1b-45ad-85dd-15b4a5a6247e-2 \
  --topics AWSKafkaTopic \
  --starting-position LATEST \
  --function-name my-kafka-function
  --source-access-configurations '[{"Type": "SASL_SCRAM_512_AUTH","URI": "arn:aws:secretsmanager:us-east-1:111122223333:secret:my-secret"}]'
```

Si le cluster utilise l'[authentification mTLS](msk-cluster-auth.md#msk-mtls), incluez un [SourceAccessConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_SourceAccessConfiguration.html)objet qui le spécifie `CLIENT_CERTIFICATE_TLS_AUTH` et un ARN de clé Secrets Manager. En voici un exemple dans la commande suivante :

```
aws lambda create-event-source-mapping \
  --event-source-arn arn:aws:kafka:us-east-1:111122223333:cluster/my-cluster/fc2f5bdf-fd1b-45ad-85dd-15b4a5a6247e-2 \
  --topics AWSKafkaTopic \
  --starting-position LATEST \
  --function-name my-kafka-function
  --source-access-configurations '[{"Type": "CLIENT_CERTIFICATE_TLS_AUTH","URI": "arn:aws:secretsmanager:us-east-1:111122223333:secret:my-secret"}]'
```

Lorsque le cluster utilise l'[authentification IAM](msk-cluster-auth.md#msk-iam-auth), vous n'avez pas besoin d'[ SourceAccessConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_SourceAccessConfiguration.html)objet. En voici un exemple dans la commande suivante :

```
aws lambda create-event-source-mapping \
  --event-source-arn arn:aws:kafka:us-east-1:111122223333:cluster/my-cluster/fc2f5bdf-fd1b-45ad-85dd-15b4a5a6247e-2 \
  --topics AWSKafkaTopic \
  --starting-position LATEST \
  --function-name my-kafka-function
```