分享方式:


合作夥伴的合作夥伴事件概觀 - Azure 事件方格

Event Grid 的合作夥伴事件,可讓客戶訂閱來自已註冊系統的事件,此種訂閱機制與客戶對 Azure 上其他任何的事件來源 (如 Azure 服務) 所用的機制相同。 這些與 Event Grid 整合的已註冊系統稱為「合作夥伴」。 這項功能也可以讓客戶傳送事件至合作夥伴系統,該系統支援接收事件,並將事件路由至客戶平台中的解決方案/端點。 一般而言,合作夥伴為軟體即服務 (SaaS) 或 ERP 提供者,但也可能是想要為內部小組提供事件的公司平台。 合作夥伴的目的是整合 Event Grid,實現端對端客戶使用案例,一端為 Azure (客戶訂閱合作夥伴所傳送的事件) 或合作夥伴系統 (客戶訂閱 Azure Event Grid 所傳送的 Microsoft 事件)。 客戶仰賴 Azure Event Grid 傳送由支援目的地合作夥伴發佈的事件,例如 Webhooks、Azure Functions、Azure 事件中樞或 Azure 服務匯流排等。 客戶也依賴 Azure 事件方格來路由來自 Microsoft 服務的事件,例如 Outlook、Teams 或 Microsoft Entra ID,以便客戶的解決方案可以對其做出反應。 透過合作夥伴事件,客戶就能建置跨平台和跨網路界限的事件驅動解決方案,以便可靠安全地大規模接收或傳送事件。

注意

這是一篇介紹觀念的文章,請先閱讀後再決定是否要作為 Azure Event Grid 合作夥伴上線。 如需如何使用 Azure 入口網站作為 Event Grid 合作夥伴上線的逐步指示,請參閱如何作為 Event Grid 合作夥伴上線 (Azure 入口網站)

合作夥伴事件:運作方式

身為合作夥伴,您可建立讓您能夠將事件發佈至 Azure Event Grid 的 Event Grid 資源,如此一來 Azure 上的客戶就可以訂閱這些事件。 對於大部分的合作夥伴 (例如 SaaS 提供者),這是唯一會用到的整合功能。

您也可以建立 Event Grid 資源以接收來自 Azure Event Grid 的事件。 此使用案例適用於擁有或管理平台的組織,而該平台可將端點公開令其客戶接收事件。 其中有些組織為 ERP 系統,這些組織在平台內也具有事件路由功能,可將傳入的 Azure 事件傳送給託管於其平台上的客戶應用程式。

若要發佈或接收事件,您可依照下列一般步驟建立相同類型的 Event Grid 資源

  1. 請連絡事件方格小組 (askgrid@microsoft.com),表達您有興趣成為合作夥伴。 與我們連絡後,我們會引導您進行上線流程,並協助您的服務取得我們 Azure Event Grid 資源庫的通行證,如此便能在 Azure 入口網站上找到您的服務。

  2. 建立合作夥伴註冊。 這是全域資源,您通常需要建立一次。

  3. 建立合作夥伴命名空間。 此資源會公開您可將事件發佈至 Azure 的端點。 建立合作夥伴命名空間時,請提供您建立的合作夥伴註冊。

  4. 客戶可授權您在客戶的 Azure 訂閱中建立合作夥伴主題

  5. 客戶會存取您的網頁或執行命令,您可以定義使用者體驗,以要求事件送至 Azure 的流程,或是將 Microsoft 事件接收至系統中的能力。 面對這個要求,您可設定系統以藉由客戶的輸入來執行此動作。 例如,客戶可以從您的系統選擇應轉送至 Azure 的特定事件。

  6. 使用通道,在客戶的 Azure 訂閱和資源群組中建立合作夥伴主題。 通道是合作夥伴命名空間所包含的資源。

  7. 客戶會啟用您在其 Azure 訂閱和資源群組中建立的合作夥伴主題。

  8. 開始將事件發佈到您的合作夥伴命名空間。

    注意

    您必須對您想在其中建立 Event Grid 資源的每個 Azure 訂閱,註冊 Azure Event Grid 資源提供者。 否則,建立資源的作業將會失敗。

