Share via


什麼是 Azure 事件方格?

Azure 事件方格是高度可調整且完全受控的 Pub Sub 訊息散發服務,可使用 MQTT 和 HTTP 通訊協定提供彈性的訊息使用量模式。 透過 Azure 事件方格,您可以使用裝置資料建置資料管線、整合應用程式,以及建置事件驅動的無伺服器結構。 事件方格可讓用戶端透過 MQTT v3.1.1 和 v5.0 通訊協定發佈和訂閱訊息,以支援物聯網 (IoT) 解決方案。 透過 HTTP,事件方格可讓您建置事件驅動解決方案,讓發行者服務向訂閱者應用程式宣告其系統狀態變更 (事件)。 事件方格可以設定為將事件傳送給訂閱者 (推送傳遞),或訂閱者可以連線到事件方格以讀取事件 (提取傳遞)。 事件方格支援 CloudEvents 1.0 規格,以提供跨系統的互通性。

事件方格的高階圖表,其中顯示使用 MQTT 和 HTTP 通訊協定的發行者和訂閱者。

Azure 事件方格是一項正式推出的服務,部署於支援這項服務的所有區域中的可用性區域。 如需事件方格支援的區域清單,請參閱依區域提供的產品

概觀

Azure 事件方格用於資料管線的不同階段,以達成一組不同的整合目標。

MQTT 傳訊。 IoT 裝置和應用程式可以透過 MQTT 彼此通訊。 事件方格也可用來將 MQTT 訊息路由傳送至 Azure 服務或自訂端點,以進一步進行資料分析、視覺化或儲存。 與 Azure 服務的整合可讓您建置資料管線,以從 IoT 裝置擷取資料開始。

使用推送和提取傳遞模式的資料散發。 在資料管線中的任何點,HTTP 應用程式都可以使用推送或提取 API 來取用訊息。 資料來源可能包含 MQTT 用戶端的資料,但也包含下列透過 HTTP 傳送其事件的資料來源:

  • Azure 服務
  • 您的自訂應用程式
  • 外部合作夥伴 (SaaS) 系統

事件方格的推送傳遞機制可將資料傳送至目的地,包含您自己的應用程式 Webhook 和 Azure 服務。

功能

事件方格提供豐富的功能混合。 這些功能包括:

MQTT 傳訊

  • MQTT v3.1.1 和 MQTT v5.0 支援 - 使用任何開放原始碼 MQTT 用戶端程式庫來與服務通訊。
  • 具有萬用字元的自訂主題支援 - 利用您自己的主題結構。
  • 發佈-訂閱傳訊模型 - 使用一對多、多對一和一對一傳訊模式有效率地通訊。
  • 內建雲端整合 - 將您的 MQTT 訊息路由傳送至 Azure 服務或自訂 Webhook,以進一步處理。
  • 彈性和精細存取控制模型 - 群組用戶端和主題以簡化存取控制管理,並使用主題範本中的變數支援進行更精細的存取控制。
  • MQTT 代理驗證方法 - X.509 憑證驗證是 IoT 裝置中的產業驗證標準,Microsoft Entra IDauthentication 是 Azure 的應用程式驗證標準,OAuth 2.0 (JSON Web 權杖) 驗證針對未在 Azure 中佈建的 MQTT 用戶端提供輕量型、安全且有彈性的選項。
  • TLS 1.2 和 TLS 1.3 支援 - 使用強固的加密通訊協定保護您的用戶端通訊。
  • 多工作階段支援 - 將您的應用程式與多個作用中工作階段連線,以確保可靠性和可擴縮性。
  • 透過 WebSockets 的 MQTT - 在防火牆限制的環境中啟用用戶端的連線能力。
  • 自訂網域名稱 - 可讓使用者將自己的網域名稱名稱指派給事件方格命名空間的 MQTT 端點,增強安全性和簡化用戶端設定。
  • 用戶端生命週期事件 - 可讓應用程式回應用戶端連線狀態或用戶端資源作業的相關事件。

