Tutoriel : obtenir des aperçus à partir de vos données traitées

Dans cet article, vous allez créer un tableau de bord en temps réel pour capturer des insights à partir des données OPC UA que vous avez envoyées à Event Hubs dans l’article précédent. En utilisant Microsoft Fabric Real-Time Intelligence, vous apportez vos données d’Event Hubs dans Microsoft Fabric et mappez-les dans une base de données KQL qui peut être une source pour les tableaux de bord en temps réel. Ensuite, vous créez un tableau de bord pour afficher ces données dans des vignettes visuelles qui capturent des insights et montrent les valeurs au fil du temps.

Ces opérations constituent les dernières étapes de l’exemple de scénario de bout en bout, allant du déploiement d’Opérations Azure IoT à la périphérie jusqu’à l’obtention d’informations à partir des données de cet appareil dans le cloud.

Prérequis

Avant de commencer ce tutoriel, suivez ce tutoriel : Envoyer des messages à partir de ressources vers le cloud à l’aide d’un flux de données.

Vous avez également besoin des ressources Fabric suivantes :

  • Un abonnement Microsoft Fabric. Dans votre abonnement, vous devez accéder à un espace de travail avec des autorisations Contributeur ou supérieures.
  • Un locataire Microsoft Fabric qui permet la création de tableaux de bord en temps réel. Votre administrateur client peut activer ce paramètre. Pour plus d’informations, consultez Activer les paramètres de locataire dans le portail d’administration.

Quel problème résoudrons-nous ?

Lorsque vos données OPC UA arrivent dans le cloud, vous pouvez analyser une multitude d’informations. Organisez les données et créez des rapports avec des graphiques et des visualisations pour obtenir des insights. Cet article vous montre comment connecter les données à Real-Time Intelligence et créer un tableau de bord en temps réel.

Ingérer des données dans Intelligence en temps réel

Dans cette section, vous configurez un Eventstream Microsoft Fabric pour connecter votre hub d’événements à une base de données KQL dans Intelligence en temps réel. Ce processus comprend la mise en place d’un mappage de données pour transformer les données de charge utile du format JSON en colonnes KQL.

Créer un flux d’événements

Dans cette section, vous créez un Eventstream qui sera utilisé pour importer vos données depuis Event Hubs dans Intelligence en temps réel de Microsoft Fabric, puis dans une base de données KQL.

Commencez par accéder à l’expérience Intelligence en temps réel dans Microsoft Fabric, puis ouvrez votre espace de travail Fabric.

Suivez les étapes de Créer un flux d’événements dans Microsoft Fabric pour créer une ressource de flux d’événements dans votre espace de travail.

Une fois le flux d’événements créé, vous voyez l’éditeur principal où vous pouvez commencer à construire le flux d’événements.

Ajouter un hub d’événements comme source

Ajoutez ensuite votre hub d’événements du tutoriel précédent comme source de données pour l’élément Eventstream.

Suivez les étapes de Ajouter une source Azure Event Hubs à un Eventstream pour ajouter la source d’événements. Gardez à l’esprit les points suivants :

  • Vous allez créer une connexion cloud avec une authentification par clé d’accès partagé.
    • Vérifiez que l’authentification locale est activée sur votre hub d’événements. Vous pouvez définir cela sur sa page Vue d’ensemble dans le portail Azure.
  • Pour Groupe de consommateurs, utilisez la sélection par défaut ($Default).
  • Pour Format des données, choisissez Json (il peut déjà être sélectionné par défaut).

Une fois ce flux terminé, le hub d’événements Azure est visible dans l’affichage en direct de l’Eventstream en tant que source.

Capture d’écran de l’Eventstream avec une source AzureEventHub.

Vérifier le flux de données

