Snabbstart: Skicka tillgångstelemetri till molnet med hjälp av ett dataflöde
Viktigt!
Förhandsversion av Azure IoT Operations – aktiverad av Azure Arc är för närvarande i förhandsversion. Du bör inte använda den här förhandsgranskningsprogramvaran i produktionsmiljöer.
Du måste distribuera en ny Azure IoT Operations-installation när en allmänt tillgänglig version görs tillgänglig. Du kommer inte att kunna uppgradera en förhandsgranskningsinstallation.
Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.
I den här snabbstarten använder du ett dataflöde för att vidarebefordra meddelanden från MQTT-koordinatorn till en händelsehubb i Azure Event Hubs-tjänsten. Händelsehubben kan leverera data till andra molntjänster för lagring och analys. I nästa snabbstart använder du en realtidsinstrumentpanel för att visualisera data.
Förutsättningar
Innan du påbörjar den här snabbstarten måste du slutföra följande snabbstarter:
- Snabbstart: Kör Azure IoT Operations Preview i GitHub Codespaces med K3s
- Snabbstart: Lägga till OPC UA-tillgångar i azure IoT Operations Preview-klustret
Vilket problem kommer vi att lösa?
Om du vill använda ett verktyg som Realtidsinstrumentpanel för att analysera dina OPC UA-data måste du skicka data till en molntjänst som Azure Event Hubs. Ett dataflöde kan prenumerera på ett MQTT-ämne och vidarebefordra meddelandena till en händelsehubb i ditt Azure Event Hubs-namnområde. Nästa snabbstart visar hur du använder realtidsinstrumentpaneler för att visualisera och analysera dina data.
Ange miljövariabler
Om du använder Codespaces-miljön har de miljövariabler som krävs redan angetts och du kan hoppa över det här steget. Annars anger du följande miljövariabler i gränssnittet:
# 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>
Skapa ett Event Hubs-namnområde
Om du vill skapa ett Event Hubs-namnområde och en händelsehubb kör du följande Azure CLI-kommandon i gränssnittet. Dessa kommandon skapar Event Hubs-namnområdet i samma resursgrupp som ditt Kubernetes-kluster:
az eventhubs namespace create --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP --disable-local-auth true
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
Om du vill ge Azure IoT Operations-tillägget i klustret åtkomst till event hubs-namnområdet kör du följande Azure CLI-kommandon:
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
Skapa ett dataflöde för att skicka telemetri till en händelsehubb
Om du vill skapa och konfigurera ett dataflöde i klustret kör du följande kommandon i gränssnittet. Det här dataflödet:
- Byter namn på fältet
Tag 10
i det inkommande meddelandet tillHumidity
. - Byter namn på fältet
temperature
i det inkommande meddelandet tillTemperature
. - Lägger till ett fält med namnet
AssetId
som innehåller värdet för meddelandeegenskapenexternalAssetId
. - Vidarebefordrar de transformerade meddelandena från MQTT-ämnet till den händelsehubb som du skapade.
wget https://raw.githubusercontent.com/Azure-Samples/explore-iot-operations/main/samples/quickstarts/dataflow.yaml
sed -i 's/<NAMESPACE>/'"${CLUSTER_NAME:0:24}"'/' dataflow.yaml
kubectl apply -f dataflow.yaml
Kontrollera att data flödar
Om du vill kontrollera att data flödar till molnet kan du visa din Event Hubs-instans i Azure Portal. Du kan behöva vänta i flera minuter för att dataflödet ska starta och för att meddelanden ska flöda till händelsehubben.
Om meddelanden flödar till instansen kan du se antalet inkommande meddelanden på instansens översiktssida :
Om meddelanden flödar kan du använda Datautforskaren för att visa meddelandena:
Dricks
Du kan behöva tilldela dig själv rollen Azure Event Hubs Data Receiver för Event Hubs-namnområdet för att visa meddelandena.
Hur löste vi problemet?
I den här snabbstarten använde du ett dataflöde för att ansluta ett MQTT-ämne till en händelsehubb i ditt Azure Event Hubs-namnområde. I nästa snabbstart använder du Microsoft Fabric Realtidsinformation för att visualisera data.
Rensa resurser
Om du fortsätter till nästa snabbstart behåller du alla dina resurser.
Om du vill ta bort Azure IoT Operations-distributionen men behålla klustret använder du kommandot az iot ops delete :
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Om du vill ta bort alla resurser som du skapade för den här snabbstarten tar du bort Kubernetes-klustret där du distribuerade Azure IoT-åtgärder och tar sedan bort azure-resursgruppen som innehöll klustret.
Om du använde Codespaces för dessa snabbstarter tar du bort ditt Codespace från GitHub.
Kommentar
Resursgruppen innehåller event hubs-namnområdet som du skapade i den här snabbstarten.