本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 EventBridge 管道的目标
您可以将管道中的数据发送到特定目标。在中设置管道时,可以配置以下目标 EventBridge:
-
同一账户和区域中的事件总线
-
Firehose 传输流
-
Inspector 评估模板
-
Kinesis 流
-
Lambda 函数(同步或异步)
-
Redshift 集群数据 API 查询
-
SageMaker 管道
-
SNS 主题
-
SQS 队列
-
Step Functions 状态机
快速工作流程(同步或异步)
标准工作流程(异步)
目标参数
一些目标服务不会将事件负载发送到目标,而是将事件视为调用特定 API 的触发器。 EventBridge 使用PipeTargetParameters
来指定将哪些信息发送到该 API。这些功能包括:
-
API 目标(发送到 API 目标的数据必须与 API 的结构相匹配。 您必须使用该
InputTemplate
对象来确保数据的结构正确。 如果要包含原始事件负载,请在中引用它InputTemplate
。) -
API Gateway(发送到 API Gateway 的数据必须与 API 的结构相匹配。 您必须使用该
InputTemplate
对象来确保数据的结构正确。 如果要包含原始事件负载,请在中引用它InputTemplate
。) -
PipeTargetRedshiftDataParameters
(Amazon Redshift ft 数据 API 集群) -
PipeTargetSageMakerPipelineParameters
(亚马逊建 SageMaker 模管道) -
PipeTargetBatchJobParameters
(Amazon Batch)
注意
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.
用于 Kinesis 来源someKey
""$.body.
适用于 Amazon SQS 源someKey
"
然后,如果事件负载是有效的 JSON 字符串,例如{"
,则从 JSON 路径中 EventBridge 提取值并将其用作目标参数。在此示例中, EventBridge 会将 Kinesis 设置someKey
":"someValue
"}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 路径时,这些参数可以是动态的。