為何應該使用合作夥伴事件?

如果您符合以下其中一項或多項需求,建議使用合作夥伴事件功能。

作為事件發行者的合作夥伴

  • 您需要可讓 Azure 客戶取得事件的機制。 您的使用者可使用其擁有和管理的合作夥伴主題和事件訂閱,來篩選和路由這些事件。 您可以使用其他整合方法,例如主題網域。 不過,這些方法無法清楚區隔您與客戶之間的資源所有權、管理和帳單。 合作夥伴事件功能也會提供更直覺的使用者體驗,讓您輕鬆探索服務。
  • 您需要簡單的多租用戶模型,以供在其中將事件發佈至單一區域端點、命名空間的端點,將事件路由至不同的客戶。
  • 您想要清楚一覽已發佈事件的相關計量。
  • 您想要針對事件使用 Cloud Events 1.0結構描述。

作為訂閱者的合作夥伴

  • 您想要讓服務能夠回應源自 Microsoft Azure 的客戶事件。
  • 您想要讓客戶使用其裝載在您平台上的應用程式,以回應 Microsoft Azure 服務事件。 您使用平台的事件路由功能,將事件傳遞給正確的客戶解決方案。
  • 您想要採取簡單的模式,讓客戶可以直接選取您的服務名稱作為目的地,而不需要用到平台端點等技術詳細資料。
  • 您的系統/平台可支援 Cloud Events 1.0 結構描述。

由合作夥伴管理的資源

身為合作夥伴,您可以管理下列類型的資源。

合作夥伴註冊

註冊會保存與合作夥伴相關的一般資訊。 建立合作夥伴命名空間時需要註冊。 也就是說,您必須擁有合作夥伴註冊,才能建立必要的 Azure 資源,進而與 Azure Event Grid 整合。

註冊是全域的。 也就是不會與特定 Azure 區域建立關聯。 您可以建立單一合作夥伴註冊,並在建立合作夥伴命名空間時使用該註冊。

通道

通道是合作夥伴命名空間的巢狀資源。 通道有兩個主要用途:

  • 這是可讓您在客戶 Azure 訂閱上建立合作夥伴資源的資源類型。 當您建立類型 partner topic 的通道時,會在客戶的 Azure 訂閱上建立合作夥伴主題。 合作夥伴主題是客戶的資源,當合作夥伴系統發佈事件時,事件會路由傳送至該資源。

    通道的生命週期與其相關聯的客戶合作夥伴主題或目的地相同。 例如刪除類型 partner topic 的通道時,也會刪除相關聯的客戶合作夥伴主題。 同理,如果客戶刪除合作夥伴主題,也會刪除您 Azure 訂閱上的相關聯通道。

  • 這是用來路由事件的資源。 類型 partner topic 的通道可用來將事件路由至客戶的合作夥伴主題, 可支援兩種類型的路由模式。

    • 通道名稱路由。 透過這種路由,您可以使用名為 aeg-channel-name 的 HTTP 標頭來發佈事件,需在其中提供事件所應路由到的通路名稱。 由於通道是合作夥伴主題的合作夥伴表示法,因此路由至通道的事件會顯示在客戶的合作夥伴主題上。 event channels 僅支援來源型路由,這種路由是其不具備的新功能。 比起來源型路由,通道名稱路由可實現更多使用案例,建議選擇使用此種路由模式。 舉例來說,使用通道名稱路由,客戶就可以要求源自不同事件來源的事件送往同一個合作夥伴主題。
    • 來源型路由。 這個路由方法是以事件中的 source 內容屬性值為基礎。 來源會對應至通道,而且當事件隨附來源時,例如值「A」,則會將該事件路由至來源屬性中包含「A」的通道所相關聯的合作夥伴主題。

    您可能想要宣告路由傳送至通道的事件類型,以及其相關聯的合作夥伴主題。 在合作夥伴主題上建立事件訂閱時,會向客戶顯示事件類型,並用以選取要傳送至事件處理常式目的地的特定事件類型。 深入了解

    重要

    可以在通道上管理事件類型,該值更新後,變更就會立即反映在相關聯的合作夥伴主題上。

