Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans ce tutoriel, vous utilisez un flux de données pour transférer des messages de l’Agent MQTT vers un event hub 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.
Conditions préalables
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 Microsoft Fabric Real-Time Dashboard 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 event hub 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
Vérifiez que les variables d’environnement suivantes sont définies dans votre interpréteur de commandes :
Conseil / Astuce
Pour afficher les identités managées affectées par l’utilisateur que vous avez créées dans votre groupe de ressources, exécutez la commande suivante dans votre interpréteur de commandes : 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>
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 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
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 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
Créer un flux de données pour envoyer des messages à un hub d’événements
Utilisez l’interface utilisateur web de l’expérience des opérations pour créer et configurer un flux de données dans votre cluster qui :
- Renomme le champ
temperaturedans le message entrant enTemperatureF. - Ajoute un champ appelé
AssetIdqui 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 créer le flux de données :
Accédez à l’interface utilisateur web 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 nouveau point de terminaison de flux de données : Azure Event Hubs, entrez event-hubs-target comme nom, et recherchez l’espace de noms Event Hubs que vous avez créé dans le champ Hôte.
Sélectionnez l’identité managée affectée par l’utilisateur comme méthode d’authentification. Ajoutez les valeurs de l’ID client et de l’ID locataire de l’identité gérée affectée par l’utilisateur que vous utilisez pour les connexions cloud. Utilisez la commande CLI suivante pour répertorier l’ID client et l’ID de locataire des identités managées assignées à l'utilisateur dans votre groupe de ressources :
az identity list -g $RESOURCE_GROUP -o table.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 <new-data-flow> 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, puis sélectionnez Continuer.
Dans l’éditeur de flux de données, sélectionnez Sélectionner la destination. Sélectionnez ensuite le point de terminaison event-hubs-target que vous avez créé précédemment et sélectionnez Continuer.
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 le champ
temperaturedans le message entrant, sélectionnez + Ajouter dans la vignette Renommer.Ajoutez la transformation de changement de nom suivante :
Point de données Nouveau nom de point de données température.Valeur ThermostatTemperatureF Pour copier l’ID de ressource à partir des métadonnées du message, ajoutez la transformation de changement de nom suivante :
Point de données Nouveau nom de point de données $metadata.user_property.externalAssetId Identifiant d'actif 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 tutorial-data-flow 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 / Astuce
Vous devrez peut-être vous attribuer le rôle Récepteur de données Azure Event Hubs pour l’espace de noms Event Hubs pour 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 event hub 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.