Création d'un mappage de source d'événements Lambda pour une source d'événements Amazon MSK - 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.

Création d'un mappage de source d'événements Lambda pour une source d'événements Amazon MSK

Pour créer un mappage de source d'événements, vous pouvez utiliser la console Lambda, la (AWS Command Line Interface CLI) ou un AWS SDK.

Note

Lorsque vous créez le mappage des sources d'événements, Lambda crée un hyperplan ENI dans le sous-réseau privé qui contient votre cluster MSK, ce qui permet à Lambda d'établir une connexion sécurisée. Cet hyperplan autorisé par l'ENI 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 de la console Lambda.

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

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

  4. Sous Configuration du déclencheur, choisissez MSK.

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

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

    2. Dans le champ Nom du sujet, entrez le nom du sujet Kafka dont vous souhaitez consulter les messages.

    3. Pour l'identifiant du groupe de consommateurs, entrez l'identifiant du groupe de consommateurs Kafka à rejoindre, le cas échéant. Pour de plus amples informations, veuillez consulter ID de groupe de consommateurs personnalisable dans Lambda.

  6. Pour l'authentification du cluster, effectuez les configurations nécessaires. Pour plus d'informations sur l'authentification du cluster, consultezConfiguration des méthodes d'authentification du cluster dans Lambda.

    • 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 la clé Secrets Manager, choisissez la clé Secrets Manager qui contient les informations d'authentification nécessaires pour accéder à votre cluster.

  7. Sous Configuration du sondeur 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 le mappage de votre source d'événements. Pour de plus amples informations, veuillez consulter Modes de mise à l'échelle des sondeurs d'événements dans Lambda.

      • Si vous configurez le mode provisionné, entrez une valeur pour Minimum Event Sollers, une valeur pour Maximum Event Sollers, ou les deux valeurs.

    • Dans Position de départ, choisissez la manière dont vous souhaitez que Lambda commence à lire à partir de votre flux. Pour de plus amples informations, veuillez consulter Positions de départ des sondages et des streams dans Lambda.

  8. Sous Traitement par lots, effectuez les configurations nécessaires. Pour plus d'informations sur le traitement par lots, consultezComportement de traitement par lots.

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

    2. Pour la fenêtre Batch, entrez le nombre maximum de secondes que Lambda passe à collecter des enregistrements avant d'appeler la fonction.

  9. Sous Filtrage, effectuez les configurations nécessaires. Pour plus d’informations sur le filtrage, veuillez consulter la rubrique Utilisation du filtrage des événements avec une source d’événement Amazon SQS.

    • Pour les 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.

  10. Sous Gestion des défaillances, effectuez les configurations nécessaires. Pour plus d'informations sur la gestion des défaillances, consultezCapture de lots supprimés pour une source d’événements Amazon MSK.

    • Pour Destination en cas d'échec, spécifiez l'ARN de votre destination en cas d'échec.

  11. Pour Tags, entrez les tags à associer à ce mappage des sources d'événements.

  12. 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-mappingcommande. L'exemple suivant crée un mappage de source d'événements pour associer la fonction Lambda my-msk-function au AWSKafkaTopic sujet, en commençant par le LATEST message. Cette commande utilise également l'SourceAccessConfigurationobjet pour demander à Lambda d'utiliser 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, incluez un SourceAccessConfigurationobjet qui le spécifie CLIENT_CERTIFICATE_TLS_AUTH et un ARN de clé Secrets Manager. Cela est illustré 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, vous n'avez pas besoin d' SourceAccessConfigurationobjet. Cela est illustré 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