Amazon EventBridge 活动巴士 - Amazon EventBridge

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

Amazon EventBridge 活动巴士

事件总线是接收事件并将其传送到零个或多个目的地或目标的路由器。事件总线非常适合将事件从多个源路由到多个目标,在将事件传送到目标之前可以选择转换事件。

源将事件发送到 EventBridge 事件总线,然后事件总线将它们路由到相应的目标。

与事件总线关联的规则会在事件到达时评估事件。每条规则都会检查事件是否与规则的模式相匹配。如果事件确实匹配,则 EventBridge 发送事件

您可以将规则与特定的事件总线相关联,使该规则仅适用于该事件总线接收的事件。

注意

您也可以使用 Pip EventBridge es 处理事件。 EventBridge 管道用于 point-to-point 集成;每个管道都接收来自单一来源的事件,用于处理和传送到单个目标。Pipes 还支持在传送到目标之前对事件进行高级转换和富集。有关更多信息,请参阅 亚马逊 Pi EventBridge pes

事件总线的工作原理

事件总线使您能够将来自多个源的事件路由到多个目的地,也称为目标

它的工作方式可概括如下:

  1. 事件源(可以是 AWS 服务、您自己的自定义应用程序或 SaaS 提供者)将事件发送到事件总线。

  2. EventBridge 然后根据为该事件总线定义的每条规则评估事件。

    对于每个与规则匹配的事件, EventBridge 然后将该事件发送到为该规则指定的目标。或者,作为规则的一部分,您还可以指定在将事件发送到目标之前 EventBridge 应如何转换事件。

    一个事件可能匹配多个规则,每个规则最多可以指定五个目标。(事件可能不符合任何规则,在这种情况下,不 EventBridge 执行任何操作。)

事件总线将事件与规则进行比较,并将匹配的事件发送到指定的目标。

举一个使用 EventBridge 默认事件总线的示例,它会自动接收来自 AWS 服务的事件:

  1. 您在默认事件总线中为 EC2 Instance State-change Notification 事件创建一条规则:

    • 您指定该规则匹配的事件是 Amazon EC2 实例的 state 更改为 running

      您可以通过指定 JSON 来实现此目的,JSON 定义触发规则的事件必须匹配的属性和值,称为事件模式

      { "source": ["aws.ec2"], "detail-type": ["EC2 Instance State-change Notification"], "detail": { "state": ["running"] } }
    • 您可以将规则的目标指定为给定的 Lambda 函数。

  2. 每当 Amazon EC2 实例更改状态时,Amazon EC2(事件源)就会自动将该事件发送到默认事件总线。

  3. EventBridge 根据您创建的规则评估发送到默认事件总线的所有事件。

    如果事件符合您的规则(也就是说,如果事件是状态更改为 Amazon EC2 实例running),则 EventBridge 会将该事件发送到指定的目标。在本例中,目标就是 Lambda 函数。

以下视频描述了什么是事件总线,并介绍了它们的一些基础知识:

以下视频介绍了不同的事件总线以及何时使用它们: