共用方式為


什麼是 Azure 事件方格?

Azure 事件方格是高度可調整且完全受控的 Pub Sub 訊息散發服務,可使用 MQTT 和 HTTP 通訊協定提供彈性的訊息使用量模式。 透過 Azure 事件方格,您可以使用裝置資料建置資料管線、整合應用程式,以及建置事件驅動的無伺服器結構。

事件方格可讓用戶端透過 MQTT v3.1.1 和 v5.0 通訊協定發佈和訂閱訊息,以支援物聯網 (IoT) 解決方案。 透過 HTTP,事件方格可讓您建置事件驅動解決方案,讓發行者服務向訂閱者應用程式宣告其系統狀態變更 (事件)。 事件方格可以設定為將事件傳送給訂閱者 (推送傳遞),或訂閱者可以連線到事件方格以讀取事件 (提取傳遞)。 事件方格支援 CloudEvents 1.0 規格,以提供跨系統的互通性。

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

核心功能

以下是 Azure 事件方格 的兩個主要功能:

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

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

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

事件方格的推送傳遞機制可將資料傳送至目的地,包含您自己的應用程式 Webhook 和 Azure 服務。 讓我們詳細查看這兩個功能:

MQTT 傳訊

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

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

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

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

以下是 Azure 事件方格 中 MQTT 傳訊支援的一些重點:

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

如需 MQTT 訊息代理程式的詳細資訊,請參閱下列文章:

事件傳訊 (HTTP)

事件方格支援使用 HTTP 的推送和提取事件傳遞。 透過 推送傳遞,您會在事件訂用帳戶中定義目的地,而事件方格會傳送事件。 透過提取傳遞,訂閱者應用程式會連接到事件方格以取用事件。 事件方格命名空間中的主題支援提取傳遞。

顯示推送傳遞和提取傳遞的高階圖表,其中包含涉及的資源種類。

事件處理常式

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

推送傳遞與提取傳遞

以下是一般指導方針,可協助您決定何時使用提取或推送傳遞。

提取傳遞

  • 您需要完整控管接收事件的時機。 例如,您的應用程式可能不會一直處於運作狀態、不夠穩定,或者您在特定時間處理資料。
  • 您需要完全控管事件取用。 例如,取用者應用程式中的下游服務或層級發生問題,導致您無法處理事件。 在此情況下,提取傳遞 API 可讓取用者應用程式將已讀取的事件釋回訊息代理程式,以便稍後傳遞。
  • 您想要在接收事件時使用私人連結,這只能透共提取傳遞使用,而無法透過推送傳遞使用。
  • 您無法公開端點並使用推送傳遞,但您可以連線至事件方格來取用事件。

推送傳遞

  • 您想要避免常數輪詢,以判斷發生系統狀態變更。 您選擇在事件狀態變更時,使用事件方格將事件傳送給您。
  • 您有無法進行輸出呼叫的應用程式。 例如,您的組織可能會擔心資料外流。 不過,您的應用程式可以透過公用端點接收事件。

以下是 HTTP 模型的一些重點:

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

如需詳細資訊,請參閱下列文章:

使用案例

如需您可以使用 Azure 事件方格 的使用案例清單,請參閱使用案例

支援的區域

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

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