

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 Apache Kafka autogéré
<a name="kafka-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/).

Les étapes de console suivantes ajoutent un cluster Apache Kafka autogéré en tant que déclencheur pour votre fonction Lambda. En arrière-plan, cela crée une ressource de mappage des sources d’événements.

## Conditions préalables
<a name="kafka-esm-prereqs"></a>
+ Cluster Apache Kafka autogéré. Lambda prend en charge Apache Kafka versions 0.10.1.0 et ultérieures.
+ [Rôle d'exécution](lambda-intro-execution-role.md) autorisé à accéder aux AWS ressources utilisées par votre cluster Kafka autogéré.

## Ajout d’un cluster Kafka autogéré (console)
<a name="kafka-esm-console"></a>

Pour ajouter votre cluster Apache Kafka autogéré et une rubrique Kafka en tant que déclencheur pour votre fonction Lambda, procédez comme suit.

**Pour ajouter un déclencheur Apache Kafka à votre fonction Lambda (console)**

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

1. Choisissez le nom de votre fonction Lambda.

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)**, procédez comme suit :

   1. Choisissez le type de déclencheur **Apache Kafka**.

   1. Pour **Bootstrap servers (Serveurs d’amorçage)**, entrez l’adresse de paire hôte et port d’un agent Kafka dans votre cluster, puis choisissez **Add (Ajouter)**. Répétez l’opération pour chaque agent Kafka dans le cluster.

   1. Pour **Topic name (Nom de rubrique)**, entrez le nom de la rubrique Kafka utilisée pour stocker les registres dans le cluster.

   1. 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.

   1. (Facultatif) Pour **Batch size (Taille de lot)**, entrez le nombre maximal de registres à recevoir dans un même lot.

   1. Pour **Batch window**, veuillez saisir l’intervalle de temps maximal en secondes nécessaire à Lambda pour collecter des enregistrements avant d’invoquer la fonction.

   1. (Facultatif) Pour **l’identifiant de groupe de consommateurs**, entrez l’identifiant d’un groupe de consommateurs Kafka à rejoindre.

   1. (Facultatif) Pour **Position de départ**, choisissez **Dernier** pour commencer à lire le flux à partir du dernier enregistrement, **Supprimer l’horizon** pour commencer au premier enregistrement disponible ou **À l’horodatage** pour spécifier un horodatage à partir duquel commencer la lecture.

   1. (Facultatif) Pour **VPC**, choisissez l’Amazon VPC pour votre cluster Kafka. Ensuite, choisissez le **VPC subnets (Sous-réseaux VPC)** et les **VPC security groups (Groupes de sécurité VPC)**.

      Ce paramètre est requis si seuls des utilisateurs au sein de votre VPC accèdent à vos courtiers.

      

   1. (Facultatif) Pour **Authentication (Authentification)**, choisissez **Add (Ajouter)**, puis procédez comme suit :

      1. Choisissez le protocole d’accès ou d’authentification des courtiers Kafka dans votre cluster.
         + Si votre broker Kafka utilise l' SASL/PLAIN authentification, choisissez **BASIC\$1AUTH**.
         + Si votre courtier utilise SASL/SCRAM l'authentification, choisissez l'un des **SASL\$1SCRAM**protocoles.
         + Si vous configurez l’authentification mTLS, choisissez le protocole **CLIENT\$1CERTIFICATE\$1TLS\$1AUTH**.

      1. Pour l' SASL/SCRAM authentification mTLS, choisissez la clé secrète de Secrets Manager qui contient les informations d'identification de votre cluster Kafka.

   1. (Facultatif) Pour **Encryption (Chiffrement)**, choisissez le secret Secrets Manager contenant le certificat d’autorité de certification racine que vos courtiers Kafka utilisent pour le chiffrement TLS, si vos courtiers Kafka utilisent des certificats signés par une autorité de certification privée.

      Ce paramètre s'applique au chiffrement TLS pour SASL/SCRAM ou SASL/PLAIN, ainsi qu'à l'authentification MTLS.

   1. Pour créer le déclencheur dans un état désactivé pour le test (recommandé), désactivez **Enable trigger** (Activer le déclencheur). Ou, pour activer le déclencheur immédiatement, sélectionnez**Activer un déclencheur**.

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

## Ajout d’un cluster Kafka autogéré (AWS CLI)
<a name="kafka-esm-cli"></a>

Utilisez les exemples de AWS CLI commandes suivants pour créer et afficher un déclencheur Apache Kafka autogéré pour votre fonction Lambda.

### Utilisation de SASL/SCRAM
<a name="kafka-esm-cli-create"></a>

Si les utilisateurs de Kafka accèdent à vos courtiers Kafka via Internet, spécifiez le secret du Gestionnaire de Secrets que vous avez créé pour SASL/SCRAM l'authentification. L'exemple suivant utilise la [create-event-source-mapping](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-event-source-mapping.html) AWS CLI commande pour mapper une fonction Lambda nommée `my-kafka-function` à une rubrique Kafka nommée. `AWSKafkaTopic`

```
aws lambda create-event-source-mapping \ 
  --topics AWSKafkaTopic \
  --source-access-configuration Type=SASL_SCRAM_512_AUTH,URI=arn:aws:secretsmanager:us-east-1:111122223333:secret:MyBrokerSecretName \
  --function-name arn:aws:lambda:us-east-1:111122223333:function:my-kafka-function \
  --self-managed-event-source '{"Endpoints":{"KAFKA_BOOTSTRAP_SERVERS":["abc3.xyz.com:9092", "abc2.xyz.com:9092"]}}'
```

### Utilisation d’un VPC
<a name="kafka-esm-cli-create-vpc"></a>

Si seuls des utilisateurs de Kafka au sein de votre VPC accèdent à vos agents Kafka, vous devez spécifier votre VPC, vos sous-réseaux et votre groupe de sécurité de VPC. L'exemple suivant utilise la [create-event-source-mapping](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-event-source-mapping.html) AWS CLI commande pour mapper une fonction Lambda nommée `my-kafka-function` à une rubrique Kafka nommée. `AWSKafkaTopic`

```
aws lambda create-event-source-mapping \ 
  --topics AWSKafkaTopic \
  --source-access-configuration '[{"Type": "VPC_SUBNET", "URI": "subnet:subnet-0011001100"}, {"Type": "VPC_SUBNET", "URI": "subnet:subnet-0022002200"}, {"Type": "VPC_SECURITY_GROUP", "URI": "security_group:sg-0123456789"}]' \
  --function-name arn:aws:lambda:us-east-1:111122223333:function:my-kafka-function \
  --self-managed-event-source '{"Endpoints":{"KAFKA_BOOTSTRAP_SERVERS":["abc3.xyz.com:9092", "abc2.xyz.com:9092"]}}'
```

### Affichage de l'état à l'aide du AWS CLI
<a name="kafka-esm-cli-view"></a>

L'exemple suivant utilise la [get-event-source-mapping](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/get-event-source-mapping.html) AWS CLI commande pour décrire l'état du mappage des sources d'événements que vous avez créé.

```
aws lambda get-event-source-mapping
              --uuid dh38738e-992b-343a-1077-3478934hjkfd7
```