Suivez ces étapes pour vérifier votre travail jusqu’à présent et vous assurer que les données sont acheminées vers l’Eventstream.

  1. Démarrez votre cluster là où vous avez déployé Opérations Azure IoT dans des tutoriels antérieurs. Le simulateur OPC PLC que vous avez déployé avec votre instance Opérations Azure IoT doit commencer à s’exécuter et à envoyer des données à MQTT broker. Vous pouvez vérifier cette partie du flux en utilisant mqttui, comme décrit dans Vérifier que les données circulent.

  2. Attendez quelques minutes que les données se propagent. Ensuite, dans l’affichage en direct d’Eventstream, sélectionnez la source AzureEventHub et actualisez l’aperçu des données. Vous devez voir des données JSON provenant du simulateur commencer à apparaître dans la table.

    Capture d’écran de l’Eventstream avec des données provenant de la source AzureEventHub.

Conseil

Si les données ne sont pas arrivées dans votre Eventstream, vous pouvez examiner l’activité de votre Event Hub pour vérifier qu’il reçoit des messages. Ceci vous aidera à isoler la section du flux à déboguer.

Préparer les ressources KQL

Dans cette section, vous créez une base de données KQL dans votre espace de travail Microsoft Fabric pour l’utiliser comme destination de vos données.

  1. Suivez les étapes dans Créer un Eventhouse pour créer un Eventhouse dans Real-Time Intelligence avec une base de données enfant KQL. Vous devez effectuer seulement ce qui est décrit dans la section intitulée Créer un Eventhouse.

  2. Ensuite, créez une table dans votre base de données. Appelez-la OPCUA et utilisez les colonnes suivantes.

    Nom de la colonne Type de données
    Identifiant d'actif ficelle
    Température Décimal
    Horodatage Date et heure
  3. Une fois la table OPCUA créée, sélectionnez votre base de données, puis utilisez le bouton Requête avec code afin d’ouvrir une fenêtre de requête.

    Capture d’écran montrant le bouton Explorer vos données.

  4. Supprimez le code existant, puis exécutez la requête KQL suivante pour créer un mappage de données pour votre table. Le mappage de données sera appelé opcua_mapping.

    .create table ['OPCUA'] ingestion json mapping 'opcua_mapping' '[{"column":"AssetId", "Properties":{"Path":"$[\'AssetId\']"}},{"column":"Temperature", "Properties":{"Path":"$[\'ThermostatTemperatureF\']"}},{"column":"Timestamp", "Properties":{"Path":"$[\'EventProcessedUtcTime\']"}}]'
    

Ajouter une table de données en tant que destination

Ensuite, revenez à votre vue Eventstream, où vous pouvez ajouter votre nouvelle table KQL en tant que destination Eventstream.

Suivez les étapes décrites dans Ajouter une destination de base de données KQL à un Eventstream pour ajouter la destination. Gardez à l’esprit les points suivants :

  • Utilisez le mode d’ingestion directe.

  • À l’étape Configurer, sélectionnez la table OPCUA que vous avez créée précédemment.

  • À l’étape Inspecter, sélectionnez opcua_mapping, sélectionnez Mappage existant, puis opcua_mapping.

    Capture d’écran montrant l’ajout d’un mappage existant.

    Conseil

    Si aucun mappage existant n’est trouvé, essayez en actualisant l’éditeur d’Eventstream et en effectuant à nouveau les étapes pour ajouter la destination. Vous pouvez également lancer ce même processus de configuration depuis la table KQL au lieu de le faire depuis l’Eventstream, comme décrit dans Obtenir des données auprès d’un Eventstream.

Après avoir terminé ce flux, la table KQL est visible en tant que destination dans la vue en temps réel du flux d’événements.

Patientez quelques minutes pour que les données se propagent et que l’état de la destination passe à Actif. Vous devez voir les données du hub d’événements commencer à apparaître dans l’aperçu. Si les données ne s’affichent pas dans la préversion, patientez quelques minutes plus longtemps et actualisez à nouveau l’aperçu.

Capture d’écran de l’Eventstream avec des données dans la destination de la base de données KQL.