事件傳訊 (HTTP)

  • 彈性事件使用量模型 - 使用 HTTP 時,使用提取或推送傳遞模式取用事件。
  • 系統事件 - 使用內建 Azure 服務事件快速啟動並執行。
  • 您自己的應用程式事件 - 使用事件方格來路由傳送、篩選並從應用程式可靠地傳遞自訂事件。
  • 合作夥伴事件 - 訂閱合作夥伴 SaaS 提供者事件,並在 Azure 上處理。
  • 進階篩選 - 篩選事件類型或其他事件屬性,以確保事件處理常式或取用者應用程式只收到相關事件。
  • 可靠性 - 推送傳遞具有 24 小時的指數輪詢重試機制,可確保事件能夠傳遞出去。 如果您使用提取傳遞,您的應用程式可以完全控制事件使用量。
  • 高輸送量 - 使用事件方格建置大量整合式解決方案。
  • 自訂網域名稱 - 可讓使用者將自己的網域名稱名稱指派給事件方格命名空間的 HTTP 端點,增強安全性和簡化用戶端設定。

使用案例

事件格線支援下列使用案例:

MQTT 傳訊

事件方格可讓您的用戶端使用發佈-訂閱傳訊模型以自訂 MQTT 主題名稱進行通訊。 事件方格支援透過 MQTT v3.1.1、透過 WebSocket 的 MQTT v3.1.1、MQTT v5 和透過 WebSockets 的 MQTT v5 發佈和訂閱訊息的用戶端。 事件方格可讓您將 MQTT 訊息傳送至雲端,以進行資料分析、儲存和視覺化,以及其他使用案例。

事件方格會與 Azure IoT MQ 整合,橋接其在邊緣上的 MQTT 代理功能與雲端中的事件方格 MQTT 代理功能。 Azure IoT MQ 是新的分散式 MQTT 代理,可用於邊緣計算、在已啟用 Arc 的 Kubernetes 叢集上執行。 現已在 Azure IoT 操作中提供公開預覽版

Azure 事件方格中的 MQTT 代理功能非常適合用於汽車和行動案例等等的實作。 請參閱參考結構,了解如何使用 Azure 的傳訊和資料分析服務,建置安全且可調整的解決方案,以將數百萬輛車輛連線到雲端。

事件方格的高階圖表,其中顯示與發行者和訂閱者用戶端的雙向 MQTT 通訊。

Azure 事件方格的 MQTT 代理功能可讓您完成下列案例。

擷取 IoT 遙測

事件方格的高階圖表,其中顯示使用 MQTT 通訊協定將訊息傳送至雲端應用程式的 IoT 用戶端。

使用多對一傳訊模式擷取遙測。 例如,使用事件方格將遙測從多個 IoT 裝置傳送至雲端應用程式。 此模式可讓應用程式卸除管理裝置到事件方格大量連線的負擔。

命令與控制

事件方格的高階圖表,其中顯示的雲端應用程式會使用要求和回應主題,透過 MQTT 將命令訊息傳送到裝置。

使用要求-回應 (一對一) 訊息模式來控制 MQTT 用戶端。 例如,使用事件方格將命令從雲端應用程式傳送至 IoT 裝置。

廣播警示

事件方格的高階圖表,其中顯示的雲端應用程式會透過 MQTT 將警示訊息傳送到數個裝置。

使用一對多傳訊模式,將警示廣播給一群用戶端。 例如,使用事件方格將遙測從雲端應用程式傳送至多個 IoT 裝置。 此模式可讓應用程式只發佈一則訊息,讓服務針對每個感興趣的用戶端複寫。

整合 MQTT 資料

此圖顯示數個 IoT 裝置會透過 MQTT 將健康情況資料傳送至事件方格,然後傳送至事件中樞,以及從此服務傳送至 Azure 串流分析。

透過推送傳遞提取傳遞,將 MQTT 訊息路由至 Azure 服務和自訂端點,以整合來自 MQTT 用戶端的資料。 例如,使用事件方格將遙測從 IoT 裝置路由傳送至事件中樞,然後路由傳送至 Azure 串流分析,以取得裝置遙測的深入解析。

事件的推送傳遞

事件方格可以設定為使用推送事件傳遞將事件傳送至一組不同的 Azure 服務或 Webhook。 事件來源包括您的自訂應用程式、Azure 服務和合作夥伴 (SaaS) 服務,這些服務會發佈宣告系統狀態變更的事件 (也稱為「離散」事件)。 接著,事件方格會將這些事件傳遞給已設定訂閱者的目的地。

事件方格的推送傳遞可讓您了解下列使用案例。

注意

事件方格基本層和事件方格標準層提供推送傳遞,若要深入了解差異,請參閱為您的解決方案選擇正確的事件方格層

建置事件驅動無伺服器解決方案

顯示 Azure Functions 使用 HTTP 將事件發佈至事件方格的圖表。事件方格接著會將這些事件傳送至 Azure Logic Apps。

