亚马逊 EventBridge 管道的目标 - 亚马逊 EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

亚马逊 EventBridge 管道的目标

您可以将管道中的数据发送到特定目标。在中设置管道时,可以配置以下目标 EventBridge:

  • API 目标

  • API Gateway

  • Batch 作业队列

  • CloudWatch 日志组

  • ECS 任务

  • 同一账户和区域中的事件总线

  • Firehose 传输流

  • Inspector 评估模板

  • Kinesis 流

  • Lambda 函数(同步或异步)

  • Redshift 集群数据 API 查询

  • SageMaker 管道

  • SNS 主题

  • SQS 队列

  • Step Functions 状态机

    • 快速工作流程(同步或异步)

    • 标准工作流程(异步)

目标参数

一些目标服务不会将事件负载发送到目标,而是将事件视为调用特定 API 的触发器。 EventBridge 使用PipeTargetParameters来指定将哪些信息发送到该 API。这些功能包括:

注意

EventBridge 不支持所有 JSON 路径语法并在运行时对其进行评估。支持的语法包括:

  • 点符号(例如,$.detail

  • 猛冲

  • 下划线

  • 字母数字字符

  • 数组索引

  • 通配符 (*)

动态路径参数

EventBridge 管道目标参数支持可选的动态 JSON 路径语法。您可以使用此语法指定 JSON 路径而不是静态值(例如$.detail.state)。整个值必须是 JSON 路径,而不仅仅是其中的一部分。例如,RedshiftParameters.Sql可以$.detail.state但不可能"SELECT * FROM $.detail.state"。这些路径在运行时被来自指定路径的事件负载本身的数据动态替换。动态路径参数无法引用输入转换产生的新值或变换后的值。动态参数 JSON 路径支持的语法与转换输入时的语法相同。有关更多信息,请参阅亚马逊 EventBridge 管道输入转换

动态语法可用于所有 Pipes 扩展和目标参数的所有 EventBridge 字符串、非枚举字段,但以下除外:

例如,要将管道 Kinesis 目标设置为源事件中的自定义密钥,请设置KinesisTargetParameter。PartitionKey PartitionKey到:

  • "$.data.someKey"用于 Kinesis 来源

  • "$.body.someKey"适用于 Amazon SQS 源

然后,如果事件负载是有效的 JSON 字符串,例如{"someKey":"someValue"},则从 JSON 路径中 EventBridge 提取值并将其用作目标参数。在此示例中, EventBridge 会将 Kinesis 设置PartitionKey为 “s omeValue”。

权限

为了能对您拥有的资源执行 API 调用,Pi EventBridge pes 需要相应权限。 EventBridge Pipes 使用您在管道上指定的 IAM 角色进行扩充和使用 IAM 委托人进行目标调用pipes.amazonaws.com

EventBridge 管道的目标细节

Amazon Batch作业队列

所有Amazon BatchsubmitJob参数均使用明确配置BatchParameters,与所有 Pipe 参数一样,这些参数可以使用传入事件负载的 JSON 路径进行动态配置。

CloudWatch 日志组

无论您是否使用输入转换器,事件负载都用作日志消息。您可以通过CloudWatchLogsParameters中设置Timestamp(或明确LogStreamName的目的地)PipeTarget。与所有管道参数一样,当使用传入事件负载的 JSON 路径时,这些参数可以是动态的。

Amazon ECS 任务

所有 Amazon ECSrunTask 参数都是通过明确配置的EcsParameters。与所有管道参数一样,当使用传入事件负载的 JSON 路径时,这些参数可以是动态的。