本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 Pi EventBridge pes 的目标
您可以将管道中的数据发送到特定目标。在中设置管道时,可以配置以下目标 EventBridge:
-
同一账户和区域中的事件总线
-
Firehose 传输流
-
Inspector 评估模板
-
Kinesis 流
-
Redshift 集群数据 API 查询
-
SageMaker 管道
-
Amazon SNS 主题(不支持 SNS FIFO 主题)
-
Amazon SQS 队列
-
-
快速工作流程(同步或异步)
-
标准工作流程(异步)
-
目标参数
某些目标服务不向目标发送事件负载,而是将事件视为调用特定 API 的触发器。 EventBridge 使用来指定PipeTargetParameters
向该 API 发送哪些信息。这些功能包括:
-
API 目标(发送到 API 目标的数据必须与 API 的结构相匹配。必须使用
InputTemplate
对象来确保数据的结构正确。如果要包含原始事件负载,请在InputTemplate
中引用它。) -
API Gateway(发送到 API Gateway 的数据必须与 API 的结构相匹配。必须使用
InputTemplate
对象来确保数据的结构正确。如果要包含原始事件负载,请在InputTemplate
中引用它。) -
PipeTargetRedshiftDataParameters
(Amazon Redshift 数据 API 集群) -
PipeTargetSageMakerPipelineParameters
(Amazon SageMaker 运行时模型构建管道) -
PipeTargetBatchJobParameters
(Amazon Batch)
注意
EventBridge 不支持所有 JSON Path 语法并在运行时对其进行评估。支持的语法包括:
点表示法(例如
$.detail
)短划线
下划线
字母数字字符
数组索引
通配符 (*)
动态路径参数
EventBridge 管道目标参数支持可选的动态 JSON 路径语法。您可以使用此语法指定 JSON 路径而不是静态值(例如 $.detail.state
)。整个值必须是 JSON 路径,不能仅仅是其中的一部分。例如,RedshiftParameters.Sql
可以是 $.detail.state
但不能是 "SELECT * FROM $.detail.state"
。这些路径在运行时会动态替换为来自指定路径的事件负载本身的数据。动态路径参数不能引用新值或输入转换生成的转换后的值。动态参数 JSON 路径支持的语法与转换输入时的语法相同。有关更多信息,请参阅 Amazon EventBridge Pipes 输入转换。
动态语法可用于所有 Pip EventBridge es 丰富和目标参数的所有字符串、非枚举字段和目标参数,但以下除外:
例如,要将管道 Kinesis 目标设置为源事件中的自定义密钥,请设置。PartitionKey
KinesisTargetParameter PartitionKey到:
-
"$.data.
,适用于 Kinesis 源someKey
" -
"$.body.
,适用于 Amazon SQS 源someKey
"
然后,如果事件负载是有效的 JSON 字符串(例如){"
,则从 JSON 路径中 EventBridge 提取该值并将其用作目标参数。在此示例中, EventBridge 将 Kinesis 设置为 “s someKey
":"someValue
"}om
eV PartitionKey
alue”。
权限
要对您拥有的资源进行 API 调用,Pi EventBridge pes 需要适当的权限。 EventBridge Pipes 使用您在管道上指定的 IAM 角色进行扩充和使用 IAM 委托人进行目标调用pipes.amazonaws.com
。
调用目标
EventBridge 有以下方法可以调用目标:
-
同步(调用类型设置为
REQUEST_RESPONSE
)— EventBridge 等待目标的响应后再继续。 -
异步(调用类型设置为
FIRE_AND_FORGET
)— EventBridge 不等待响应后再继续。
默认情况下,对于具有排序源的管道,会同步 EventBridge 调用目标,因为在继续下一个事件之前需要来自目标的响应。
如果源不强制执行命令,例如标准的 Amazon SQS 队列,则 EventBridge 可以同步或异步调用支持的目标。
使用 Lambda 函数和 Step Functions 状态机,您可以配置调用类型。
注意
对于 Step Functions 状态机,必须异步调用标准工作流程。