使用事件方格建置無伺服器解決方案與 Azure Functions Apps、Logic Apps 和 API 管理。 搭配事件方格使用無伺服器服務,可提供您生產力、投入經濟和整合,優於傳統計算模型,在傳統模型中您必須採購、管理、保護和維護所有已部署的基礎結構。

接收來自 Azure 服務的事件

顯示 Blob 儲存體透過 HTTP 將事件發佈至事件方格的圖表。事件方格會將這些事件傳送至事件處理常式,也就是 Webhook 或 Azure 服務。

事件方格可以從 20 個以上的 Azure 服務接收事件,以便您將作業自動化。 例如,您可以設定事件方格在 Azure 儲存體帳戶上建立新的 Blob 時接收事件,讓下游應用程式可以讀取和處理其內容。 如需所有支援的 Azure 服務和事件清單,請參閱系統主題

接收來自您應用程式的事件

顯示客戶應用程式使用 HTTP 將事件發佈至事件方格的圖表。事件方格會將這些事件傳送至 Webhook 或 Azure 服務。

您自己的服務或應用程式會將事件發佈至訂閱者應用程式所處理的事件方格。 事件方格主打命名空間主題,可使用簡單的資源模型大規模地解決整合和路由需求。 您也可使用自訂主題來符合基本整合需求和網域,以在您需要將事件散發給數百個或數千個不同的群組時,提供簡單的管理和路由模型。

接收來自合作夥伴的事件 (SaaS 提供者)

此圖顯示使用 HTTP 將事件發佈至事件方格的外部合作夥伴應用程式。事件方格會將這些事件傳送至 Webhook 或 Azure 服務。

多租用戶 SaaS 提供者或平台可以透過稱為合作夥伴事件的功能,將其事件發佈至事件方格。 例如,您可以訂閱這些事件並自動化工作。 目前提供下列合作夥伴的事件:

事件處理常式

事件訂用帳戶是一般設定資源,可讓您定義使用推送傳遞傳送事件的事件處理常式或目的地。 例如,您可將資料傳送至 Webhook、Azure 函式或事件中樞。 如需支援的事件處理常式完整清單,請參閱:

離散事件的提取傳遞

Azure 事件方格具備提取 CloudEvents 傳遞。 使用此傳遞模式,用戶端可連線到事件方格以讀取事件。 您可以使用提取傳遞來實現下列使用案例。

以您自己的步調接收事件

發行者和取用者應用程式的高階圖表。發行者會以比訂閱者事件取用率更高的步調將事件傳送至事件方格。

一或多個用戶端可以連線到 Azure 事件方格,以自己的步調讀取訊息。 事件方格可讓用戶端完全控制事件使用量。 例如,您的應用程式可以在一天中的特定時間接收事件。 您的解決方案也可以藉由新增更多從事件方格讀取的用戶端來增加使用率。

VNET 內取用者應用程式的高階圖表,該應用程式會透過 VNET 內的私人端點,從事件方格讀取事件。

您可以設定私人連結連線至 Azure 事件方格,以透過虛擬網路中的私人端點發佈和讀取 CloudEvents。 您的虛擬網路與事件方格之間的流量會經由 Microsoft 骨幹網路傳輸。

重要

私人連結適用於提取傳遞,而不是推送傳遞。 當應用程式連線至事件方格來發佈事件或接收事件時,您可以使用私人連結,而不是在事件方格連線到 Webhook 或 Azure 服務以傳遞事件時使用。

事件方格命名空間可供使用的區域

以下是新的 MQTT 代理和命名空間主題功能可供使用的區域清單:

  • 澳大利亞東部
  • 澳大利亞東南部
  • 巴西南部
  • 巴西東南部
  • 加拿大中部
  • 加拿大東部
  • 印度中部
  • 美國中部
  • 東亞
  • 美國東部
  • 美國東部 2
  • 法國中部
  • 德國中西部
  • 以色列中部
  • 義大利北部
  • 日本東部
  • 日本西部
  • 南韓中部
  • 南韓南部
  • 美國中北部
  • 北歐
  • 挪威東部
  • 波蘭中部
  • 南非西部
  • 美國中南部
  • 印度南部
  • 東南亞
  • 瑞典中部
  • 瑞士北部
  • 阿拉伯聯合大公國北部
  • 英國南部
  • 英國西部
  • 西歐
  • 美國西部 2
  • 美國西部 3

下一步

MQTT 傳訊

使用提取或推送傳遞的資料散發

另請參閱