View a markdown version of this page

Objectifs Amazon EventBridge Pipes - Amazon EventBridge

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.

Objectifs Amazon EventBridge Pipes

Vous pouvez envoyer les données de votre canal à une cible spécifique. Vous pouvez configurer les cibles suivantes lorsque vous configurez un tuyau dans EventBridge :

Paramètres de cible

Certains services cibles n'envoient pas la charge utile de l'événement à la cible, mais traitent l'événement comme un déclencheur permettant d'invoquer une API spécifique. EventBridge utilise le PipeTargetParameters pour spécifier quelles informations sont envoyées à cette API. Cela inclut les éléments suivants :

  • Destinations d’API (Les données envoyées à une destination d’API doivent correspondre à la structure de l’API. Vous devez utiliser l’objet InputTemplate pour vous assurer que les données sont correctement structurées. Si vous souhaitez inclure la charge utile de l’événement d’origine, référencez-la dans InputTemplate.)

  • API Gateway (Les données envoyées à API Gateway doivent correspondre à la structure de l’API. Vous devez utiliser l’objet InputTemplate pour vous assurer que les données sont correctement structurées. Si vous souhaitez inclure la charge utile de l’événement d’origine, référencez-la dans InputTemplate.)

  • PipeTargetRedshiftDataParameters (clusters d’API de données Amazon Redshift)

  • PipeTargetSageMakerPipelineParameters(Pipelines de création de modèles Amazon SageMaker Runtime)

  • PipeTargetBatchJobParameters (AWS Batch)

Note

EventBridge ne prend pas en charge toutes les syntaxes JSON Path et ne l'évalue pas lors de l'exécution. La syntaxe prise en charge inclut :

  • notation par points (par exemple, $.detail)

  • tirets

  • traits de soulignement

  • caractères alphanumériques

  • index de tableau

  • caractères génériques (*)

  • barres obliques vers l'avant

Paramètres de chemin dynamiques

EventBridge Les paramètres cibles des tubes prennent en charge la syntaxe de chemin JSON dynamique facultative. Vous pouvez utiliser cette syntaxe pour spécifier des chemins JSON au lieu de valeurs statiques (par exemple, $.detail.state). La valeur entière doit être un chemin JSON, pas seulement une partie de celui-ci. Par exemple, RedshiftParameters.Sql peut avoir la valeur $.detail.state, mais pas la valeur "SELECT * FROM $.detail.state". Ces chemins sont remplacés de manière dynamique lors de l’exécution par des données provenant de la charge utile de l’événement elle-même au niveau du chemin spécifié. Les paramètres de chemin dynamiques ne peuvent pas faire référence à des valeurs nouvelles ou transformées résultant d’une transformation d’entrée. La syntaxe prise en charge pour les chemins JSON de paramètres dynamiques est la même que lors de la transformation d’une entrée. Pour plus d’informations, consultez Transformation EventBridge des entrées Amazon Pipes.

La syntaxe dynamique peut être utilisée sur tous les champs de chaîne, autres que ceux d'énumération, de tous les paramètres d'enrichissement et de cible de EventBridge Pipes, sauf :

Par exemple, pour définir la cible PartitionKey d'un tube Kinesis sur une clé personnalisée à partir de votre événement source, définissez la valeur sur KinesisTargetParameter.PartitionKey  :

  • "$.data.someKey" pour une source Kinesis

  • "$.body.someKey" pour une source Amazon SQS

Ensuite, si la charge utile de l'événement est une chaîne JSON valide, par exemple{"someKey":"someValue"}, EventBridge extrait la valeur du chemin JSON et l'utilise comme paramètre cible. Dans cet exemple, EventBridge définirait le Kinesis PartitionKey sur « someValue ».

Permissions

Pour effectuer des appels d'API sur les ressources que vous possédez, EventBridge Pipes a besoin des autorisations appropriées. EventBridge PIPES utilise le rôle IAM que vous spécifiez sur le canal pour l'enrichissement et les appels cibles à l'aide du principal IAM. pipes.amazonaws.com

Invocation de cibles

