

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

# Amazon 中的活动总线概念 EventBridge
<a name="eb-what-is-how-it-works-concepts"></a>

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

## 事件总线
<a name="eb-bus-concepts-buses"></a>

事件总线是接收[事件](eb-events.md)并将其传送到零个或多个目的地或*目标*的路由器。如果您需要将事件从多个来源路由到多个目标，可使用事件总线，在将事件传送到目标之前还可以选择转换事件。

您的账户包含一个*默认事件总线，该总线*可自动接收来自 AWS 服务的事件。您也可以：
+ 创建其他事件总线，称为*自定义事件总线*，并指定它们接收哪些事件。
+ 创建*[合作伙伴事件总线](eb-saas.md)*，用于接收来自 SaaS 合作伙伴的事件。

活动总线的常见使用场景包括：
+ 使用事件总线作为不同工作负载、服务或系统之间的代理。
+ 在应用程序中使用多条事件总线来分配事件流量。例如，创建一条总线来处理包含个人身份信息 (PII) 的事件，创建另一条总线来处理其他事件。
+ 将事件从多个事件总线发送到集中式事件总线来聚合事件。该集中式总线可以与其他总线位于同一账户中，也可以位于不同的账户或区域中。

![\[接收来自 AWS 服务、自定义应用程序或合作伙伴源的事件的不同事件总线。\]](http://docs.aws.amazon.com/zh_cn/eventbridge/latest/userguide/images/bus-overview-types_eventbridge_conceptual.svg)


## Events
<a name="eb-bus-concepts-events"></a>

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

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

有关更多信息，请参阅 [Amazon 上的活动 EventBridge](eb-events.md)。

## 事件源
<a name="eb-bus-concepts-event-sources"></a>

EventBridge 可以接收来自事件源的事件，包括：
+ AWS 服务
+ 自定义应用程序
+ 软件即服务 (SaaS) 合作伙伴

## Rules
<a name="eb-bus-concepts-rules"></a>

规则接收传入事件，并将其发送到适当的目标进行处理。您可以指定每条规则如何调用其目标，其依据是：
+ [事件模式](eb-event-patterns.md)，包含一个或多个用于匹配事件的筛选器。事件模式可以包括筛选器，匹配以下内容：
  + **事件元数据** - *有关* 事件的数据，例如事件源或事件来自的账户或区域。
  + **事件数据** - 事件本身的属性。这些属性因事件而异。
  + **事件内容** - 事件数据的实际属性*值*。
+ 定期调用目标的计划。

  您可以在[中指定计划规则 EventBridge](eb-create-rule-schedule.md)，也可以使用计划[EventBridge 程序来指定预定规则](using-eventbridge-scheduler.md)。
**注意**  
计划规则是的传统功能 EventBridge。  
EventBridge提供了一种更灵活、更强大的方式来大规模集中创建、运行和管理计划任务：S EventBridge cheduler。使用 EventBridge Scheduler，您可以使用 cron 和速率表达式为重复模式创建计划，也可以配置一次性调用。您可以设置灵活的交付时间窗口、定义重试限制，并为失败的 API 调用设置最大保留时间。  
Scheduler 具有高度可定制性，与计划规则相比具有更高的可扩展性，具有更广泛的目标 API 操作和 AWS 服务。建议您使用此调度器按计划调用目标。  
有关更多信息，请参阅[创建计划](using-eventbridge-scheduler.md#using-eventbridge-scheduler-create)或《*[EventBridge 日程安排用户指南》](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)*。

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

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

默认情况下，每个事件总线最多可以配置 300 条规则。可以在[服务限额控制台](https://console.aws.amazon.com/servicequotas/home)中将此配额提高到数千条规则。由于规则限制适用于每条总线，如果您需要更多规则，则可以在您的账户中创建其他自定义事件总线。

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

要在将事件 EventBridge 传递到目标之前对其结构或日期进行自定义，请在信息到达目标之前使用[输入转换器](eb-transform-target-input.md)对其进行编辑。

有关更多信息，请参阅 [Amazon 中的规则 EventBridge](eb-rules.md)。

## Targets
<a name="eb-bus-concepts-targets"></a>

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

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

有关更多信息，请参阅 [Amazon 中的事件总线目标 EventBridge](eb-targets.md)。

## 事件总线的高级功能
<a name="eb-what-is-how-it-works-advanced"></a>

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

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

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

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

您可以*[存档](eb-archive-event.md)* 或保存事件，稍后再从存档中[重放](eb-replay-archived-event.md)这些事件。存档可用于：
+ 测试应用程序，因为您有存储的事件可供使用，不必等待新事件。
+ 新服务首次上线时为其注入数据。
+ 增加您的事件驱动型应用程序的持久性。

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

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

对于不是来自 AWS 服务的活动，您可以：
+ 创建或上传自定义架构。
+ 使用 Schema Discovery EventBridge 自动为发送到事件总线的事件创建架构。

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

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

要整理 AWS 资源或跟踪成本 EventBridge，您可以为 AWS 资源分配自定义*[标签或标签](eb-tagging.md)*。使用[基于标签的策略](eb-tag-policies.md)，您可以控制哪些资源可以在其中做什么和不能做什么。 EventBridge

除了基于标签的策略外，还 EventBridge 支持基于[身份和基于](eb-use-identity-based.md)[资源的](eb-use-resource-based.md)策略来控制访问权限。 EventBridge使用基于身份的策略可控制组、角色或用户的权限。使用基于资源的策略可为每种资源授予特定权限，例如 Lambda 函数或 Amazon SNS 主题。