什麼是 Azure 事件方格?

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

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

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

概觀

Azure 事件方格 用於數據管線的不同階段,以達成一組多樣化的整合目標。

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

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

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

使用推送傳遞時,事件方格可以將數據傳送至 包含您自己的應用程式 Webhook 和 Azure 服務的目的地

Capabilities

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

MQTT 傳訊

  • MQTT v3.1.1 和 MQTT v5.0 支援 – 使用任何 開放原始碼 MQTT 用戶端連結庫來與服務通訊。
  • 具有通配符支援的 自定義主題 - 利用您自己的主題結構。
  • 發佈-訂閱傳訊模型 - 使用一對多、多對一和一對一傳訊模式有效率地通訊。
  • 內建雲端整合 - 將您的 MQTT 訊息路由傳送至 Azure 服務或自定義 Webhook,以進一步處理。
  • 彈性且精細的 訪問控制模型 - 群組用戶端和主題以簡化訪問控制管理,並使用主題範本中的變數支援進行更細緻的訪問控制。
  • X.509 憑證 驗證 - 使用 IoT 產業的標準機制來驗證您的裝置。
  • Microsoft Entra ID (先前稱為 Azure Active Directory) 驗證 - 使用 Azure 的標準機制驗證您的應用程式。
  • TLS 1.2 和 TLS 1.3 支援 - 使用強固的加密通訊協定保護您的客戶端通訊。
  • 多會話支援 - 將您的應用程式與多個使用中的會話連線,以確保可靠性和延展性。
  • 透過 WebSocket 的 MQTT - 在防火牆限制的環境中啟用用戶端的連線能力。

事件傳訊 (HTTP)

  • 彈性事件取用模型 – 使用 HTTP 時,使用提取或推送傳遞模式取用事件。
  • 系統事件 – 使用內建的 Azure 服務事件快速啟動並執行。
  • 您自己的應用程式事件 - 使用事件方格,從您的應用程式路由、篩選及可靠地傳遞自定義事件。
  • 合作夥伴事件 – 訂閱您的合作夥伴 SaaS 提供者事件,並在 Azure 上處理。
  • 進階篩選 – 篩選事件類型或其他事件屬性,以確保事件處理程式或取用者應用程式只接收相關事件。
  • 可靠性 – 推送傳遞功能 24 小時重試機制,具有指數輪詢,以確保事件已傳遞。 使用提取傳遞,您的應用程式可以完全控制事件耗用量。
  • 高輸送量 - 使用事件方格建置大量整合式解決方案。

使用案例

Event Grid 支援下列使用案例:

MQTT 傳訊

事件方格可讓您的用戶端使用發佈-訂閱傳訊模型,在自定義 MQTT 主題名稱上進行通訊。 事件方格支援透過 MQTT v3.1.1、MQTT v3.1.1 透過 WebSocket、MQTT v5 和 MQTT v5 透過 WebSockets 發行和訂閱訊息的用戶端。 事件方格可讓您將 MQTT 訊息傳送至雲端,以進行數據分析、記憶體和視覺效果,以及其他使用案例。

事件方格會與 Azure IoT MQ 整合,以在邊緣橋接其 MQTT 訊息代理程式功能,並在雲端中使用 Event Grid 的 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 提供者或平臺可以透過稱為 合作夥伴事件的功能,將其事件發佈至事件方格。 例如,您可以 訂閱這些事件 並自動化工作。 下列合作夥伴的事件目前可供使用:

事件處理常式

事件訂用帳戶是一般組態資源,可讓您定義使用推送傳遞傳送事件的事件處理程式或目的地。 支援下列 事件處理程式

提取離散事件的傳遞

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

以您自己的步調接收事件

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

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

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

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

重要

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

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

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

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

下一步

MQTT 傳訊

使用提取或推送傳遞的數據散發

另請參閱