Démarrage rapide : Exporter des données à partir d’une application IoT Central

Dans ce démarrage rapide, vous configurez votre application IoT Central pour exporter des données vers Azure Data Explorer. Azure Data Explorer vous permet de stocker, d’interroger et de traiter les données de télémétrie à partir d’appareils tels que l’application de smartphone IoT Plug-and-Play.

Dans ce guide de démarrage rapide, vous :

  • Utilisez la fonctionnalité d’exportation de données d’IoT Central pour exporter la télémétrie de l’application de smartphone vers une base de données Azure Data Explorer.
  • Utilisez Azure Data Explorer pour exécuter des requêtes sur les données de télémétrie.

L’exécution de ce guide de démarrage rapide entraîne un petit coût dans votre compte Azure pour l’instance Azure Data Explorer. Les deux premiers appareils de votre application IoT Central sont gratuits.

Prérequis

Installer des services Azure

Avant de pouvoir exporter des données à partir de votre application IoT Central, vous devez disposer d’un cluster et d’une base de données Azure Data Explorer. Dans ce guide de démarrage rapide, vous utilisez un script bash dans Azure Cloud Shell pour les créer et les configurer.

Le script effectue les étapes suivantes :

  • Il vous invite à vous connecter à votre abonnement Azure pour pouvoir générer un jeton du porteur afin d’authentifier les appels d’API REST.
  • Il crée un cluster et une base de données Azure Data Explorer.
  • Il crée une identité managée pour votre application IoT Central.
  • Il configure l’identité managée avec l’autorisation d’accéder à la base de données Azure Data Explorer.
  • Il ajoute une table à la base de données pour stocker la télémétrie entrante provenant d’IoT Central.

Exécutez les commandes suivantes pour télécharger le script dans votre environnement Azure Cloud Shell :

wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/quickstart-cde/createADX.sh
chmod u+x createADX.sh

Utilisez la commande suivante pour exécuter le script :

  • Remplacez CLUSTER_NAME par un nom unique pour votre cluster Azure Data Explorer. Le nom du cluster doit être uniquement composé de lettres minuscules et de chiffres. Le nom du cluster doit comporter entre 4 et 22 caractères.
  • Remplacez CENTRAL_URL_PREFIX par le préfixe d’URL que vous avez choisi dans le premier guide de démarrage rapide pour votre application IoT Central.
  • Quand vous y êtes invité, suivez les instructions pour vous connecter à votre compte Azure. Il est nécessaire que le script se connecte, car il génère un jeton du porteur pour authentifier un appel d’API REST.
./createADX.sh CLUSTER_NAME CENTRAL_URL_PREFIX

Important

L’exécution du script peut prendre de 20 à 30 minutes.

Prenez note de la sortie de l’URL d’Azure Data Explorer générée par le script. Vous utiliserez cette valeur plus loin dans ce démarrage rapide.

Configurer une exportation de données

Pour configurer la destination de l’exportation des données à partir d’IoT Central :

  1. Accédez à la page Exportation de données de votre application IoT Central.
  2. Sélectionnez l’onglet Destinations, puis Ajouter une destination.
  3. Entrez Azure Data Explorer comme nom de destination. Sélectionnez Azure Data Explorer comme type de destination.
  4. Dans URL du cluster, entrez l’URL Azure Data Explorer que vous avez notée.
  5. Dans Nom de la base de données, entrez phonedata.
  6. Dans Nom de la table, entrez acceleration.
  7. Dans Autorisation, sélectionnez Identité managée affectée par le système.
  8. Sélectionnez Enregistrer.

