选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Amazon EventBridge 中的事件总线目标

聚焦模式
Amazon EventBridge 中的事件总线目标 - Amazon EventBridge

目标 是一个资源或端点,当事件规则中定义的事件模式匹配时,EventBridge 会向目标发送该事件。规则会处理事件数据,并将相关信息发送给目标。要将事件数据传送到目标,EventBridge 需要获得访问目标资源的权限。您最多可以为每条规则定义五个目标。

当您将目标添加到规则,之后该规则很快运行,可能不会立即调用新的或更新的目标。请稍等片刻,以便更改生效。

以下视频介绍了有关目标的基础知识:

EventBridge 控制台中可用的事件总线目标

您可以在 EventBridge 控制台中为事件配置以下目标:

目标参数

有些目标不会将事件负载中的信息发送给目标,而是将事件视为调用特定 API 的触发器。EventBridge 使用目标参数来确定目标要执行的操作。这些功能包括:

  • API 目标(发送到 API 目标的数据必须与 API 的结构相匹配。必须使用 InputTransformer 对象来确保数据的结构正确。如果要包含原始事件负载,请在 InputTransformer 中引用它。)

  • API Gateway(发送到 API Gateway 的数据必须与 API 的结构相匹配。必须使用 InputTransformer 对象来确保数据的结构正确。如果要包含原始事件负载,请在 InputTransformer 中引用它。)

  • Amazon EC2 Image Builder

  • RedshiftDataParameters(Amazon Redshift 数据 API 集群)

  • SageMakerPipelineParameters(Amazon SageMaker 运行时系统模型构建管道)

注意

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

  • 点表示法(例如 $.detail

  • 短划线

  • 下划线

  • 字母数字字符

  • 数组索引

  • 通配符 (*)

动态路径参数

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

动态语法可用于以下参数的所有字符串、非枚举字段:

权限

为了对您拥有的资源执行 API 调用,EventBridge 需要相应权限。对于 AWS Lambda 和 Amazon SNS 资源,EventBridge 使用基于资源的策略。对于 EC2 实例、Kinesis 数据流和 Step Functions 状态机,EventBridge 使用您在 PutTargets 中的 RoleARN 参数中指定的 IAM 角色。您可以使用已配置的 IAM 授权调用 API Gateway 端点,但如果您尚未配置授权,该角色是可选的。有关更多信息,请参阅 Amazon EventBridge 和 AWS Identity and Access Management

如果另一账户在同一区域中,并且已授予您权限,您可以向该账户发送事件。有关更多信息,请参阅 在 Amazon EventBridge 的 AWS 账户之间发送和接收事件

如果您的目标已加密,您必须在 KMS 密钥政策中包含以下部分。

{ "Sid": "Allow EventBridge to use the key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

作为目标的 AWS Batch 作业队列

AWS Batch submitJob 的某些参数可以通过 BatchParameters 进行配置。

其他参数可以在事件负载中指定。如果事件负载(传递或通过 InputTransformers 传递)包含以下键,它们将被映射到 submitJob 请求参数

  • ContainerOverrides: containerOverrides

    注意

    仅包括命令、环境、内存和 vCPU

  • DependsOn: dependsOn

    注意

    仅包括 jobId

  • Parameters: parameters

作为目标的 CloudWatch 日志组

如果 InputTransformer 不与 CloudWatch Logs 目标配合使用,事件负载将用作日志消息,事件源将用作时间戳。如果使用 InputTransformer,模板必须为:

{"timestamp":<timestamp>,"message":<message>}

EventBridge 会对发送到日志流的条目进行批处理;因此,根据流量,EventBridge 可能会将单个或多个事件传送到日志流。

作为目标的 CodeBuild 项目

如果您使用 InputTransformers 将输入事件塑造成目标,以匹配 CodeBuild StartBuildRequest 结构,参数将 1 对 1 映射,并传递到 codeBuild.StartBuild

作为目标的 Amazon ECS 任务

如果您使用 InputTransformers 将输入事件塑造成目标,以匹配 Amazon ECS RunTask TaskOverride 结构,参数将 1 对 1 映射,并传递到 ecs.RunTask

作为目标的 Incident Manager 响应计划

如果匹配的事件来自 CloudWatch 警报,则警报状态更改详细信息将填充到对 Incident Manager 的 StartIncidentRequest 调用的触发详细信息中。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。