Création d’un mappage des sources 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 des sources d’événements Lambda pour une source d’événements Amazon MSK

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

Note

Lorsque vous créez le mappage des sources d’événements, Lambda crée une ENI Hyperplane 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 de la console Lambda.

  2. Choisissez le nom de la fonction Lambda pour 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 Trigger configuration (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 Nom de la rubrique, donnez un nom à la rubrique Kafka dont vous souhaitez consommer les messages.

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

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

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

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

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

  8. Sous Traitement par lots, effectuez les configurations nécessaires. Pour plus d’informations sur la mise en lots, consultez Comportement 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 Batch window, veuillez saisir le nombre maximal de secondes nécessaires à Lambda pour collecter des enregistrements avant d’invoquer la fonction.

  9. 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é.

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

  10. 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é.

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

  11. Pour Balises, saisissez les balises à 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 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'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. 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, vous n'avez pas besoin d' SourceAccessConfigurationobjet. 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