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 :
-
Flux de diffusion Firehose
-
Flux Kinesis
-
Requêtes d’API relatives aux données du cluster Redshift
-
SageMaker Pipeline d'IA
-
Rubrique Amazon SNS (rubriques FIFO SNS non prises en charge)
-
File d’attente Amazon SQS
-
-
Flux de travaux express (SYNC ou ASYNC)
-
Flux de travaux standard (ASYNC)
-
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
InputTemplatepour 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 dansInputTemplate.) -
API Gateway (Les données envoyées à API Gateway doivent correspondre à la structure de l’API. Vous devez utiliser l’objet
InputTemplatepour 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 dansInputTemplate.) -
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.pour une source KinesissomeKey" -
"$.body.pour une source Amazon SQSsomeKey"
Ensuite, si la charge utile de l'événement est une chaîne JSON valide, par exemple{", EventBridge extrait la valeur du chemin JSON et l'utilise comme paramètre cible. Dans cet exemple, EventBridge définirait le Kinesis someKey":"someValue"}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 sur
REQUEST_RESPONSE) : EventBridge attend une réponse de la cible avant de continuer. -
Asynchrone (type d'appel défini sur
FIRE_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.