Delen via


Zelfstudie: Assettelemetrie verzenden naar de cloud met behulp van een gegevensstroom

In deze zelfstudie gebruikt u een gegevensstroom om berichten van de MQTT-broker door te sturen naar een Event Hub in de Azure Event Hubs-service. De Event Hub kan de gegevens leveren aan andere cloudservices voor opslag en analyse. In de volgende zelfstudie gebruikt u een realtime dashboard om de gegevens te visualiseren.

Vereisten

Voordat u met deze zelfstudie begint, moet u de zelfstudie voltooien : OPC UA-assets toevoegen aan uw Azure IoT Operations-cluster.

Welk probleem gaan we oplossen?

Als u een hulpprogramma zoals realtime dashboard wilt gebruiken om uw OPC UA-gegevens te analyseren, moet u de gegevens verzenden naar een cloudservice zoals Azure Event Hubs. Een gegevensstroom kan zich abonneren op een MQTT-onderwerp en de berichten doorsturen naar een Event Hub in uw Azure Event Hubs-naamruimte. In de volgende zelfstudie ziet u hoe u realtime dashboards gebruikt om uw gegevens te visualiseren en te analyseren.

Uw omgevingsvariabelen instellen

Als u de Codespaces-omgeving gebruikt, zijn de vereiste omgevingsvariabelen al ingesteld en kunt u deze stap overslaan. Stel anders de volgende omgevingsvariabelen in uw shell in:

# 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>

Een Event Hubs-naamruimte maken

Als u een Event Hubs-naamruimte en een Event Hub wilt maken, voert u de volgende Azure CLI-opdrachten uit in uw shell. Met deze opdrachten maakt u de Event Hubs-naamruimte in dezelfde resourcegroep als uw Kubernetes-cluster:

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

Voer de volgende Azure CLI-opdrachten uit om de Azure IoT Operations-extensie in uw cluster toegang te verlenen tot uw Event Hubs-naamruimte:

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

Een gegevensstroom maken om telemetrie te verzenden naar een Event Hub

Gebruik de gebruikersinterface voor bewerkingen om een gegevensstroom in uw cluster te maken en te configureren die:

  • Wijzigt de naam van het Tag 10 veld in het binnenkomende bericht in Humidity.
  • Wijzigt de naam van het temperature veld in het binnenkomende bericht in Temperature.
  • Hiermee voegt u een veld AssetId toe dat de naam van de asset bevat.
  • Stuurt de getransformeerde berichten van het MQTT-onderwerp door naar de Event Hub die u hebt gemaakt.