EventBridge propose les méthodes suivantes pour invoquer une cible :

  • Synchrone (type d'appel défini surREQUEST_RESPONSE) : EventBridge attend une réponse de la cible avant de continuer.

  • Asynchrone (type d'appel défini surFIRE_AND_FORGET) : EventBridge n'attend pas de réponse avant de continuer.

Par défaut, pour les canaux dont les sources sont ordonnées, EventBridge invoque les cibles de manière synchrone car une réponse de la cible est nécessaire avant de passer à l'événement suivant.

Si une source n'applique pas l'ordre, comme une file d'attente Amazon SQS standard, elle EventBridge peut invoquer une cible prise en charge de manière synchrone ou asynchrone.

Avec les fonctions Lambda et les machines d’état Step Functions, vous pouvez configurer le type d’invocation.

Note

Pour les machines d’état Step Functions, les flux de travaux standard doivent être invoqués de manière asynchrone.

Limites de taille de charge utile

EventBridge Pipes prend en charge des charges utiles allant jusqu'à 6 Mo. Cependant, la limite de taille de charge utile effective est déterminée par la valeur la plus faible : la limite de 6 Mo de canaux ou la taille de charge utile maximale du service cible. Par exemple :

  • Les fonctions Lambda prennent en charge des charges utiles allant jusqu'à 6 Mo. La limite effective pour un tube ciblant Lambda est donc de 6 Mo.

  • EventBridge les bus d'événements prennent en charge des charges utiles allant jusqu'à 1 Mo, de sorte que la limite effective pour un canal ciblant un bus d'événements est de 1 Mo.

  • Les machines d'état Step Functions prennent en charge des charges utiles allant jusqu'à 256 Ko. La limite effective pour un tube ciblant Step Functions est donc de 256 Ko.

Lorsque vous configurez votre tube, assurez-vous que la taille de votre charge utile, y compris les transformations appliquées par enrichissement ou transformation d'entrée, ne dépasse pas la taille de charge utile maximale de la cible.

AWS Batch spécificités des cibles des files d'attente de tâches

Tous les AWS Batch submitJob paramètres sont configurés explicitement avec etBatchParameters, comme pour tous les paramètres Pipe, ils peuvent être dynamiques à l'aide d'un chemin JSON vers la charge utile de votre événement entrant.

CloudWatch Enregistre les spécificités des groupes cibles

Que vous utilisiez un transformateur d’entrée ou non, la charge utile de l’événement est utilisée comme message du journal. Vous pouvez définir Timestamp (ou le nom explicite LogStreamName de votre destination) via CloudWatchLogsParameters dans PipeTarget. Comme pour tous les paramètres de canal, ces paramètres peuvent être dynamiques en utilisant un chemin JSON pointant vers la charge utile de votre événement entrant.

Spécificités de la cible des tâches Amazon ECS

Tous les paramètres runTask Amazon ECS sont configurés de manière explicite via EcsParameters. Comme pour tous les paramètres de canal, ces paramètres peuvent être dynamiques en utilisant un chemin JSON pointant vers la charge utile de votre événement entrant.

Spécificités de la cible du flux de travail des fonctions Lambda et Step Functions

Lambda et Step Functions ne disposent pas d’une API par lots. Pour traiter des lots d’événements provenant d’une source de canal, le lot est converti en tableau JSON et transmis en tant qu’entrée à la cible Lambda ou Step Functions. Pour plus d’informations, consultez Traitement par lots et simultanéité d'Amazon EventBridge Pipes.

Timestream pour les détails des cibles du LiveAnalytics tableau

Les considérations à prendre en compte lors de la spécification d'une LiveAnalytics table Timestream for en tant que cible de tube incluent :

  • Les flux Apache Kafka (y compris ceux provenant de Amazon MSK fournisseurs tiers) ne sont actuellement pas pris en charge en tant que source de canaux.

  • Si vous avez spécifié un DynamoDB flux Kinesis ou comme source de canal, vous devez spécifier le nombre de nouvelles tentatives.

    Pour plus d’informations, consultez Configuration des paramètres de canal.

EventBridge détails de la cible du bus événementiel

Lorsque vous configurez un bus d' EventBridge événements en tant que cible de canal, la charge utile de votre canal est automatiquement placée dans la detail section de l' EventBridge événement. PipeTargetEventBridgeEventBusParametersUtilisez-le pour configurer les événements source et detail-type les champs. Les deux champs prennent en charge la syntaxe de chemin JSON dynamique pour extraire des valeurs de la charge utile de votre événement. Par exemple, définissez Source sur $.body.source ou DetailType sur$.data.eventType. Vous pouvez également utiliser des transformateurs d'entrée pour modifier la structure de l'événement avant qu'il ne soit placé dans le detail champ. Pour plus d'informations, consultez Transformation EventBridge des entrées Amazon Pipes.