Delen via


Zelfstudie: Berichten verzenden van assets 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.

Vereiste voorwaarden

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 Microsoft Fabric Real-Time 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

Zorg ervoor dat de volgende omgevingsvariabelen zijn ingesteld in uw shell:

Aanbeveling

Als u de door de gebruiker toegewezen beheerde identiteiten wilt weergeven die u in uw resourcegroep hebt gemaakt, voert u de volgende opdracht uit in uw shell: az identity list -g $RESOURCE_GROUP -o table

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

# The name of the user-assigned managed identity that you created for cloud connections
USER_ASSIGNED_MI_NAME=<cloud-connection-uami>

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

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 identity show --name $USER_ASSIGNED_MI_NAME --resource-group $RESOURCE_GROUP --query principalId --output tsv)

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

Een gegevensstroom maken om berichten naar een Event Hub te verzenden

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

  • Wijzigt de naam van het temperature veld in het binnenkomende bericht in TemperatureF.
  • 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. Navigeer naar de webinterface van de operationele ervaring en zoek uw instantie. Selecteer vervolgens Gegevensstroomeindpunten en selecteer + Nieuw in de tegel Azure Event Hubs:

    Schermopname van de pagina eindpunten voor gegevensstromen.

  2. Voer in het eindpunt nieuwe gegevensstroom maken in: Azure Event Hubs, voer event-hubs-target in als de naam en zoek de Event Hubs-naamruimte die u in het veld Host hebt gemaakt.

  3. Selecteer door de gebruiker toegewezen beheerde identiteit als verificatiemethode. Voeg de client-id en tenant-id toe van de door de gebruiker toegewezen beheerde identiteit die u gebruikt voor cloudverbindingen. Gebruik de volgende CLI-opdracht om de client-id en tenant-id van de door de gebruiker toegewezen beheerde identiteiten in uw resourcegroep weer te geven: az identity list -g $RESOURCE_GROUP -o table

  4. Klik op Toepassen:

    Schermopname van het eindpunt 'Nieuwe gegevensstroom maken': Azure Event Hubs-pagina.

    Uw nieuwe gegevensstroomeindpunt wordt gemaakt en wordt weergegeven in de lijst op de pagina Eindpunten van gegevensstroom.

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

    Schermopname van de pagina gegevensstromen.

  6. In de gegevensstroomeditor, selecteer Selecteer bron. Selecteer vervolgens de thermostaatasset die u eerder hebt gemaakt en selecteer Doorgaan.

  7. In de gegevensstroomeditor Selecteer doel. Selecteer vervolgens het eindpunt event-hubs-target dat u eerder hebt gemaakt en selecteer Doorgaan.

  8. 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 de optie Toepassen. Uw gegevensstroom heeft nu de thermostaatasset als bron en een hub in uw Event Hubs-naamruimte als bestemming.

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

  10. Als u de naam van het temperature veld in het binnenkomende bericht wilt wijzigen, selecteert u + Toevoegen in de tegel Naam wijzigen .

  11. Voeg de volgende hernoemingstransformatie toe:

    Gegevenspunt Nieuwe gegevenspuntnaam
    temperatuur. Waarde ThermostaatTemperatuurF
  12. Om de asset-ID uit de metagegevens van het bericht te kopiëren, voegt u de volgende hernoemtransformatie toe:

    Gegevenspunt Nieuwe gegevenspuntnaam
    $metadata.user_property.externalAssetId Assetnummer

    De naamtransformatie ziet eruit als de volgende schermafbeelding.

    Schermopname van de hernoemtransformatie.

    Selecteer de optie Toepassen.

  13. De gegevensstroomeditor ziet er nu als volgt uit:

    Schermopname van de voltooide gegevensstroom.

  14. Om de gegevensstroom te starten, voert u tutorial-data-flow in als naam en selecteert u Opslaan. Na een paar minuten verandert de inrichtingsstatus 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 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.

Aanbeveling

Mogelijk moet u uzelf toewijzen aan de rol Azure Event Hubs Data Receiver 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.

De hulpbronnen opschonen

Als u doorgaat met de volgende tutorial, bewaar al uw resources.

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.

Opmerking

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

Volgende stap

Handleiding: Inzichten verkrijgen uit uw asset-berichten