Amazon EventBridge 事件总线概念 - Amazon EventBridge

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

Amazon EventBridge 事件总线概念

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

事件总线

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

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

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

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

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

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

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

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

接收来自 AWS 服务、自定义应用程序或合作伙伴来源的事件的不同事件总线。

事件

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

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

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

事件来源

EventBridge 可以接收来自事件源的事件,包括:

  • AWS 服务

  • 自定义应用程序

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

规则

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

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

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

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

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

  • 定期调用目标的计划。

    您可以在中指定计划规则 EventBridge,也可以使用计划EventBridge 程序来指定预定规则

    注意

    EventBridge 提供 Amazon S EventBridge cheduler,这是一款无服务器计划程序,允许您通过一个中央托管服务创建、运行和管理任务。 EventBridge Scheduler 具有高度可定制性,与 EventBridge计划规则相比,它具有更高的可扩展性,具有更广泛的目标 API 操作和 AWS 服务。

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

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

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

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

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

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

有关更多信息,请参阅 亚马逊 EventBridge 规则

目标

目标是一种资源或端点,当事件与为规则定义的事件模式相匹配时,它会向其 EventBridge 发送事件。

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

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

事件总线的高级功能

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

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

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

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

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

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

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

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

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

在构建使用的无服务器应用程序时 EventBridge,了解典型事件的结构而不必生成事件会很有帮助。在架构中描述了事件结构,这些架构适用于上 AWS EventBridge服务生成的所有事件。

对于不是来自 AWS 服务的活动,您可以:

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

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

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

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

要整理 AWS 资源或跟踪其中的成本 EventBridge,您可以为 AWS 资源分配自定义标签或标签。使用基于标签的策略,您可以控制哪些资源可以在其中做什么和不能做什么。 EventBridge

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