合作夥伴命名空間

合作夥伴命名空間是區域資源,其具有可將事件發佈至 Azure Event Grid 的端點。 合作夥伴命名空間包含通道或事件通道 (舊版資源)。 因為通道和其對應的合作夥伴資源必須位於相同的區域,您必須在客戶要求合作夥伴主題或目的地的區域中建立合作夥伴命名空間。 舉例來說,您無法讓指定區域中的通路和其相關的合作夥伴主題位在不同的區域。

合作夥伴命名空間包含通道或事件通道。 其是由命名空間中的 partner topic routing mode 屬性所決定。 如果設定為通道名稱標頭,通道就是可在該命名空間下建立的唯一資源類型。 如果合作夥伴主題路由模式設為事件中的 Source 屬性,則命名空間只能包含事件通道。 請注意,決定設定合適的 partner topic routing mode,並非是在通道名稱或來源型路由之間抉擇。 通道支援這兩者。 這相當於決定要使用新類型的路由資源 (通道) 還是使用舊版資源 (事件通道)。

事件通道

事件通道是與合作夥伴事件一起首次發行的資源,可將傳入事件路由至合作夥伴主題。 事件通道僅支援來源型路由,且一律代表客戶合作夥伴主題。

重要

事件通道即將淘汰, 因此建議使用通道。

已驗證的合作夥伴

已驗證的合作夥伴是已經由 Microsoft 驗證其身分識別的合作夥伴組織。 強烈建議讓您的組織通過驗證。 客戶會尋求與通過驗證的合作夥伴接洽,因為這類驗證可進一步確保正在與合法的組織往來。 一旦經過驗證,您便能獲得在 Event Grid 資源庫中出現的優勢,例如客戶可以輕鬆在其中發現您的服務,並且在訂閱事件時享有第一方的體驗。

建立合作夥伴主題的客戶授權

客戶可授權您在其 Azure 訂閱中建立合作夥伴主題。 客戶 Azure 訂閱中的指定資源群組會取得授權,且有時間限制。 您必須在客戶設定的到期日之前建立通道。 您應會備妥相關文件,建議客戶提供足夠的時間範圍以供設定您的系統傳送或接收事件,並在授權到期之前建立通道。 如果嘗試在不具授權或授權已到期的情況下建立通道,則通道建立作業將會失敗,而且不會在客戶的 Azure 訂閱上建立任何資源。

注意

事件方格在 2022 年 6 月 30 日左右開始施行授權檢查,以建立合作夥伴主題。 您的文件應該要求客戶,在您建立通道之前,一個先決條件是授權給您。

重要

已驗證的合作夥伴並非已授權的合作夥伴。 即使合作夥伴已經過 Microsoft 審查,您仍需要獲得授權,才能在客戶的 Azure 訂閱中建立合作夥伴主題。

合作夥伴主題啟用

客戶會啟用您為其建立的合作夥伴主題或目的地。 此時,通道的啟用狀態會變更為 Activated。 啟用通道之後,您就可以開始將事件發佈至包含通道的合作夥伴命名空間端點。

應該要如何將流程自動化,才能了解何時可以開始發佈指定合作夥伴主題的事件?

您有兩個選擇:

  • 定期讀取 (輪詢) 通道狀態,檢查啟用狀態是否已從 NeverActivated 轉換為 Activated。 這項作業可能需要大量計算作業。
  • 為包含您想要監視的通道的 Azure 訂閱資源群組建立事件訂閱。 每當通道更新時,您就會收到 Microsoft.Resources.ResourceWriteSuccess 事件。 接著您需要讀取具有事件中所提供 Azure Resource Manager 識別碼的通道狀態,以確定該次更新涉及到啟用狀態變更為 Activated

參考資料

SDK

下一步