亚马逊 EventBridge 管道的目标 - Amazon EventBridge

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

亚马逊 EventBridge 管道的目标

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

目标参数

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

注意

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

  • 点表示法(例如 $.detail

  • 短划线

  • 下划线

  • 字母数字字符

  • 数组索引

  • 通配符 (*)

动态路径参数

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

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

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

  • "$.data.someKey",适用于 Kinesis 源

  • "$.body.someKey"对于亚马逊的SQS消息来源

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

权限

要API调用您拥有的资源,Pip EventBridge es 需要适当的权限。 EventBridge PIpes使用您在管道上指定的IAM角色进行扩充,并使用IAM主体来定位调用pipes.amazonaws.com

调用目标

EventBridge 有以下方法可以调用目标:

  • 同步(调用类型设置为REQUEST_RESPONSE)— EventBridge 等待目标的响应后再继续。

  • 异步(调用类型设置为FIRE_AND_FORGET)— EventBridge 不等待响应后再继续。

默认情况下,对于具有排序源的管道,会同步 EventBridge 调用目标,因为在继续下一个事件之前需要来自目标的响应。

如果某个来源(例如标准 Amazon SQS 队列)不强制执行命令,则 EventBridge 可以同步或异步调用支持的目标。

使用 Lambda 函数和 Step Functions 状态机,您可以配置调用类型。

注意

对于 Step Functions 状态机,必须异步调用标准工作流程

AWS Batch 任务队列目标细节

所有 AWS Batch submitJob参数都使用显式配置BatchParameters,与所有 Pipe 参数一样,这些参数可以使用传入事件负载的JSON路径进行动态配置。

CloudWatch 日志组目标细节

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

Amazon ECS 任务目标细节

所有 Amazon ECS runTask 参数均通过显式配置EcsParameters。与所有管道参数一样,在使用传入事件负载的JSON路径时,这些参数可以是动态的。

Lambda 函数和 Step Functions 工作流程目标的细节

Lambda 和 Step Functions 没有批处理。API要处理来自管道源的批量事件,该批次将转换为JSON数组,并作为输入传递给 Lambda 或 Step Functions 目标。有关更多信息,请参阅 Amazon Pip EventBridge es 批处理和并发

Timestream 有关 LiveAnalytics 表格目标的详细信息

将 for LiveAnalytics 表指定 Timestream 为管道目标时的注意事项包括:

  • 目前不支持 Apache Kafka 流(包括来自Amazon MSK 或第三方提供商的流)作为管道源。

  • 如果您已将 Kinesis 或 DynamoDB 流指定为管道源,则必须指定重试次数。

    有关更多信息,请参阅 配置管道设置