本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon 中的活动总线概念 EventBridge
以下是基于事件总线构建的事件驱动型架构主要组件的详细介绍。
事件总线
事件总线是接收事件并将其传送到零个或多个目的地或目标的路由器。如果您需要将事件从多个来源路由到多个目标,可使用事件总线,在将事件传送到目标之前还可以选择转换事件。
您的账户包含一个默认事件总线,该总线可自动接收来自 Amazon 服务的事件。您也可以:
-
创建其他事件总线,称为自定义事件总线,并指定它们接收哪些事件。
-
创建合作伙伴事件总线,用于接收来自 SaaS 合作伙伴的事件。
活动总线的常见使用场景包括:
-
使用事件总线作为不同工作负载、服务或系统之间的代理。
-
在应用程序中使用多条事件总线来分配事件流量。例如,创建一条总线来处理包含个人身份信息的事件 (PII),为不包含个人身份信息的事件创建另一条总线。
-
将事件从多个事件总线发送到集中式事件总线来聚合事件。该集中式总线可以与其他总线位于同一账户中,也可以位于不同的账户或区域中。
事件
简单来说, EventBridge 事件是发送到事件总线或管道的JSON对象。
在事件驱动架构 (EDA) 的背景下,事件通常代表资源或环境变化的指标。
有关更多信息,请参阅 Amazon 上的活动 EventBridge。
事件来源
EventBridge 可以接收来自事件源的事件,包括:
-
Amazon 服务
-
自定义应用程序
-
软件即服务 (SaaS) 合作伙伴
规则
规则接收传入事件,并将其发送到适当的目标进行处理。您可以指定每条规则如何调用其目标,其依据是:
-
事件模式,包含一个或多个用于匹配事件的筛选器。事件模式可以包括筛选器,匹配以下内容:
-
事件元数据 - 有关 事件的数据,例如事件源或事件来自的账户或区域。
-
事件数据 - 事件本身的属性。这些属性因事件而异。
-
事件内容 - 事件数据的实际属性值。
-
-
定期调用目标的计划。
您可以在中指定计划规则 EventBridge,也可以使用计划EventBridge 程序来指定预定规则。
注意
虽然您可以创建按计划运行的规则,但 EventBridge 现在提供了一种更灵活、更强大的方式来集中创建、运行和管理计划任务: EventBridge 调度器。使用 EventBridge 调度器,您可以使用 cron 和速率表达式为重复模式创建计划,或者配置一次性调用。您可以设置灵活的交付时间窗口,定义重试限制,并为失败的API调用设置最大保留时间。
Scheduler 是高度可定制的,与计划规则相比,它具有更高的可扩展性,具有更广泛的目标API操作和 Amazon 服务。我们建议您使用调度器按计划调用目标。
有关更多信息,请参阅 创建计划。
每条规则都是针对特定事件总线定义的,并且仅适用于该事件总线上的事件。
一条规则最多可以向五个目标发送事件。
默认情况下,每个事件总线最多可以配置 300 条规则。可以在服务限额控制台
您在创建事件总线时可以为不同的服务授予不同权限,自定义账户中各事件的接收方式。
要在将事件 EventBridge 传递到目标之前对其结构或日期进行自定义,请在信息到达目标之前使用输入转换器对其进行编辑。
有关更多信息,请参阅 Amazon 中的规则 EventBridge。
目标
目标是一种资源或端点,当事件与为规则定义的事件模式相匹配时,它会向其 EventBridge 发送事件。
一个目标可以从多个事件总线接收多个事件。
有关更多信息,请参阅 Amazon 中的事件总线目标 EventBridge 。
事件总线的高级功能
EventBridge 包括以下功能,可帮助您开发、管理和使用事件总线。
使用API目的地启用服务间的RESTAPI呼叫
EventBridge API目的地是可以设置为规则目标的HTTP终端节点,就像向 Amazon 服务或资源发送事件数据一样。通过使用API目标,您可以使用API呼叫在 Amazon 服务、集成 SaaS 应用程序和外部应用程序之间路由事件 Amazon。创建API目标时,需要指定要用于该目标的连接。每个连接都包含有关授权类型和用于向API目标终端节点进行授权的参数的详细信息。
存档和重放事件,协助开发和灾难恢复
您可以存档 或保存事件,稍后再从存档中重放这些事件。存档可用于:
-
测试应用程序,因为您有存储的事件可供使用,不必等待新事件。
-
新服务首次上线时为其注入数据。
-
增加您的事件驱动型应用程序的持久性。
使用架构注册表快速开始创建事件模式
在构建使用的无服务器应用程序时 EventBridge,了解典型事件的结构而不必生成事件会很有帮助。在架构中描述了事件结构,这些架构适用于上 Amazon EventBridge服务生成的所有事件。
对于不是来自 Amazon 服务的活动,您可以:
-
创建或上传自定义架构。
-
使用 Schema Discovery EventBridge 自动为发送到事件总线的事件创建架构。
一旦您有了事件的架构,就可以下载常用编程语言的代码绑定。
使用策略管理资源和访问权限
要整理 Amazon 资源或跟踪成本 EventBridge,您可以为 Amazon 资源分配自定义标签或标签。使用基于标签的策略,您可以控制哪些资源可以在其中做什么和不能做什么。 EventBridge
除了基于标签的策略外,还 EventBridge 支持基于身份和基于资源的策略来控制访问权限。 EventBridge使用基于身份的策略可控制组、角色或用户的权限。使用基于资源的策略为每种资源授予特定权限,例如 Lambda 函数或 Amazon SNS 主题。