Tutoriel : envoyer la télémétrie de ressources au cloud en utilisant un flux de données
Dans ce tutoriel, vous utilisez un flux de données pour transférer des messages du répartiteur MQTT vers un hub d’événements dans le service Azure Event Hubs. Le hub d’événements peut fournir les données à d’autres services cloud pour leur stockage et leur analyse. Dans le tutoriel suivant, vous utilisez un tableau de bord en temps réel pour visualiser les données.
Prérequis
Avant de commencer ce tutoriel, vous devez terminer le Tutoriel : Ajouter des ressources OPC UA à votre cluster Opérations Azure IoT.
Quel problème résoudrons-nous ?
Pour utiliser un outil tel que le tableau de bord en temps réel pour analyser vos données OPC UA, vous devez envoyer les données à un service cloud tel qu’Azure Event Hubs. Un flux de données peut s’abonner à une rubrique MQTT et transférer les messages à un hub d’événements dans votre espace de noms Azure Event Hubs. Le guide de tutoriel suivant vous montre comment utiliser des tableaux de bord en temps réel pour visualiser et analyser vos données.
Définir vos variables d’environnement
Si vous utilisez l’environnement Codespaces, les variables d’environnement obligatoires sont déjà définies et vous pouvez ignorer cette étape. Sinon, définissez les variables d’environnement suivantes dans votre interpréteur de commandes :
# 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>
Créer un espace de noms Event Hubs
Pour créer un espace de noms Event Hubs et un Event Hub, exécutez les commandes Azure CLI suivantes dans votre interpréteur de commandes. Ces commandes créent l’espace de noms Event Hubs dans le même groupe de ressources que votre cluster Kubernetes :
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
Pour accorder à l’extension Azure IoT Operations dans votre cluster l’accès à votre espace de noms Event Hubs, exécutez les commandes Azure CLI suivantes :
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
Créer un flux de données pour envoyer des données de télémétrie à un hub d’événements
Utilisez l’interface utilisateur de l’expérience des opérations pour créer et configurer un flux de données dans votre cluster qui :
- Renomme le champ
Tag 10
dans le message entrant enHumidity
. - Renomme le champ
temperature
dans le message entrant enTemperature
. - Ajoute un champ appelé
AssetId
qui contient le nom de l'actif. - Transfère les messages transformés de la rubrique MQTT vers l’Event Hub que vous avez créé.
Pour la création du flux de données :
Accédez à l’interface utilisateur de l’expérience des opérations et recherchez votre instance. Sélectionnez ensuite points de terminaison de flux de données , puis + Nouveau dans la vignette Azure Event Hubs :
Dans le Créer un point de terminaison de flux de données : Azure Event Hubs, entrez event-hubs-target comme nom et mettez à jour le champ Hôte avec l’adresse de l’espace de noms Event Hubs que vous avez créé. Sélectionnez Appliquer :
Votre nouveau point d'arrivée de flux de données est créé et s'affiche dans la liste de la page Points de terminaison de flux de données.
Sélectionnez Flux de données, puis sélectionnez + Créer un flux de données. La page <nouveau flux de données> s’affiche :
Dans l’éditeur de flux de données, sélectionnez Sélectionner une source. Sélectionnez ensuite la ressource thermostat que vous avez créée précédemment et sélectionnez Appliquer.
Dans l’éditeur de flux de données, sélectionnez Sélectionner le point de terminaison de flux de données. Sélectionnez ensuite le point de terminaison event-hubs-target que vous avez créé précédemment et sélectionnez Appliquer.
Dans la page suivante, entrez destinationeh comme rubrique. La rubrique fait référence au hub que vous avez créé dans l’espace de noms Event Hubs. Sélectionnez Appliquer. Votre flux de données dispose désormais de la ressource thermostat comme source et d’un hub dans votre espace de noms Event Hubs comme destination.
Pour ajouter une transformation, sélectionnez Ajouter une transformation (facultatif).
Pour renommer les champs
Tag 10
ettemperature
dans le message entrant, sélectionnez + Ajouter dans la vignette Renommer.Ajoutez les deux transformations de renommage suivantes :
Datapoint Nouveau nom de point de données Balise 10.Value ThermostatHumidity température.Valeur ThermostatTemperature Pour copier l’ID de ressource à partir des métadonnées du message, ajoutez la transformation de changement de nom suivante :
Datapoint Nouveau nom de point de données $metadata.user_property.externalAssetId AssetId La transformation du nom ressemble à la capture d'écran suivante :
Sélectionnez Appliquer.
L'éditeur de flux de données ressemble maintenant à la capture d'écran suivante :
Pour démarrer le flux de données en cours d’exécution, entrez tutoriel-flux de données comme nom, puis sélectionnez Enregistrer. Après quelques minutes, l’état d’approvisionnement passe à réussi. Le flux de données est maintenant en cours d’exécution dans votre cluster.
Votre flux de données s’abonne à une rubrique MQTT pour recevoir des messages de la ressource thermostat. Il renomme certains des champs du message et transfère les messages transformés au hub d’événements que vous avez créé.
Vérifier que les données circulent
Pour vérifier que les données circulent vers le cloud, vous pouvez afficher votre instance Event Hubs dans le Portail Azure. Il se peut que vous deviez attendre quelques minutes pour que le flux de données démarre et que les messages circulent vers le Event Hub.
Si les messages circulent vers l’instance, vous pouvez voir le nombre de messages entrants sur la page Vue d’ensemble de l’instance :
Si des messages circulent, vous pouvez utiliser Data Explorer pour afficher les messages :
Conseil
Vous devez peut-être vous attribuer le rôle Récepteur de données Azure Event Hubs pour l’espace de noms Event Hubs afin d’afficher les messages.
Comment avons-nous résolu le problème ?
Dans ce tutoriel, vous avez utilisé un flux de données pour connecter une rubrique MQTT à un hub d’événements dans votre espace de noms Azure Event Hubs. Dans le tutoriel suivant, vous utilisez Microsoft Fabric Real-Time Intelligence pour visualiser les données.
Nettoyer les ressources
Si vous passez au tutoriel suivant, conservez toutes vos ressources.
Si vous voulez supprimer le déploiement d’Opérations Azure IoT mais conserver votre cluster, utilisez la commande az iot ops delete :
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Si vous voulez supprimer toutes les ressources que vous avez créées pour ce démarrage rapide, supprimez le cluster Kubernetes où vous avez déployé Opérations Azure IoT, puis supprimez le groupe de ressources Azure qui contenait le cluster.
Si vous avez utilisé Codespaces pour ces démarrages rapides, supprimez votre codespace de GitHub.
Remarque
Le groupe de ressources contient l’espace de noms Event Hubs que vous avez créé dans ce tutoriel.
Étape suivante
Tutoriel : Obtenir des insights à partir de la télémétrie de vos ressources