Pour configurer l’exportation de données :

  1. Dans la page Exportation de données, sélectionnez l’onglet Exportations, puis Ajouter une exportation.

  2. Entrez Accéléromètre du téléphone comme nom d’exportation.

  3. Sélectionnez Données de télémétrie en tant que type de données à exporter.

  4. Utilisez les informations du tableau suivant pour ajouter deux filtres :

    Name Opérateur Valeur
    Modèle d’appareil Égal à IoT Plug and Play mobile
    Capteurs/Accélération/X Exists N/A

    Assurez-vous que l’option permettant d’exporter les données si toutes les conditions sont vraies est définie.

  5. Ajoutez Azure Data Explorer comme destination.

  6. Ajoutez une transformation de données à la destination. Ajoutez la requête suivante dans le champ 2. Générer la requête de transformation de la page Transformation de données :

    import "iotc" as iotc;
    {
        Device: .device.id,
        EnqueuedTime: .enqueuedTime,
        X: .telemetry | iotc::find(.name == "accelerometer").value.x,
        Y: .telemetry | iotc::find(.name == "accelerometer").value.y,
        Z: .telemetry | iotc::find(.name == "accelerometer").value.z
    }
    

    Screenshot that shows the data transformation query for the export.

    Pour voir comment la transformation fonctionne et expérimente la requête, collez l’exemple de message de télémétrie suivant dans 1. Ajoutez votre message d’entrée :

    {
      "messageProperties": {},
      "device": {
        "id": "8hltz8xa7n",
        "properties": {
          "reported": []
        },
        "approved": true,
        "types": [],
        "name": "8hltz8xa7n",
        "simulated": false,
        "provisioned": true,
        "modules": [],
        "templateId": "urn:modelDefinition:vlcd3zvzdm:y425jkkpqzeu",
        "templateName": "IoT Plug and Play mobile",
        "organizations": [],
        "cloudProperties": [],
        "blocked": false
      },
      "component": "sensors",
      "applicationId": "40a97c91-50cc-44f0-9f63-71386613facc",
      "messageSource": "telemetry",
      "telemetry": [
        {
          "id": "dtmi:azureiot:PhoneSensors:__accelerometer;1",
          "name": "accelerometer",
          "value": {
            "x": 0.09960123896598816,
            "y": 0.09541380405426025,
            "z": 9.907781600952148
          }
        }
      ],
      "enqueuedTime": "2021-11-12T10:01:30.588Z",
      "enrichments": {}
    }
    
  7. Enregistrez la transformation. Enregistrez ensuite la définition de l’exportation de données.

Attendez que l’état de l’exportation indique Sain :

Screenshot that shows a running data export with the healthy status.

Interroger les données exportées

Pour interroger la télémétrie exportée :

  1. Utilisez l’URL Azure Data Explorer générée par le script que vous avez exécuté précédemment pour accéder à votre environnement Azure Data Explorer.

  2. Développez le nœud de cluster et sélectionnez la base de données phonedata. L’étendue de la fenêtre de requête devient Scope:yourclustername.eastus/phonedata.

  3. Dans Azure Data Explorer, ouvrez un nouvel onglet et collez la requête Kusto suivante, puis sélectionnez Exécuter pour tracer les données de télémétrie de l’accéléromètre :

['acceleration'] 
    | project EnqueuedTime, Device, X, Y, Z
    | render timechart 

Vous devrez peut-être attendre plusieurs minutes pour collecter suffisamment de données. Pour voir les valeurs télémétriques changer, essayez de placer votre téléphone dans différentes orientations :

Screenshot of the query results for the accelerometer telemetry.

Nettoyer les ressources

Si vous ne prévoyez pas de suivre d’autres guides de démarrage rapide ou tutoriels IoT Central, vous pouvez supprimer votre application IoT Central :

  1. Dans votre application IoT Central, accédez à Application > Gestion.
  2. Sélectionnez Supprimer, puis confirmez l’opération.

Pour supprimer l’instance Azure Data Explorer de votre abonnement et éviter des frais non nécessaires, supprimez le groupe de ressources IoTCentralExportData-rg à partir du portail Azure ou exécutez la commande suivante dans Azure Cloud Shell :

az group delete --name IoTCentralExportData-rg

Étape suivante

Dans ce démarrage rapide, vous avez appris à exporter en continu des données entre IoT Central et un autre service Azure.

Vous savez désormais exporter vos données et voici l’étape suivane que nous vous suggérons :