IoT Edge 上的 Azure 串流分析

IoT Edge 上的 Azure 串流分析讓開發人員能夠在更接近 IoT 裝置的地方部署近乎即時的分析智慧,進而使裝置產生的資料充分發揮價值。 Azure 串流分析的設計著眼於低延遲、具復原能力、有效率地使用頻寬和合規性。 企業可以部署接近產業作業的控制邏輯,並補充在雲端中完成的巨量資料分析。

IoT Edge 上的 Azure 串流分析是在 Azure IoT Edge 架構內執行。 在串流分析中建立作業之後,您可以使用 IoT 中樞來部署及管理作業。

常見案例

本節會說明 IoT Edge 串流分析的常見案例。 下圖顯示 IoT 裝置與 Azure 雲端之間的資料流程。

High level diagram of IoT Edge

低延遲命令與控制

製造安全系統必須回應具有超低延遲的作業資料。 透過 IoT Edge 串流分析,您可以近乎即時地分析感應器資料,並在偵測到異常時發出命令來停止電腦或觸發程序的警示。

有限的雲端連線能力

諸如遠端採礦設備、互連的船隻或離岸鑽井等任務關鍵系統都必須分析及回應資料,即使是當雲端連線斷斷續續時也一樣。 利用串流分析,您的串流邏輯就會獨立於網路連線執行,從而能夠選擇傳送至雲端進行進一步處理或儲存體的項目。

受限頻寬

噴射引擎或連線的車輛所產生的資料量可能會很大,在將資料傳送到雲端之前,必須先篩選或預先處理。 您可以使用串流分析來篩選或彙總必須傳送至雲端的資料。

法規遵循

法規合規性可能會要求某些資料在傳送至雲端之前,先在本機進行匿名或彙總。

Azure 串流分析中的 Edge 作業

串流分析 Edge 作業會在部署至 Azure IoT Edge 裝置的容器中執行。 Edge 作業由兩個部分組成:

  • 負責作業定義的雲端部分:使用者在雲端中定義輸入、輸出、查詢和其他設定,例如順序錯亂的事件。

  • 在您的 IoT 裝置上執行的模組。 模組包含串流分析引擎,並會從雲端接收作業定義。

串流分析會使用 IoT 中樞將 Edge 作業部署到裝置。 如需詳細資訊,請參閱IoT Edge 部署

Azure Stream Analytics Edge job

Edge 作業限制

目標是在 IoT Edge 與業和雲端作業之間進行同位檢查。 Edge 和雲端都支援大部分的 SQL 查詢語言功能。 不過,Edge 作業不支援下列功能:

  • JavaScript 中的使用者定義函式 (UDF)。 您可以在適用於 IoT Edge 的 C# 作業 (預覽版) 中找到 UDF。
  • 使用者定義彙總 (UDA)。
  • Azure ML 函式。
  • 輸入/輸出的 AVRO 格式。 目前僅支援 CSV 和 JSON。
  • 下列 SQL 運算子:
    • PARTITION BY
    • GetMetadataPropertyValue
  • 延遲傳入原則

執行階段與硬體需求

若要在 IoT Edge 上執行串流分析,您需要可以執行 Azure IoT Edge 的裝置。

串流分析和 Azure IoT Edge 使用 Docker 容器來提供可攜式解決方案,這些解決方案能在多個主機作業系統 (Windows、Linux) 上執行。

IoT Edge 串流分析能夠以 Windows 和 Linux 映像的方式提供,並在 x86-64 或 ARM (進階 RISC 機器) 架構上執行。

輸入和輸出

串流分析 Edge 作業可以從 IoT Edge 裝置上執行的其他模組取得輸入和輸出。 若要連線進出特定模組,您可以在部署期間設定路由組態。 IoT Edge 模組複合文件中會說明詳細資訊。

輸入與輸出都支援 CSV 和 JSON 格式。

針對您在串流分析作業中建立的每一個輸入和輸出資料流,會在部署的模組上建立對應的端點。 這些端點可用於部署的路由。

支援的資料流輸入類型為:

  • 邊線中樞
  • 事件中樞
  • IoT 中樞

支援的資料流輸出類型為:

  • 邊線中樞
  • SQL Database
  • 事件中樞
  • Blob 儲存體/ADLS Gen2

參考輸入支援參考檔案類型。 其他輸出可以使用下游的雲端作業來觸達。 例如,裝載於 Edge 中的串流分析作業會將輸出傳送到 Edge 中樞,然後 Edge 中樞會將輸出傳送到 IoT 中樞。 您可以使用第二個雲端裝載的 Azure 串流分析作業,搭配來自 IoT 中樞的輸入和 Power BI 的輸出或其他輸出類型。

授權和第三方通知

建立 Azure 串流分析模組映像資訊

此版本資訊上次更新日期為 2020 年 9 月 21 日:

  • 影像:mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64

    • 基礎映像:mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpine
    • 平台:
      • 架構:amd64
      • 作業系統:Linux
  • 影像:mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7

    • 基礎映像:mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7
    • 平台:
      • 架構:arm
      • 作業系統:Linux
  • 影像:mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64

    • 基礎映像:mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8
    • 平台:
      • 架構:Arm64
      • 作業系統:Linux

取得協助

如需進一步的協助,請嘗試 Azure 串流分析的 Microsoft 問與答頁面

下一步