Azure IoT 操作 中的資料流對比資料流圖表

Azure IoT 操作提供兩種資料處理與路由方式:資料流以及資料流圖。 兩者皆使用共用基礎設施,如端點、設定檔,以及來源與目的地的設定。 然而,它們在管線形狀、轉換能力及端點支援上有所不同。

什麼是資料流?

資料流是一種簡單且線性的管線,透過可選的轉換方式將資料從來源傳送到目的地。 轉換階段以固定順序執行三個操作:濃縮、過濾、然後映射。 你可以透過 Operations Experience 的網頁介面、Azure CLI 或 Azure Resource Manager 範本來配置資料流程。

資料流通常可用,並支援所有端點類型。

什麼是資料流程圖?

資料流程圖是一種可組合的基於圖形的管線,連接你定義的任何拓撲中的多個轉換。 你可以串接、分支和合併處理步驟。 每個轉換都是預先建置的處理單元,例如映射、篩選、分支、時間窗、節流或資料擴充,你可以使用規則加以設定。 你可以透過使用 Operations Experience 的 Web UI、Azure CLI 或 Azure Resource Manager 範本來配置資料流程圖。

資料流程圖支援 MQTT、Kafka 及 OpenTelemetry 端點。

比較

Feature 數據流 資料流程圖
管線形狀 固定:增強、篩選、映射 具靈活性的:適用於任何圖形拓撲
變換 映射、篩選、增強 映射、篩選、分支、串接、視窗(資料聚合)、增強
分支與合併 不支援 依條件分支,以串連方式合併
基於時間的聚合 不支援 使用 avg、min、max、count 的輪轉視窗
端點支援(來源) MQTT,卡夫卡 MQTT,卡夫卡
端點支援(目的地) MQTT、Kafka、ADLS、Fabric、ADX、本地儲存、OpenTelemetry MQTT、Kafka、OpenTelemetry
動態目的地主題 ${inputTopic} (來源主題直通) $metadata.topic + ${outputTopic} (內容導向路由)
Schema 論源頭與轉化 節點連接
磁碟持久性 Supported Supported

共享基礎設施

資料流與資料流圖的共享:

  • 端點:兩者都使用 DataflowEndpoint 資源連接 MQTT 中介、Kafka、儲存及其他服務。 請參見 準備端點。
  • 設定檔:兩者都參考DataflowProfile,用於擴展性和實例設定。 請參閱 管理資料流設定檔。
  • 來源配置:兩者都支援相同的來源端點選項(預設代理、資產、自訂端點)及資料來源(主題)配置。 請參見 「配置來源」。
  • 目的地設定:兩者都支援靜態與動態目的地主題。 請參見 「設定目的地」。
  • 磁碟持續性:兩者都支援 requestDiskPersistence,以在重新啟動後繼續運作。 請參見 「配置磁碟持久性」。

何時使用哪一種

在以下情況下使用資料流程:

  • 你需要一條簡單的從來源到目的地的管線,且包含基本轉換。
  • 你需要將資料傳送到儲存端點(ADLS、Fabric、ADX、本地儲存)。
  • 你需要一個普遍可用、就緒的生產解決方案。

在以下情況下使用資料流程圖:

  • 你需要根據條件分支訊息到不同的處理路徑。
  • 你需要時間型聚合(翻滾視窗)。
  • 你需要在自訂拓撲中進行多個連鎖轉換。
  • 你僅使用 MQTT、Kafka 或 OpenTelemetry 端點。

對於使用支援端點類型的新專案,請使用資料流程圖。 資料流在所有情境中始終全面提供支援,並支援端點類型的完整範圍。