

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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) 的事件，而建立另一個匯流排用於處理沒有 PII 的事件。
+ 透過將多個事件匯流排的事件傳送至集中式事件匯流排，以彙總事件。這個集中匯流排可以在與其他匯流排相同的帳戶中，也可以在不同的帳戶中。

![從 服務、自訂應用程式或合作夥伴來源接收事件 AWS 的不同事件匯流排。](http://docs.aws.amazon.com/zh_tw/eventbridge/latest/userguide/images/bus-overview-types_eventbridge_conceptual.svg)


## 事件
<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 提供更靈活且強大的方法來集中大規模建立、執行和管理排程任務：EventBridge 排程器。使用 EventBridge 排程器，您可以使用週期性模式的 Cron 和 Rate 表達式來建立排程，或設定一次性調用。您可以設定彈性的交付時段、定義重試次數上限，以及設定失敗的 API 調用的最長保留時間。  
排程器可高度自訂，並透過更廣泛的目標 API 操作 AWS 和服務，提供比排程規則更高的可擴展性。我們建議您使用 Scheduler 來排程叫用目標。  
如需詳細資訊，請參閱 [建立排程](using-eventbridge-scheduler.md#using-eventbridge-scheduler-create)或 *[EventBridge 排程器使用者指南](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)*。

每個規則都是針對特定事件匯流排定義的，且僅適用於該事件匯流排上的事件。

單一規則最多可傳送五個目標的事件。

根據預設，每個事件匯流排最多可以設定 300 個規則。此配額可以在 [Service Quotas 主控台](https://console.aws.amazon.com/servicequotas/home)中提高到數千個規則。由於規則限制適用於每個匯流排，因此如果您需要更多規則，您可以在帳戶中建立其他自訂事件匯流排。

您可以針對不同服務建立具有不同權限的事件匯流排，以自訂在帳戶中接收事件的方式。

若要在 EventBridge 將事件傳送至目標之前自訂事件的結構或日期，請使用[輸入轉換器](eb-transform-target-input.md)在進入目標之前編輯資訊。

如需詳細資訊，請參閱[Amazon EventBridge 中的規則](eb-rules.md)。

## 目標
<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)，該結構描述可用於 EventBridge 上的 AWS 服務產生的所有事件。

對於不是來自 AWS 服務的事件，您可以：
+ 建立或上傳自訂結構描述。
+ 使用結構描述探索可讓 EventBridge 自動為傳送至事件匯流排的事件建立結構描述。

擁有事件的結構描述後，您就可以下載常用程式設計語言的程式碼繫結。

**透過政策管理資源與存取**

若要整理 AWS 資源或追蹤 EventBridge 中的成本，您可以將自訂標籤或*[標籤](eb-tagging.md)* AWS 指派給資源。使用[以標籤為基礎的政策](eb-tag-policies.md)，您可以控制 EventBridge 中可以執行和不能執行的資源。

除了以標籤為基礎的政策之外，EventBridge 還支援[以身分識別為基礎的政策](eb-use-identity-based.md)和[以資源為基礎的政策](eb-use-resource-based.md)，以控制對 EventBridge 的獲取。使用以身分識別為基礎的政策來控制群組、角色或使用者的權限。使用以資源為基礎的政策為每個資源提供特定許可，例如 Lambda 函數或 Amazon SNS 主題。