在輸入過程中將遙測資料對應至 IoT Central

資料對應可將複雜的裝置遙測資料轉換成 IoT Central 內的結構化資料。 針對每部裝置,您可以將裝置遙測資料訊息中的特定 JSON 路徑對應至別名。 別名是對應目標的自訂名稱。 IoT Central 會使用對應,在傳輸過程中將遙測資料轉換成 IoT Central 資料。 您可以使用對應的遙測資料來:

  • 在 IoT Central 中建立裝置範本和裝置管理作業。
  • 將多個裝置上的 JSON 路徑對應至一般別名,將不同裝置的遙測資料正常化。
  • 匯出至 IoT Central 外部的目的地。

本圖摘要說明 IoT Central 中的對應程序。

下列影片會逐步引導您完成資料對應程序:

對應裝置的遙測資料

對應會使用 JSONPath 運算式來識別傳入遙測訊息中的值以對應至別名。

JSONPath 運算式的開頭為 $ 字元,該字元會參考訊息的根項目。 $ 後面會接著以方括弧分隔的子項目序列。 例如:

$["messages"]["tmp"]

$["opcua"]["payload"][0]["value"]

$["Messages"]["Payload"]["nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt1"]["Value"]

IoT Central 使用 JSONPath 運算式語法的子集:

  • 每個區段都只能是非負數或以雙引號括住的字串。
  • 區段不能包含反斜線、方括弧或雙引號。
  • JSON 路徑不得超過 1,000 個字元。

若要在 IoT Central 應用程式中建立對應,請選擇下列其中一個選項以瀏覽至 [對應資料] 面板:

  • 從任何裝置頁面上,選取 [管理裝置] > [對應資料]:

    螢幕擷取畫面顯示 [對應資料] 功能表項目。

  • 在裝置的 [原始資料] 檢視中,展開任何遙測訊息,將滑鼠指標停留在路徑上,然後選取 [新增別名]。 [對應資料] 面板隨即會開啟,顯示 JSONPath 運算式已複製到 [JSON 路徑] 欄位中:

    螢幕擷取畫面顯示 [原始資料] 檢視上的 [新增別名] 選項。

[對應資料] 面板的左側會顯示來自您裝置的最新訊息。 將滑鼠停留在資料的任何部分,然後選取 [新增別名]。 JSONPath 運算式會複製到 [JSON 路徑] 中。 新增不超過 64 個字元的別名名稱。 您無法使用別名來參考裝置範本中所定義複雜物件的欄位。

視需要新增多個對應,然後選取 [儲存]:

[對應資料] 檢視的螢幕擷取畫面,顯示 Json 路徑和別名。

針對指定的裝置:

  • 任何對應的 JSON 路徑都不能相同。
  • 任何對應的別名都不能相同。

提示

您可能需要等候數分鐘,裝置才會傳送遙測訊息以顯示在左側面板中。 如果左側面板中仍然沒有顯示資料,您可以在 [JSON 路徑] 欄位中手動輸入 JSONPath 運算式。

若要確認 IoT Central 是否有對應遙測資料,請瀏覽至裝置的 [原始資料] 檢視,並檢查 _mappeddata 區段:

螢幕擷取畫面顯示 [原始資料] 檢視中訊息中的對應資料區段。

如果您在重新整理 [原始資料] 之後沒有看到對應的資料,請檢查您使用的 JSONPath 運算式是否符合遙測訊息的結構。

若使用 IoT Edge 裝置,資料對應會套用至來自所有 IoT Edge 模組和中樞的遙測資料。 您無法將對應套用至特定 Azure IoT Edge 模組。

若裝置已指派給裝置範本,您無法對應元件或繼承介面的資料。 不過,您可以在將裝置指派給裝置範本之前,先對應裝置中的任何資料

管理對應

若要檢視、編輯或刪除對應,請瀏覽至 [對應別名] 頁面。 選取要編輯或刪除的對應。 您可以同時選取多個對應並刪除:

[對應別名] 檢視的螢幕擷取畫面,顯示編輯和刪除按鈕。

根據預設,從 IoT Central 匯出的資料會包含對應的資料。 若要排除對應的資料,請在資料匯出中使用資料轉換功能。

對應未建模的遙測資料

您可以對應未建模的遙測資料,包括來自未建模元件的遙測資料。 例如,假設在根元件中定義了 workingSet 遙測資料,並在控溫器元件中定義了 temperature 遙測資料,如下列範例所示:

{
  "_unmodeleddata": {
    "workingSet": 74
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:22:40.257Z"
}

{
  "_unmodeleddata": {
    "thermostat2": {
      "__t": "c",
      "temperature": 44
    }
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:21:48.69Z"
}

您可以使用下列對應定義來對應這些遙測資料:

  • $["workingSet"] ws
  • $["temperature"] temp

注意

對應定義中請勿包含元件名稱。

這些對應規則的結果看起來會如下列範例所示:

{
  "telemetries": {
    "workingSet": 84,
    "_mappeddata": {
      "ws": 84
    }
  }
}

{
  "_unmodeleddata": {
    "thermostat2": {
      "__t": "c",
      "temperature": 12
    },
    "_mappeddata": {
      "thermostat2": {
        "__t": "c",
        "temp": 12
      }
    }
  },
  "_eventtype": "Telemetry",
  "_timestamp": "2022-07-18T09:31:21.088Z"
}

現在您可以使用對應的別名,在圖表或儀表板上顯示遙測資料。 您也可以在匯出遙測資料時使用對應的別名。

下一步

現在您已瞭解如何對應裝置的資料,下一個建議步驟是瞭解如何使用資料總管來分析裝置資料