Dela via


Självstudie: Skicka tillgångstelemetri till molnet med hjälp av ett dataflöde

I den här självstudien 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 självstudie använder du en instrumentpanel i realtid för att visualisera data.

Förutsättningar

Innan du påbörjar den här självstudien måste du slutföra Självstudie: Lägga till OPC UA-tillgångar i ditt Azure IoT Operations-kluster.

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 självstudie 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 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

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

Använd användargränssnittet för driftsupplevelse för att skapa och konfigurera ett dataflöde i klustret som:

  • Byter namn på fältet Tag 10 i det inkommande meddelandet till Humidity.
  • Byter namn på fältet temperature i det inkommande meddelandet till Temperature.
  • Lägger till ett fält med namnet AssetId som innehåller namnet på tillgången.
  • Vidarebefordrar de transformerade meddelandena från MQTT-ämnet till den händelsehubb som du skapade.

Så här skapar du dataflödet:

  1. Bläddra till användargränssnittet för driftupplevelsen och leta upp din instans. Välj sedan Dataflödesslutpunkter och välj + Nytt i Azure Event Hubs-panelen :

    Skärmbild av sidan Dataflödesslutpunkter.

  2. I slutpunkten Skapa nytt dataflöde: Azure Event Hubs anger du event-hubs-target som namn och uppdaterar fältet Värd med adressen för event hubs-namnområdet som du skapade. Välj Använd:

    Skärmbild av sidan Skapa ny dataflödesslutpunkt: Azure Event Hubs.

    Den nya dataflödesslutpunkten skapas och visas i listan på sidan Dataflödesslutpunkter .

  3. Välj Dataflöden och välj sedan + Skapa dataflöde. Sidan <nytt dataflöde> visar:

    Skärmbild av sidan Dataflöden.

  4. I dataflödesredigeraren väljer du Välj källa. Välj sedan termostattillgången som du skapade tidigare och välj Tillämpa.

  5. I dataflödesredigeraren väljer du Välj dataflödesslutpunkt. Välj sedan slutpunkten event-hubs-target som du skapade tidigare och välj Tillämpa.

  6. På nästa sida anger du destinationeh som ämne. Ämnet refererar till den hubb som du skapade i Event Hubs-namnområdet. Välj Använd. Ditt dataflöde har nu termostattillgången som källa och en hubb i Event Hubs-namnområdet som mål.

  7. Om du vill lägga till en transformering väljer du Lägg till transformering (valfritt).

  8. Om du vill byta namn på fälten Tag 10 och temperature i det inkommande meddelandet väljer du + Lägg till i panelen Byt namn.

  9. Lägg till följande två byt namn på transformeringar:

    Datapunkt Nytt datapunktsnamn
    Tagg 10.Value ThermostatHumidity
    temperatur. Värde ThermostatTemperature
  10. Om du vill kopiera tillgångs-ID:t från meddelandemetadata lägger du till följande transformeringsbyte:

    Datapunkt Nytt datapunktsnamn
    $metadata.user_property.externalAssetId AssetId

    Omvandlingen av namnbytet ser ut som följande skärmbild:

    Skärmbild av omvandlingen av namnbytet.

    Välj Använd.

  11. Dataflödesredigeraren ser nu ut som följande skärmbild:

    Skärmbild av det slutförda dataflödet.

  12. Starta dataflödet genom att ange tutorial-dataflow som namn och sedan välja Spara. Efter några minuter ändras etableringstillståndet till Lyckades. Dataflödet körs nu i klustret.

Ditt dataflöde prenumererar på ett MQTT-ämne för att ta emot meddelanden från termostattillgången. Den byter namn på några av fälten i meddelandet och vidarebefordrar de transformerade meddelandena till den händelsehubb som du skapade.

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 på att dataflödet ska starta och att meddelanden ska flöda till händelsehubben.

Om meddelanden flödar till instansen kan du se antalet inkommande meddelanden på instansens översiktssida :

Skärmbild som visar översiktssidan för Event Hubs-instansen med inkommande meddelanden.

Om meddelanden flödar kan du använda Datautforskaren för att visa meddelandena:

Skärmbild av sidan Event Hubs-instans **Datautforskaren**.

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 självstudien 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 självstudie använder du Microsoft Fabric Realtidsinformation för att visualisera data.

Rensa resurser

Om du fortsätter till nästa självstudie behåll 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 självstudien.

Gå vidare

Självstudie: Få insikter från din tillgångstelemetri