Amazon EventBridge 事件總線概念 - Amazon EventBridge

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

Amazon EventBridge 事件總線概念

以下是對在事件匯流排上建置的事件驅動架構的主要元件的進一步了解。

事件匯流排

事件匯流排是接收事件並將事件傳遞至零個或多個目的地或目標的一種路由器。在您需要時使用事件匯流排將事件從許多來源路由傳送至多個目標,可選擇在傳遞至目標之前轉換事件。

您的帳戶包含預設事件匯流排,可自動接收來自 AWS 服務的事件。您也可以:

  • 建立其他事件匯流排 (稱為自訂事件匯流排),並指定它們接收的事件。

  • 建立合作夥伴事件匯流排,以接收 SaaS 合作夥伴的事件。

事件匯流排的常見使用案例包括:

  • 使用事件匯流排作為不同工作負載、服務或系統之間的代理程式。

  • 在您的應用程式中使用多個事件匯流排來劃分事件流量。例如,建立一个匯流排以處理包含個人識別資訊 (PII) 的事件,而建立另一個匯流排用於處理沒有 PII 的事件。

  • 透過將多個事件匯流排的事件傳送至集中式事件匯流排,以彙總事件。這個集中匯流排可以在與其他匯流排相同的帳戶中,也可以在不同的帳戶中。

從 AWS 服務、自訂應用程式或合作夥伴來源接收事件的不同事件匯流排。

事件

最簡單來說, EventBridge 事件是傳送至事件匯流排或管道的 JSON 物件。

在事件驅動架構 (EDA) 的前後關聯中,事件通常代表資源或環境中變更的指標。

如需詳細資訊,請參閱 Amazon EventBridge 活動

事件來源

EventBridge 可以從事件來源接收事件,包括:

  • AWS 服務

  • 自訂應用程式

  • 軟體即服務 (SaaS) 伙伴

規則

規則會接收傳入事件,並在適當的情況下將其傳送給目標以進行處理。您可以根據下列任一項指定每個規則調用其目標的方式:

  • 事件模式,其中包含一個或多個篩選器來匹配事件。事件模式可以包含符合下列項目的篩選條件:

    • 事件中繼資料:事件相關資料,例如事件來源,或事件產生的帳戶或地區。

    • 事件資料:事件本身的屬性。這些屬性會根據事件而有所不同。

    • 事件內容:事件資料的實際屬性

  • 定期調用目標的排程。

    您可以在中指定排程規則 EventBridge,也可以使用「EventBridge 排程器」來指定。

    注意

    EventBridge 提供 Amazon EventBridge Scheduler,這是一種無伺服器排程器,可讓您從單一中央受管服務建立、執行和管理任務。 EventBridge Scheduler 具有高度可自訂性,並提供比 EventBridge排程規則改善的可擴充性,並提供更廣泛的目標 API 作業和 AWS 服務。

    我們建議您使用 EventBridge 排程器依排程叫用目標。如需詳細資訊,請參閱 使用 Amazon EventBridge 排程器搭配 Amazon EventBridge

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

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

根據預設,每個事件匯流排最多可以設定 300 個規則。此配額可以在 Service Quotas 主控台中提高到數千個規則。由於規則限制適用於每個匯流排,因此如果您需要更多規則,您可以在帳戶中建立其他自訂事件匯流排。

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

若要在將事件 EventBridge 傳送至目標之前自訂事件的結構或日期,請使用輸入轉換器在進入目標之前編輯資訊。

如需詳細資訊,請參閱 Amazon EventBridge 規則

目標

目標是一種資源或端點,當事件符合為規則定義的事件模式時,會將事件 EventBridge 傳送至該資源或端點。

目標可以從多個事件匯流排接收多個事件。

如需詳細資訊,請參閱 Amazon EventBridge 目標

事件匯流排的進階功能

EventBridge 包含下列功能,可協助您開發、管理和使用事件匯流排。

使用 API 目的地啟用服務之間的 REST API 呼叫

EventBridge API 目標是您可以設定為規則目標的 HTTP 端點,方式與將事件資料傳送至 AWS 服務或資源的方式相同。透過使用 API 目的地,您可以使用 API 呼叫,在 AWS 服務、整合式 SaaS 應用程式和 AWS外部的應用程式之間路由事件。當您建立 API 目的地時,您可以指定要用於該目的地的連線。每個連線都包含授權類型的詳細資料,以及用於授權 API 目的地端點的參數。

封存和重播事件以協助開發和災難復原

您可以封存或儲存事件,然後稍後從封存中重新執行這些事件。封存可用於:

  • 測試應用程式,因為您有要使用的事件存放區,而不必等待新事件。

  • 注水一個新的服務,當它第一次上線。

  • 為事件驅動的應用程式增加更多耐用性。

使用結構描述登錄檔來快速啟動事件模式建立

當您建置使用的無伺服器應用程式時 EventBridge,瞭解典型事件的結構可能會很有幫助,而不必產生事件。事件結構描述在結描述中,這些結構描述適用於 AWS 服務在上產生的所有事件 EventBridge。

對於不是來自 AWS 服務的事件,您可以:

  • 建立或上傳自訂結構描述。

  • 使用結構描述探索可為傳送至事件匯流排的事件 EventBridge 自動建立結構描述。

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

透過政策管理資源與存取

若要組織 AWS 資源或追蹤成本 EventBridge,您可以將自訂標籤或標指派給 AWS 資源。使用基於標籤的策略,您可以控制哪些資源可以在其中執行和不能執行 EventBridge。

除了以標籤為基礎的政策之外,還 EventBridge 支援以身分識別為基礎和以資源為基的政策來控制存取。 EventBridge使用以身分識別為基礎的政策來控制群組、角色或使用者的權限。使用以資源為基礎的政策為每個資源提供特定許可,例如 Lambda 函數或 Amazon SNS 主題。