De gegevensstroom maken:

  1. Blader naar de gebruikersinterface van de bewerkingservaring en zoek uw exemplaar. Selecteer vervolgens Gegevensstroomeindpunten en selecteer + Nieuw in de tegel Azure Event Hubs:

    Schermopname van de pagina Gegevensstroomeindpunten.

  2. Voer in het eindpunt Nieuwe gegevensstroom maken in: Azure Event Hubs, voer event-hubs-target in als de naam en werk het hostveld bij met het adres van de Event Hubs-naamruimte die u hebt gemaakt. Selecteer Toepassen:

    Schermopname van de pagina Nieuw gegevensstroomeindpunt maken: Azure Event Hubs.

    Uw nieuwe gegevensstroomeindpunt wordt gemaakt en wordt weergegeven in de lijst op de pagina Gegevensstroomeindpunten .

  3. Selecteer Gegevensstromen en selecteer vervolgens + Gegevensstroom maken. Op de <pagina nieuwe gegevensstroom> wordt het volgende weergegeven:

    Schermopname van de pagina Gegevensstromen.

  4. Selecteer bron selecteren in de gegevensstroomeditor. Selecteer vervolgens de thermostaatasset die u eerder hebt gemaakt en selecteer Toepassen.

  5. Selecteer In de gegevensstroomeditor het eindpunt Gegevensstroom selecteren. Selecteer vervolgens het event-hubs-doeleindpunt dat u eerder hebt gemaakt en selecteer Toepassen.

  6. Voer op de volgende pagina destinationeh in als het onderwerp. Het onderwerp verwijst naar de hub die u hebt gemaakt in de Event Hubs-naamruimte. Selecteer Toepassen. Uw gegevensstroom heeft nu de thermostaatasset als bron en een hub in uw Event Hubs-naamruimte als bestemming.

  7. Als u een transformatie wilt toevoegen, selecteert u Transformatie toevoegen (optioneel).

  8. Als u de naam van de Tag 10 en velden in het binnenkomende bericht wilt wijzigen, selecteert u + Toevoegen in de tegel Naam wijzigentemperature.

  9. Voeg de volgende twee transformaties voor namen toe:

    Gegevenspunt Nieuwe gegevenspuntnaam
    Tag 10.Value ThermostatHumiditeit
    temperatuur. Waarde ThermostatTemperature
  10. Als u de asset-id wilt kopiëren uit de metagegevens van het bericht, voegt u de volgende transformatie van de naam van de naam toe:

    Gegevenspunt Nieuwe gegevenspuntnaam
    $metadata.user_property.externalAssetId AssetId

    De transformatie van de naam ziet er als volgt uit:

    Schermopname van de transformatie van de naam wijzigen.

    Selecteer Toepassen.

  11. De gegevensstroomeditor ziet er nu als volgt uit:

    Schermopname van de voltooide gegevensstroom.

  12. Als u de gegevensstroom wilt starten, voert u de naam van de zelfstudiegegevensstroom in en selecteert u Opslaan. Na een paar minuten wordt de inrichtingsstatus gewijzigd in Geslaagd. De gegevensstroom wordt nu uitgevoerd in uw cluster.

Uw gegevensstroom abonneert zich op een MQTT-onderwerp om berichten van de thermostaatasset te ontvangen. De naam van sommige velden in het bericht wordt gewijzigd en de getransformeerde berichten worden doorgestuurd naar de Event Hub die u hebt gemaakt.

Controleren of gegevens stromen

Als u wilt controleren of de gegevens naar de cloud stromen, kunt u uw Event Hubs-exemplaar bekijken in Azure Portal. Mogelijk moet u enkele minuten wachten totdat de gegevensstroom is gestart en voordat berichten naar de Event Hub worden verzonden.

Als berichten naar het exemplaar stromen, ziet u het aantal binnenkomende berichten op de pagina Overzicht van het exemplaar:

Schermopname van de overzichtspagina van het Event Hubs-exemplaar met binnenkomende berichten.

Als berichten stromen, kunt u Data Explorer gebruiken om de berichten weer te geven:

Schermopname van de pagina **Data Explorer** van het Event Hubs-exemplaar.

Tip

Mogelijk moet u uzelf toewijzen aan de azure Event Hubs-gegevensontvangerrol voor de Event Hubs-naamruimte om de berichten weer te geven.

Hoe hebben we het probleem opgelost?

In deze zelfstudie hebt u een gegevensstroom gebruikt om een MQTT-onderwerp te verbinden met een Event Hub in uw Azure Event Hubs-naamruimte. In de volgende zelfstudie gebruikt u Real-Time Intelligence van Microsoft Fabric om de gegevens te visualiseren.

Resources opschonen

Als u doorgaat met de volgende zelfstudie, houdt u al uw resources bij.

Als u de Implementatie van Azure IoT Operations wilt verwijderen, maar uw cluster wilt behouden, gebruikt u de opdracht az iot ops delete :

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

Als u alle resources wilt verwijderen die u voor deze quickstart hebt gemaakt, verwijdert u het Kubernetes-cluster waarin u Azure IoT Operations hebt geïmplementeerd en verwijdert u vervolgens de Azure-resourcegroep die het cluster bevat.

Als u Codespaces voor deze quickstarts hebt gebruikt, verwijdert u uw Codespace uit GitHub.

Notitie

De resourcegroep bevat de Event Hubs-naamruimte die u in deze zelfstudie hebt gemaakt.

Volgende stap

Zelfstudie: Inzichten verkrijgen uit uw assettelemetrie