Objectifs d'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 d'Amazon EventBridge Pipes

Vous pouvez envoyer les données de votre canal à une cible spécifique. Vous pouvez configurer les cibles suivantes lors de la configuration d'un canal 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 pour invoquer un événement spécifique. API EventBridge utilise le PipeTargetParameterspour spécifier les informations qui lui sont envoyéesAPI. Tel est le cas des éléments suivants :

  • APIdestinations (Les données envoyées à une API destination doivent correspondre à la structure duAPI. Vous devez utiliser l'InputTemplateobjet 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 le InputTemplate.)

  • APIPasserelle (Les données envoyées à API Gateway doivent correspondre à la structure duAPI. Vous devez utiliser l'InputTemplateobjet 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 le InputTemplate.)

  • PipeTargetRedshiftDataParameters(clusters de données API 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 (*)

Paramètres de chemin dynamiques

EventBridge Les paramètres cibles des tuyaux prennent en charge la syntaxe de JSON chemin dynamique facultative. Vous pouvez utiliser cette syntaxe pour spécifier JSON des chemins plutôt que des valeurs statiques (par exemple$.detail.state). La valeur entière doit être un JSON chemin, 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 JSON chemins de paramètres dynamiques est la même que lors de la transformation des entrées. 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 les champs enum, de tous les paramètres d'enrichissement et de cible de EventBridge Pipes, sauf :

Par exemple, pour définir la cible Kinesis PartitionKey d'un canal sur une clé personnalisée provenant de votre événement source, définissez le. KinesisTargetParameter PartitionKeypour :

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

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

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

Autorisations

Pour API passer des appels sur les ressources que vous possédez, EventBridge Pipes a besoin des autorisations appropriées. EventBridge PIpesutilise le IAM rôle que vous spécifiez sur le canal pour l'enrichissement et cible les appels à l'aide du IAM principalpipes.amazonaws.com.

Invocation de cibles

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

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

  • De manière asynchrone (type d'invocation 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 ne fait pas respecter l'ordre, telle qu'une SQS file d'attente Amazon 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.

AWS Batch les files d'attente de travail ciblent les spécificités

Tous les AWS Batch submitJob paramètres sont configurés explicitement avecBatchParameters, et comme tous les paramètres Pipe, ils peuvent être dynamiques en utilisant un JSON chemin vers votre charge utile d'événements entrants.

CloudWatch Spécificités des cibles du groupe de logs

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 tous les paramètres de canal, ces paramètres peuvent être dynamiques lorsque vous utilisez un JSON chemin vers la charge utile de votre événement entrant.

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

Tous les ECS runTask paramètres Amazon sont configurés de manière explicite viaEcsParameters. Comme tous les paramètres de canal, ces paramètres peuvent être dynamiques lorsque vous utilisez un JSON chemin vers la charge utile de votre événement entrant.

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

Lambda et Step Functions n'ont pas de lot. API Pour traiter des lots d'événements provenant d'une source de canal, le lot est converti en JSON tableau et transmis en 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 LiveAnalytics de la cible du tableau

Les considérations à prendre en compte lors de la spécification d'une LiveAnalytics table Timestream for comme cible de canal 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 indiqué un DynamoDB flux Kinesis ou comme source de canal, vous devez spécifier le nombre de tentatives de nouvelle tentative.

    Pour plus d'informations, voir Configuration des paramètres de canal.