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

CreateEventSourceMapping

Crée un mappage entre une source d’événement et une fonction AWS Lambda. Lambda lit les éléments à partir de la source d’événements et invoque la fonction.

Pour en savoir plus sur la procédure à suivre pour configurer différentes sources d’événements, consultez les rubriques suivantes.

Les options de gestion des erreurs suivantes ne sont disponibles que pour les sources de flux (DynamoDB et Kinesis) :

  • BisectBatchOnFunctionError – Si la fonction renvoie une erreur, fractionner le lot en deux, puis réessayer.

  • DestinationConfig – Envoyer les enregistrements ignorés à une file d’attente Amazon SQS ou à une rubrique Amazon SNS.

  • MaximumRecordAgeInSeconds – Ignorer les enregistrements plus anciens que l’âge spécifié. La valeur par défaut est infinie (-1). Lorsque la valeur est infinie (-1), les enregistrements qui ont échoué sont réessayés jusqu’à ce que l’enregistrement expire.

  • MaximumRetryAttempts – Ignorer les enregistrements après le nombre spécifié de tentatives. La valeur par défaut est infinie (-1). Lorsque la valeur est infinie (-1), les enregistrements ayant échoué sont réessayés jusqu’à ce que l’enregistrement expire.

  • ParallelizationFactor – Traiter simultanément plusieurs lots de chaque partition.

Pour en savoir plus sur les paramètres de configuration qui s’appliquent à chaque source d’événements, consultez les rubriques suivantes.

Syntaxe de la demande

