Amazon EventBridge 事件总线概念 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon EventBridge 事件总线概念

以下是基于事件总线构建的事件驱动型架构主要组件的详细介绍。

事件总线

事件总线是接收事件并将其传送到零个或多个目的地或目标的路由器。如果您需要将事件从多个来源路由到多个目标,可使用事件总线,在将事件传送到目标之前还可以选择转换事件。

您的账户包含一个默认事件总线,可自动接收来自 Amazon 服务的事件。您也可以:

  • 创建其他事件总线,称为自定义事件总线,并指定它们接收哪些事件。

  • 创建合作伙伴事件总线,用于接收来自 SaaS 合作伙伴的事件。

活动总线的常见使用场景包括:

  • 使用事件总线作为不同工作负载、服务或系统之间的代理。

  • 在应用程序中使用多条事件总线来分配事件流量。例如,创建一条总线来处理包含个人身份信息 (PII) 的事件,创建另一条总线来处理其他事件。

  • 将事件从多个事件总线发送到集中式事件总线来聚合事件。该集中式总线可以与其他总线位于同一账户中,也可以位于不同的账户或区域中。

alt_text

事件

简单来说,EventBridge 事件是发送到事件总线或管道的 JSON 对象。

在事件驱动型架构 (EDA) 的背景下,事件通常代表资源或环境中发生变化的指标。

有关更多信息,请参阅亚马逊 EventBridge 活动

事件来源

EventBridge 可以接收来自以下事件源的事件:

  • Amazon 服务

  • 自定义应用程序

  • 软件即服务 (SaaS) 合作伙伴

规则

规则接收传入事件,并将其发送到适当的目标进行处理。您可以指定每条规则如何调用其目标,其依据是:

  • 事件模式,包含一个或多个用于匹配事件的筛选器。事件模式可以包括筛选器,匹配以下内容:

    • 事件元数据 - 有关 事件的数据,例如事件源或事件来自的账户或区域。

    • 事件数据 - 事件本身的属性。这些属性因事件而异。

    • 事件内容 - 事件数据的实际属性

  • 定期调用目标的计划。

    您可以在 EventBridge 中指定计划规则,也可以使用 EventBridge 调度器

    注意

    EventBridge 提供的 Amazon EventBridge 调度器是无服务器调度器,使您能够通过中央托管服务创建、运行和管理任务。EventBridge 调度器具有高度可定制性,与 EventBridge 计划规则相比,可扩展性更高,目标 API 操作和 Amazon 服务范围更广。

    建议您使用 EventBridge 调度器按计划调用目标。有关更多信息,请参阅将 Amazon EventBridge 调度器与 Amazon EventBridge 结合使用

每条规则都是针对特定事件总线定义的,并且仅适用于该事件总线上的事件。

一条规则最多可以向五个目标发送事件。

默认情况下,每个事件总线最多可以配置 300 条规则。可以在服务限额控制台中将此配额提高到数千条规则。由于规则限制适用于每条总线,如果您需要更多规则,则可以在您的账户中创建其他自定义事件总线。

您在创建事件总线时可以为不同的服务授予不同权限,自定义账户中各事件的接收方式。

要在 EventBridge 将事件传递给目标之前自定义事件的结构或日期,请在将信息传送到目标之前使用输入转换器对其进行编辑。

有关更多信息,请参阅Amazon EventBridge 规则

目标

目标是一个资源或端点,当事件与规则中定义的事件模式匹配时,EventBridge 会向目标发送该事件。

一个目标可以从多个事件总线接收多个事件。

有关更多信息,请参阅亚马逊的 EventBridge 目标

事件总线的高级功能

EventBridge 包含以下功能,可帮助您开发、管理和使用事件总线。

使用 API 目标在服务之间启用 REST API 调用

EventBridge API 目标 是可以设为规则目标的 HTTP 端点,与将事件数据发送到 Amazon 服务或资源的方式相同。使用 API 目标,您可以通过 API 调用在 Amazon 服务、集成的 SaaS 应用程序和 Amazon 外部的应用程序之间路由事件。创建 API 目标时,要指定用于该目标的连接。每个连接都包括向 API 目标端点授权的授权类型和要使用参数的详细信息。

存档和重放事件,协助开发和灾难恢复

您可以存档 或保存事件,稍后再从存档中重放这些事件。存档可用于:

  • 测试应用程序,因为您有存储的事件可供使用,不必等待新事件。

  • 新服务首次上线时为其注入数据。

  • 增加您的事件驱动型应用程序的持久性。

使用架构注册表快速开始创建事件模式

在构建使用 EventBridge 的无服务器应用程序时,无需生成事件即可了解典型事件的结构会很有帮助。事件结构在架构中描述,EventBridge 中 Amazon 服务生成的所有事件都有架构。

如果事件并不来自 Amazon 服务,您可以:

  • 创建或上传自定义架构。

  • 使用架构发现让 EventBridge 自动为发送到事件总线的事件创建架构。

一旦您有了事件的架构,就可以下载常用编程语言的代码绑定。

使用策略管理资源和访问权限

要在 EventBridge 中组织 Amazon 资源或跟踪成本,您可以为 Amazon 资源分配自定义标记,也称为标签。使用基于标签的策略,您可以控制在 EventBridge 中资源可以做什么和不能做什么。

除了基于标签的策略外,EventBridge 还支持基于身份基于资源的策略,来控制对 EventBridge 的访问。使用基于身份的策略可控制组、角色或用户的权限。使用基于资源的策略可为每种资源授予特定权限,例如 Lambda 函数或 Amazon SNS 主题。