Si vous le souhaitez, vous pouvez également voir et interroger ces données directement dans votre base de données KQL.

Capture d’écran des mêmes données interrogées depuis la base de données KQL.

Créer un tableau de bord en temps réel

Dans cette section, vous allez créer un Tableau de bord en temps réel pour visualiser les données de votre tutoriel. Le tableau de bord autorise le filtrage par ID de ressource et horodatage, et affiche des résumés visuels des données de température.

Remarque

Vous pouvez créer des tableaux de bord en temps réel seulement si l’administrateur de votre locataire a activé la création de tableaux de bord en temps réel dans votre locataire Fabric. Pour plus d’informations, consultez Activer les paramètres de locataire dans le portail d’administration.

Créer un tableau de bord et connecter une source de données

Suivez les étapes de la section Créer un tableau de bord pour créer un tableau de bord en temps réel à partir des fonctionnalités d’Intelligence en temps réel.

Ensuite, suivez les étapes décrites dans la section Ajouter une source de données pour ajouter votre base de données en tant que source de données. Gardez à l’esprit la remarque suivante :

  • Dans le volet Sources de données, votre base de données se trouve sous Eventhouse/KQL Database.

Configurer les paramètres

Ensuite, configurez quelques paramètres pour votre tableau de bord afin que les visuels puissent être filtrés par ID de ressource et par horodatage. Le tableau de bord est fourni avec un paramètre par défaut pour filtrer par intervalle de temps : vous devez donc seulement en créer un qui peut filtrer par ID de ressource.

  1. Passez à l’onglet Gérer, puis sélectionnez Paramètres. Sélectionnez + Ajouter pour ajouter un nouveau paramètre.

    Capture d’écran montrant l’ajout d’un paramètre à un tableau de bord.

  2. Créez un paramètre avec les caractéristiques suivantes :

    • Libellé : Ressource
    • Type de paramètre : Sélection unique (déjà sélectionné par défaut)
    • Nom de la variable : _asset
    • Type de données : chaîne (déjà sélectionné par défaut)
    • Source : Requête
      • Source de données : votre base de données (déjà sélectionnée par défaut)

      • Sélectionnez Modifier la requête, puis ajoutez la requête KQL suivante.

        OPCUA
        | summarize by AssetId
        
    • Colonne de valeur : AssetId
    • Valeur par défaut : Sélectionner la première valeur de la requête
  3. Sélectionnez Terminé pour enregistrer votre paramètre. Sélectionnez Ensuite Fermer pour fermer le volet paramètres.

Créer une vignette de graphique en courbes

Ensuite, ajoutez une vignette à votre tableau de bord pour afficher un graphique en courbes de température au fil du temps pour l’élément multimédia et l’intervalle de temps sélectionnés.

  1. Sous l’onglet Accueil , sélectionnez la liste déroulante Ajouter un visuel , puis sélectionnez Graphique en courbes pour ajouter une nouvelle vignette de graphique en courbes.

    Capture d’écran de l’ajout d’une vignette de graphique en courbes à un tableau de bord.

  2. Dans l’éditeur de requête, entrez la requête KQL suivante pour la vignette. Cette requête applique des paramètres de filtre à partir des sélecteurs de tableau de bord pour l’intervalle de temps et la ressource, et extrait les enregistrements résultants avec leur horodatage et leur température.

    OPCUA 
    | where Timestamp between (_startTime.._endTime)
    | where AssetId == _asset
    | project Timestamp, Temperature
    

    Exécutez la requête pour vérifier que les données sont disponibles. Le visuel graphique en courbes affiche les données. Le visuel graphique en courbes nécessite au moins deux points de données à afficher. Par conséquent, si vous ne voyez aucune donnée, vous pouvez sélectionner un intervalle de temps plus large ou attendre que d’autres données arrivent dans votre base de données avant d’exécuter la requête.

    Capture d’écran de l’ajout d’une requête de vignette.

  3. Sélectionnez l’onglet Visualisation et définissez ou vérifiez les valeurs suivantes :

    • Type de visuel : Graphique en courbes (sélection par défaut)
    • Général :
      • Nom de la vignette : Température au fil du temps
    • Données :
      • Colonnes Y : Inférer : Température (décimale) (sélection par défaut)
      • Colonnes X : Inférer : Timestamp (datetime) (sélection par défaut)
    • Axe Y :
      • Étiquette : Unités
    • Axe X :
      • Étiquette : Horodatage

    Sélectionnez Terminé pour créer la vignette.

    Capture d’écran de l’ajout d’un visuel de vignette.

