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 inHumidity
. - Wijzigt de naam van het
temperature
veld in het binnenkomende bericht inTemperature
. - 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:
Blader naar de gebruikersinterface van de bewerkingservaring en zoek uw exemplaar. Selecteer vervolgens Gegevensstroomeindpunten en selecteer + Nieuw in de tegel Azure Event Hubs:
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:
Uw nieuwe gegevensstroomeindpunt wordt gemaakt en wordt weergegeven in de lijst op de pagina Gegevensstroomeindpunten .
Selecteer Gegevensstromen en selecteer vervolgens + Gegevensstroom maken. Op de <pagina nieuwe gegevensstroom> wordt het volgende weergegeven:
Selecteer bron selecteren in de gegevensstroomeditor. Selecteer vervolgens de thermostaatasset die u eerder hebt gemaakt en selecteer Toepassen.
Selecteer In de gegevensstroomeditor het eindpunt Gegevensstroom selecteren. Selecteer vervolgens het event-hubs-doeleindpunt dat u eerder hebt gemaakt en selecteer Toepassen.
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.
Als u een transformatie wilt toevoegen, selecteert u Transformatie toevoegen (optioneel).
Als u de naam van de
Tag 10
en velden in het binnenkomende bericht wilt wijzigen, selecteert u + Toevoegen in de tegel Naam wijzigentemperature
.Voeg de volgende twee transformaties voor namen toe:
Gegevenspunt Nieuwe gegevenspuntnaam Tag 10.Value ThermostatHumiditeit temperatuur. Waarde ThermostatTemperature 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:
Selecteer Toepassen.
De gegevensstroomeditor ziet er nu als volgt uit:
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:
Als berichten stromen, kunt u Data Explorer gebruiken om de berichten weer te geven:
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.