共用方式為


教學課程:使用數據流將資產遙測傳送至雲端

在本教學課程中,您會使用數據流,將訊息從 MQTT 訊息代理程式轉送至 Azure 事件中樞 服務中的事件中樞。 事件中樞可以將資料傳遞給其他雲端服務,以進行儲存和分析。 在下一個教學課程中,您會使用即時儀錶板將數據可視化。

必要條件

開始本教學課程之前,您必須先完成 教學課程:將 OPC UA 資產新增至 Azure IoT 作業叢集

我們會解決什麼問題?

若要使用即時儀表板之類的工具來分析 OPC UA 資料,您必須將資料傳送至 Azure 事件中樞等雲端服務。 資料流程可以訂閱 MQTT 主題,並將訊息轉送至 Azure 事件中樞命名空間內的事件中樞。 下一個教學課程示範如何使用即時儀錶板來可視化和分析您的數據。

設定環境變數

如果您使用 Codespaces 環境,則已設定必要的環境變數,您可以略過此步驟。 否則,請在殼層中設定下列環境變數:

# The name of the resource group where your Kubernetes cluster is deployed
RESOURCE_GROUP=<resource-group-name>

# The name of your Kubernetes cluster
CLUSTER_NAME=<kubernetes-cluster-name>

建立事件中樞命名空間

若要建立事件中樞命名空間和事件中樞,請在殼層中執行下列 Azure CLI 命令。 這些命令會在與 Kubernetes 叢集相同的資源群組中建立事件中樞命名空間:

az eventhubs namespace create --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP --disable-local-auth false

az eventhubs eventhub create --name destinationeh --resource-group $RESOURCE_GROUP --namespace-name ${CLUSTER_NAME:0:24} --retention-time 1 --partition-count 1 --cleanup-policy Delete

若要授權叢集中的 Azure IoT 操作延伸模組存取事件中樞命名空間,請執行下列 Azure CLI 命令:

EVENTHUBRESOURCE=$(az eventhubs namespace show --resource-group $RESOURCE_GROUP --namespace-name ${CLUSTER_NAME:0:24} --query id -o tsv)

PRINCIPAL=$(az k8s-extension list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --cluster-type connectedClusters -o tsv --query "[?extensionType=='microsoft.iotoperations'].identity.principalId")

az role assignment create --role "Azure Event Hubs Data Sender" --assignee $PRINCIPAL --scope $EVENTHUBRESOURCE

建立資料流程以將遙測傳送至事件中樞

使用作業體驗UI來建立及設定叢集中的數據流::

  • Tag 10 傳入訊息中的欄位重新命名為 Humidity
  • temperature 傳入訊息中的欄位重新命名為 Temperature
  • 新增名為 AssetId 的欄位,其中包含資產的名稱。
  • 將轉換的訊息從 MQTT 主題轉送至您所建立的事件中樞。

若要建立資料流:

  1. 流覽至作業體驗UI並找出您的實例。 然後選取 [數據流端點],然後在 [Azure 事件中樞] 圖格中選取 [+ 新增]:

    數據流端點頁面的螢幕快照。

  2. 在 [建立新的數據流端點:Azure 事件中樞],輸入 event-hubs-target 作為名稱,並使用您建立的事件中樞命名空間位址更新 [主機] 欄位。 選取 [ 套用]:

    [建立新的數據流端點:Azure 事件中樞] 頁面的螢幕快照。

    系統會建立新的數據流端點,並在 [數據流端點] 頁面上的清單中顯示。

  3. 選取 [數據流 ],然後選取 [+ 建立數據流]。 new-dataflow ><頁面會顯示:

    [數據流] 頁面的螢幕快照。

  4. 在數據流編輯器中,選取 [ 選取來源]。 然後選取您先前建立的控溫器資產,然後選取 [ 套用]。

  5. 在數據流編輯器中,選取 [ 選取數據流端點]。 然後選取 您先前建立的事件中樞目標 端點,然後選取 [ 套用]。

  6. 在下一個頁面上,輸入 destinationeh 作為主題。 本主題是指您在事件中樞命名空間中建立的中樞。 選取套用。 您的數據流現在會將控溫器資產作為其來源,以及事件中樞命名空間中的中樞作為其目的地。

  7. 若要新增轉換,請選取 [新增轉換][選擇性]。

  8. 若要重新命名傳入訊息中的 和 temperature 字段,請選取 [重新Tag 10命名] 圖格中的 [+ 新增]。

  9. 新增下列兩個重新命名轉換:

    Datapoint 新增數據點名稱
    標記 10.Value 控溫器Humidity
    溫度。價值 控溫器Temperature
  10. 若要從訊息元資料複製資產標識碼,請新增下列重新命名轉換:

    Datapoint 新增數據點名稱
    $metadata.user_property.externalAssetId AssetId

    重新命名轉換看起來像下列螢幕快照:

    重新命名轉換的螢幕快照。

    選取套用

  11. 資料串流編輯器現在看起來像下列螢幕快照:

    已完成數據流的螢幕快照。

  12. 若要啟動執行中的數據流,請輸入 tutorial-dataflow 作為其名稱,然後選取 [ 儲存]。 幾分鐘后,[ 布建狀態 ] 會變更為 [成功]。 數據流現在正在叢集中執行。

您的數據流會訂閱 MQTT 主題,以接收來自控溫器資產的訊息。 它會重新命名訊息中的部分欄位,並將轉換的訊息轉送至您所建立的事件中樞。

確認資料正在流動

若要確認數據流向雲端,您可以在 Azure 入口網站 中檢視事件中樞實例。 您可能需要等候數分鐘,數據流才能啟動,以及訊息流向事件中樞。

如果訊息流向實例,您可以在實例 [概觀] 頁面上看到傳入訊息的計數:

顯示內送訊息的事件中樞實例概觀頁面螢幕快照。

如果訊息流動,您可以使用 數據 總管來檢視訊息:

事件中樞實例 [數據總管] 頁面的螢幕快照。

提示

您可能需要將自己指派給事件中樞命名空間 Azure 事件中樞 數據接收者角色,才能檢視訊息。

我們如何解決問題?

在本教學課程中,您已使用數據流,將 MQTT 主題連線到 Azure 事件中樞 命名空間中的事件中樞。 在下一個教學課程中,您會使用 Microsoft Fabric 即時智慧將數據可視化。

清除資源

如果您繼續進行下一個教學課程,請保留所有資源。

如果您想要移除 Azure IoT 作業部署,但保留叢集,請使用 az iot ops delete 命令:

az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP

如果您想要刪除您為此快速入門建立的所有資源,請刪除您已部署 Azure IoT 作業的 Kubernetes 叢集,然後移除包含叢集的 Azure 資源群組。

如果您在這些快速入門中使用 Codespaces,請從 GitHub 刪除您的 Codespace。

注意

資源群組包含您在本教學課程中建立的事件中樞命名空間。

後續步驟

教學課程:從資產遙測取得見解