POST /2015-03-31/event-source-mappings/ HTTP/1.1 Content-type: application/json { "AmazonManagedKafkaEventSourceConfig": { "ConsumerGroupId": "string" }, "BatchSize": number, "BisectBatchOnFunctionError": boolean, "DestinationConfig": { "OnFailure": { "Destination": "string" }, "OnSuccess": { "Destination": "string" } }, "DocumentDBEventSourceConfig": { "CollectionName": "string", "DatabaseName": "string", "FullDocument": "string" }, "Enabled": boolean, "EventSourceArn": "string", "FilterCriteria": { "Filters": [ { "Pattern": "string" } ] }, "FunctionName": "string", "FunctionResponseTypes": [ "string" ], "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "ParallelizationFactor": number, "Queues": [ "string" ], "ScalingConfig": { "MaximumConcurrency": number }, "SelfManagedEventSource": { "Endpoints": { "string" : [ "string" ] } }, "SelfManagedKafkaEventSourceConfig": { "ConsumerGroupId": "string" }, "SourceAccessConfigurations": [ { "Type": "string", "URI": "string" } ], "StartingPosition": "string", "StartingPositionTimestamp": number, "Topics": [ "string" ], "TumblingWindowInSeconds": number }

Paramètres de demande URI

La demande n’utilise pas de paramètres URI.

Corps de la demande

Cette demande accepte les données suivantes au format JSON.

AmazonManagedKafkaEventSourceConfig

Paramètres de configuration spécifiques pour une source d’événements Amazon Managed Streaming for Apache Kafka (Amazon MSK).

Type : objet AmazonManagedKafkaEventSourceConfig

Obligatoire : non

BatchSize

Nombre maximal d’enregistrements dans chaque lot que Lambda extrait de votre flux ou file d’attente et envoie à votre fonction. Lambda transmet tous les enregistrements du lot à la fonction en un seul appel, dans la limite de charge utile pour une invocation synchrone (6 Mo).

  • Amazon Kinesis – La valeur par défaut est 100. Valeur maximum, 10 000.

  • Amazon DynamoDB Streams – La valeur par défaut est 100. Valeur maximum, 10 000.

  • Amazon Simple Queue Service – La valeur par défaut est 10. Pour les files d’attente standard, le maximum est de 10 000. Pour les files d’attente FIFO, le maximum est de 10.

  • Amazon Managed Streaming for Apache Kafka – La valeur par défaut est 100. Valeur maximum, 10 000.

  • Apache Kafka Autogéré – La valeur par défaut est 100. Valeur maximum, 10 000.

  • Amazon MQ (ActiveMQ et RabbitMQ) – La valeur par défaut est 100. Valeur maximum, 10 000.

  • DocumentDB – Valeur par défaut 100. Valeur maximum, 10 000.

Type : entier

Plage valide : Valeur minimum de 1. Valeur maximum de 10 000.

Obligatoire : non

BisectBatchOnFunctionError

(Flux Kinesis et DynamoDB uniquement) Si la fonction renvoie une erreur, partagez le lot en deux et recommencez.

Type : booléen

Obligatoire : non

DestinationConfig

(Kinesis, DynamoDB Streams, Amazon MSK et Kafka autogéré uniquement) Objet de configuration qui spécifie la destination d’un événement après son traitement par Lambda.

Type : objet DestinationConfig

Obligatoire : non

DocumentDBEventSourceConfig

Paramètres de configuration spécifiques pour une source d’événement DocumentDB.

Type : objet DocumentDBEventSourceConfig

Obligatoire : non

Enabled

Si la valeur est sur VRAI, le mappage de source d’événement est actif. Si la valeur est sur FAUX, Lambda interrompt l’interrogation et l’invocation.

Valeur par défaut : VRAI

Type : booléen

Obligatoire : non

EventSourceArn

Amazon Resource Name (ARN) de la source d’événement.

  • Amazon Kinesis – ARN du flux de données ou d’un consommateur de flux.

  • Amazon DynamoDB Streams – ARN du flux.

  • Amazon Simple Queue Service – ARN de la file d’attente.

  • Amazon Managed Streaming for Apache Kafka — L’ARN du cluster ou l’ARN de la connexion VPC (pour les mappages de sources d’événements entre comptes).

  • Amazon MQ – L’ARN de l’agent.

  • Amazon DocumentDB – ARN du flux de modifications DocumentDB.

Type : chaîne

Modèle : arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

Obligatoire : non

FilterCriteria

Un objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour plus d’informations, consultez la section Filtrage des événements Lambda.

Type : objet FilterCriteria

Obligatoire : non

FunctionName

Nom de la fonction Lambda.

Formats de nom
  • Nom de fonctionMyFunction.

  • ARN de fonctionarn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • ARN de version ou d’aliasarn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • ARN partiel123456789012:function:MyFunction.

Contrainte de longueur qui s’applique uniquement à l’ARN complet. Si vous spécifiez uniquement le nom de la fonction, ce dernier est limité à 64 caractères.

Type : chaîne

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 140.

Modèle : (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Obligatoire : oui

FunctionResponseTypes

(Flux Kinesis, DynamoDB et Amazon SQS) Liste des énumérations de type de réponse en cours appliquées au mappage des sources d’événements.

Type : tableau de chaînes

Membres du tableau : nombre minimum de 0 élément. Nombre maximum de 1 élément.

Valeurs valides : ReportBatchItemFailures

Obligatoire : non

MaximumBatchingWindowInSeconds

L’intervalle de temps maximal (en secondes) pour collecter des enregistrements avant d’invoquer la fonction. Vous pouvez configurer MaximumBatchingWindowInSeconds à n’importe quelle valeur comprise entre 0 et 300 secondes par incréments de secondes.

Pour les flux et les sources d’événements Amazon SQS : la fenêtre de traitement par lot par défaut est de 0 seconde. Pour les sources d’événements Amazon MSK, Apache Kafka autogérées, Amazon MQ et DocumentDB : la fenêtre de traitement par lots par défaut est de 500 ms. Parce que vous ne pouvez que changer MaximumBatchingWindowInSeconds par incréments de secondes, vous ne pouvez pas revenir à la fenêtre de traitement par lots par défaut de 500 ms après l’avoir modifiée. Pour restaurer la fenêtre de traitement par lots par défaut, vous devez créer un mappage de source d’événement.

Paramètre associé : Pour les flux et les sources d’événements Amazon SQS, lorsque vous définissez BatchSize sur une valeur supérieure à 10, vous devez définir MaximumBatchingWindowInSeconds sur une valeur égale ou supérieure à 1.

Type : entier

Plage valide : Valeur minimum de 0. Valeur maximum de 300.

Obligatoire : non

MaximumRecordAgeInSeconds

(Flux Kinesis et DynamoDB uniquement) Ignore les enregistrements plus anciens que l’âge spécifié. La valeur par défaut est infinie (-1).

Type : entier

Plage valide : Valeur minimum de -1. Valeur maximum de 604 800.

Obligatoire : non

MaximumRetryAttempts

(Flux Kinesis et DynamoDB uniquement) Ignore les enregistrements après le nombre de tentatives spécifié. La valeur par défaut est infinie (-1). Lorsque la valeur est infinie (-1), les enregistrements ayant échoué sont réessayés jusqu’à ce que l’enregistrement expire.

Type : entier

Plage valide : Valeur minimum de -1. Valeur maximum de 10 000.

Obligatoire : non

ParallelizationFactor

(Flux Kinesis et DynamoDB uniquement) Nombre de lots à traiter simultanément à partir de chaque partition.

Type : entier

Plage valide : Valeur minimum de 1. Valeur maximum de 10.

Obligatoire : non

Queues

(MQ) Nom de la file d’attente de destination du broker Amazon MQ à consommer.

Type : tableau de chaînes

Membres du tableau : nombre fixe de 1 élément.

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 1 000.

Modèle : [\s\S]*

Obligatoire : non

ScalingConfig

(Amazon SQS uniquement) Configuration de dimensionnement pour la source de l’événement. Pour plus d’informations, consultez Configuration de la simultanéité maximale pour les sources d’événements Amazon SQS.

Type : objet ScalingConfig

Obligatoire : non

SelfManagedEventSource

Cluster Apache Kafka autogéré émetteur des enregistrements.

Type : objet SelfManagedEventSource

Obligatoire : non

SelfManagedKafkaEventSourceConfig

Paramètres de configuration spécifiques pour une source d’événement Apache Kafka autogérée.

Type : objet SelfManagedKafkaEventSourceConfig

Obligatoire : non

SourceAccessConfigurations

Tableau des protocoles d’authentification ou des composants VPC requis pour sécuriser votre source d’événement.

Type : tableau d’objets SourceAccessConfiguration

Membres du tableau : nombre minimum de 0 élément. Nombre maximum de 22 éléments.

Obligatoire : non

StartingPosition

Position de début de la lecture dans le flux. Obligatoire pour les sources d’événements Amazon Kinesis et Amazon DynamoDB Stream. AT_TIMESTAMP est pris en charge uniquement pour les flux Amazon Kinesis, Amazon DocumentDB, Amazon MSK et Apache Kafka autogéré.

Type : chaîne

Valeurs valides : TRIM_HORIZON | LATEST | AT_TIMESTAMP

Obligatoire : non

StartingPositionTimestamp

Avec StartingPosition défini sur AT_TIMESTAMP, l’heure à partir de laquelle doit commencer la lecture, en secondes au format horaire Unix. StartingPositionTimestamp ne peut pas se situer dans le futur.

Type : Timestamp

Obligatoire : non

Topics

Nom de la rubrique Kafka.

Type : tableau de chaînes

Membres du tableau : nombre fixe de 1 élément.

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 249.

Modèle : ^[^.]([a-zA-Z0-9\-_.]+)

Obligatoire : non

TumblingWindowInSeconds

(Flux Kinesis et DynamoDB uniquement) Durée en secondes d’une fenêtre de traitement pour les sources d’événement des flux DynamoDB et Kinesis. Une valeur de 0 seconde indique qu’il n’y a pas de fenêtre à bascule.

Type : entier

Plage valide : Valeur minimum de 0. Valeur maximum de 900.

Obligatoire : non

Syntaxe de la réponse

HTTP/1.1 202 Content-type: application/json { "AmazonManagedKafkaEventSourceConfig": { "ConsumerGroupId": "string" }, "BatchSize": number, "BisectBatchOnFunctionError": boolean, "DestinationConfig": { "OnFailure": { "Destination": "string" }, "OnSuccess": { "Destination": "string" } }, "DocumentDBEventSourceConfig": { "CollectionName": "string", "DatabaseName": "string", "FullDocument": "string" }, "EventSourceArn": "string", "FilterCriteria": { "Filters": [ { "Pattern": "string" } ] }, "FunctionArn": "string", "FunctionResponseTypes": [ "string" ], "LastModified": number, "LastProcessingResult": "string", "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "ParallelizationFactor": number, "Queues": [ "string" ], "ScalingConfig": { "MaximumConcurrency": number }, "SelfManagedEventSource": { "Endpoints": { "string" : [ "string" ] } }, "SelfManagedKafkaEventSourceConfig": { "ConsumerGroupId": "string" }, "SourceAccessConfigurations": [ { "Type": "string", "URI": "string" } ], "StartingPosition": "string", "StartingPositionTimestamp": number, "State": "string", "StateTransitionReason": "string", "Topics": [ "string" ], "TumblingWindowInSeconds": number, "UUID": "string" }

Eléments de réponse

Si l’action aboutit, le service renvoie une réponse HTTP 202.

Les données suivantes sont renvoyées au format JSON par le service.

AmazonManagedKafkaEventSourceConfig

Paramètres de configuration spécifiques pour une source d’événements Amazon Managed Streaming for Apache Kafka (Amazon MSK).

Type : objet AmazonManagedKafkaEventSourceConfig

BatchSize

Nombre maximal d’enregistrements dans chaque lot que Lambda extrait de votre flux ou file d’attente et envoie à votre fonction. Lambda transmet tous les enregistrements du lot à la fonction en un seul appel, dans la limite de charge utile pour une invocation synchrone (6 Mo).

Valeur par défaut : varie selon le service. Pour Amazon SQS, la valeur par défaut est 10. Pour tous les autres services, la valeur par défaut est 100.

Paramètre associé : lorsque vous définissez BatchSize sur une valeur supérieure à 10, vous devez définir MaximumBatchingWindowInSeconds sur une valeur égale ou supérieure à 1.

Type : entier

Plage valide : Valeur minimum de 1. Valeur maximum de 10 000.

BisectBatchOnFunctionError

(Flux Kinesis et DynamoDB uniquement) Si la fonction renvoie une erreur, partagez le lot en deux et recommencez. La valeur par défaut est false.

Type : booléen

DestinationConfig

(Kinesis, DynamoDB Streams, Amazon MSK et sources d'événements Apache Kafka autogérées uniquement) Objet de configuration qui spécifie la destination d'un événement une fois que Lambda l'a traité.

Type : objet DestinationConfig

DocumentDBEventSourceConfig

Paramètres de configuration spécifiques pour une source d’événement DocumentDB.

Type : objet DocumentDBEventSourceConfig

EventSourceArn

Amazon Resource Name (ARN) de la source d’événement.

Type : chaîne

Modèle : arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

FilterCriteria

Un objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour plus d’informations, consultez la section Filtrage des événements Lambda.

Type : objet FilterCriteria

FunctionArn

ARN de la fonction Lambda.

Type : chaîne

Modèle : arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?

FunctionResponseTypes

(Flux Kinesis, DynamoDB et Amazon SQS) Liste des énumérations de type de réponse en cours appliquées au mappage des sources d’événements.

Type : tableau de chaînes

Membres du tableau : nombre minimum de 0 élément. Nombre maximum de 1 élément.

Valeurs valides : ReportBatchItemFailures

LastModified

Date à laquelle le mappage de source d’événement a été mis à jour ou a changé d’état pour la dernière fois, exprimée en secondes au format horaire Unix.

Type : horodatage

LastProcessingResult

Résultat de la dernière invocation Lambda de votre fonction.

Type : chaîne

MaximumBatchingWindowInSeconds

L’intervalle de temps maximal (en secondes) que prend Lambda pour collecter des enregistrements avant d’invoquer la fonction. Vous pouvez configurer MaximumBatchingWindowInSeconds à n’importe quelle valeur comprise entre 0 et 300 secondes par incréments de secondes.

Pour les flux et les sources d’événements Amazon SQS : la fenêtre de traitement par lot par défaut est de 0 seconde. Pour les sources d’événements Amazon MSK, Apache Kafka autogérées, Amazon MQ et DocumentDB : la fenêtre de traitement par lots par défaut est de 500 ms. Parce que vous ne pouvez que changer MaximumBatchingWindowInSeconds par incréments de secondes, vous ne pouvez pas revenir à la fenêtre de traitement par lots par défaut de 500 ms après l’avoir modifiée. Pour restaurer la fenêtre de traitement par lots par défaut, vous devez créer un mappage de source d’événement.

Paramètre associé : Pour les flux et les sources d’événements Amazon SQS, lorsque vous définissez BatchSize sur une valeur supérieure à 10, vous devez définir MaximumBatchingWindowInSeconds sur une valeur égale ou supérieure à 1.

Type : entier

Plage valide : Valeur minimum de 0. Valeur maximum de 300.

MaximumRecordAgeInSeconds

(Flux Kinesis et DynamoDB uniquement) Ignore les enregistrements plus anciens que l’âge spécifié. La valeur par défaut est -1, qui définit l’âge maximum sur infini. Lorsque la valeur est définie sur infini, Lambda ne supprime jamais les anciens enregistrements.

Note

La valeur minimale valide pour l’âge maximal de l’enregistrement est 60 secondes. Bien que les valeurs inférieures à 60 et supérieures à -1 se situent dans la plage absolue du paramètre, elles ne sont pas autorisées

Type : entier

Plage valide : Valeur minimum de -1. Valeur maximum de 604 800.

MaximumRetryAttempts

(Flux Kinesis et DynamoDB uniquement) Ignore les enregistrements après le nombre de tentatives spécifié. La valeur par défaut est -1, qui définit le nombre maximum de nouvelles tentatives sur infini. Lorsqu'il MaximumRetryAttempts est infini, Lambda réessaie les enregistrements ayant échoué jusqu'à ce que l'enregistrement expire dans la source d'événements.

Type : entier

Plage valide : Valeur minimum de -1. Valeur maximum de 10 000.

ParallelizationFactor

(Flux Kinesis et DynamoDB uniquement) Nombre de lots de chaque partition à traiter simultanément. La valeur par défaut est 1.

Type : entier

Plage valide : Valeur minimum de 1. Valeur maximum de 10.

Queues

(Amazon MQ) Nom de la file d’attente de destination de l’agent Amazon MQ à consommer.

Type : tableau de chaînes

Membres du tableau : nombre fixe de 1 élément.

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 1 000.

Modèle : [\s\S]*

ScalingConfig

(Amazon SQS uniquement) Configuration de dimensionnement pour la source de l’événement. Pour plus d’informations, consultez Configuration de la simultanéité maximale pour les sources d’événements Amazon SQS.

Type : objet ScalingConfig

SelfManagedEventSource

Cluster Apache Kafka autogéré pour votre source d’événement.

Type : objet SelfManagedEventSource

SelfManagedKafkaEventSourceConfig

Paramètres de configuration spécifiques pour une source d’événement Apache Kafka autogérée.

Type : objet SelfManagedKafkaEventSourceConfig

SourceAccessConfigurations

Tableau du protocole d’authentification, composants VPC ou hôte virtuel pour sécuriser et définir votre source d’événement.

Type : tableau d’objets SourceAccessConfiguration

Membres du tableau : nombre minimum de 0 élément. Nombre maximum de 22 éléments.

StartingPosition

Position de début de la lecture dans le flux. Obligatoire pour les sources d’événements Amazon Kinesis et Amazon DynamoDB Stream. AT_TIMESTAMP est pris en charge uniquement pour les flux Amazon Kinesis, Amazon DocumentDB, Amazon MSK et Apache Kafka autogéré.

Type : chaîne

Valeurs valides : TRIM_HORIZON | LATEST | AT_TIMESTAMP

StartingPositionTimestamp

Avec StartingPosition défini sur AT_TIMESTAMP, l’heure à partir de laquelle doit commencer la lecture, en secondes au format horaire Unix. StartingPositionTimestamp ne peut pas se situer dans le futur.

Type : Timestamp

State

État du mappage de source d’événement. Peut être Creating, Enabling, Enabled, Disabling, Disabled, Updating ou Deleting.

Type : chaîne

StateTransitionReason

Indique si un utilisateur ou Lambda a apporté la dernière modification au mappage de source d’événement.

Type : chaîne

Topics

Nom de la rubrique Kafka.

Type : tableau de chaînes

Membres du tableau : nombre fixe de 1 élément.

Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 249.

Modèle : ^[^.]([a-zA-Z0-9\-_.]+)

TumblingWindowInSeconds

(Flux Kinesis et DynamoDB uniquement) Durée en secondes d’une fenêtre de traitement pour les sources d’événement des flux DynamoDB et Kinesis. Une valeur de 0 seconde indique qu’il n’y a pas de fenêtre à bascule.

Type : entier

Plage valide : Valeur minimum de 0. Valeur maximum de 900.

UUID

Identifiant du mappage de source d’événement.

Type : chaîne

Erreurs

Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez Erreurs courantes.

InvalidParameterValueException

L’un des paramètres dans la demande n’est pas valide.

Code d’état HTTP : 400

ResourceConflictException

La ressource existe déjà ou une autre opération est en cours.

Code d’état HTTP : 409

ResourceNotFoundException

La ressource spécifiée dans la demande n’existe pas.

Code d’état HTTP : 404

ServiceException

Le service AWS Lambda a rencontré une erreur interne.

Code d’état HTTP : 500

TooManyRequestsException

La limite de débit de demande a été dépassée. Pour plus d’informations, consultez Quotas Lambda.

Code d’état HTTP : 429

consultez aussi

Pour plus d’informations sur l’utilisation de cette API dans l’un des kits SDK AWS spécifiques au langage, consultez les ressources suivantes :