Affichez la tuile finalisée sur votre tableau de bord.

Capture d’écran du tableau de bord avec une vignette.

Créer une vignette de valeur maximale

Ensuite, créez une vignette pour afficher la valeur maximale de la température.

  1. Sélectionnez la liste déroulante Ajouter un visuel , puis sélectionnez Stat.

  2. Dans l’éditeur de requête, entrez la requête KQL suivante pour la vignette. Cette requête applique les paramètres de filtre des sélecteurs du tableau de bord pour un intervalle de temps et une ressource, et prend la valeur de température la plus élevée dans les enregistrements résultants.

    OPCUA
    | where Timestamp between (_startTime.._endTime)
    | where AssetId == _asset
    | top 1 by Temperature desc
    | summarize by Temperature
    

    Exécutez la requête pour vérifier qu’une température maximale est trouvée. La valeur de température maximale doit s’afficher dans l’aperçu visuel.

  3. Sélectionnez l’onglet Visualisation et définissez ou vérifiez les valeurs suivantes :

    • Type de visuel : Stat (sélection par défaut)
    • Général :
      • Nom de la vignette : Température maximale
    • Données :
      • Colonne valeur : Inférer : Température (décimale) (sélection par défaut)

    Sélectionnez Terminé pour créer la vignette.

    Capture d’écran de l’ajout d’un visuel de statistique.

  4. Regardez la vignette terminée sur votre tableau de bord (vous pouvez redimensionner la vignette pour que tout le texte soit visible).

    Capture d’écran du tableau de bord avec deux vignettes.

  5. Enregistrez votre tableau de bord terminé.

Vous disposez maintenant d’un tableau de bord qui affiche différents types de visuels pour les données des ressources de ces tutoriels. À partir de là, vous pouvez expérimenter les filtres et ajouter d’autres types de vignettes pour voir comment un tableau de bord peut vous permettre d’en faire plus avec vos données.

Comment avons-nous résolu le problème ?

Dans ce tutoriel, vous avez utilisé un élément Eventstream pour ingérer vos données Event Hubs dans une base de données KQL dans Real-Time Intelligence de Microsoft Fabric. Ensuite, vous avez créé un tableau de bord en temps réel alimenté par ces données, qui fait le suivi visuel des valeurs modifiées au fil du temps. En associant des données de périphérie provenant de différentes sources dans Microsoft Fabric, vous pouvez créer des rapports avec des visualisations et des fonctionnalités interactives qui offrent des insights plus approfondis sur l’intégrité, l’utilisation et les tendances opérationnelles des ressources. Cela peut vous permettre d’améliorer la productivité, d’améliorer les performances des ressources et de prendre des décisions éclairées pour de meilleurs résultats métier.

Ceci termine la dernière étape du didacticiel sur l’utilisation d’Opérations Azure IoT pour gérer les données des appareils, du déploiement à l’analyse dans le cloud.

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 --name $AIO_INSTANCE_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.

Remarque

Le groupe de ressources contient l’espace de noms Event Hubs que vous avez créé dans ce tutoriel.

Vous pouvez également supprimer votre espace de travail Microsoft Fabric et/ou toutes les ressources qu’il contient et qui sont associées à ce tutoriel, notamment l’élément Eventstream, l’Eventhouse et le tableau de bord en temps réel.