Créer un graphique de flux de données dans Opérations Azure IoT

Un graphique de flux de données est un pipeline de traitement composable qui transforme les données à mesure qu’elles se déplacent entre les sources et les destinations. Un flux de données standard suit une séquence d’enrichissement, de filtre, de mappage fixe. Un graphique de flux de données vous permet de chaîner des transformations dans n’importe quel ordre, de brancher en chemins parallèles et d’agréger des données au fil des fenêtres de temps.

Cet article décrit la création d’un graphique de flux de données étape par étape. Pour obtenir une vue d’ensemble des graphiques de flux de données et des transformations disponibles, consultez vue d’ensemble des graphiques de flux de données.

Les graphiques de flux de données prennent actuellement en charge uniquement les points de terminaison MQTT, Kafka et OpenTelemetry. Ils ne prennent pas en charge d'autres types de terminaux tels que lac de données, Microsoft Fabric OneLake, Azure Data Explorer et Local Storage.

Les transformations utilisent un langage d’expressions pour calculer les valeurs, les conditions de test et les champs de référence. Les expressions désignent les entrées par position, et non par le nom : la première entrée de la inputs liste est $1, la seconde est $2, et ainsi de suite. Des fonctions intégrées telles que cToF convertissent et manipulent ces valeurs.

Pour la liste complète des opérateurs, fonctions, types de données et champs de métadonnées, voir la référence Expressions.

Prerequisites

  • Instance de Opérations Azure IoT déployée dans un cluster Kubernetes. Pour plus d’informations, consultez Deploy Opérations Azure IoT.
  • La Azure CLI installée sur votre ordinateur de développement. Vérifiez les extensions Azure CLI disponibles pour connaître la version minimale requise afin d’utiliser l’extension azure-iot-ops. Utilisez az --version pour vérifier votre version et az upgrade pour effectuer une mise à jour si nécessaire. Pour plus d’informations, consultez la rubrique Installation de l’interface de ligne de commande Azure (CLI).

  • Extension Opérations Azure IoT pour le Azure CLI. Utilisez la commande suivante pour ajouter l’extension ou la mettre à jour vers la dernière version :

    az extension add --upgrade --name azure-iot-ops
    
  • Opérations Azure IoT version 1.2 ou ultérieure.

  • Profil de flux de données. Vous pouvez utiliser le profil par défaut.

  • Point de terminaison de flux de données pour votre source et votre destination. Le point de terminaison broker MQTT par défaut fonctionne pour le démarrage.

Les exemples Azure CLI de cet article utilisent des variables d’environnement afin de pouvoir définir chaque valeur une fois puis copier-coller les commandes as-is. Si vous utilisez l'environnement Opérations Azure IoT Codespaces du quickstart, ces variables sont déjà définies pour vous et vous pouvez sauter cette étape. Sinon, définissez les variables d’environnement suivantes dans votre shell avant d’exécuter les commandes.

Les scripts suivants définissent les variables d’environnement les plus couramment utilisées :

Variable d'environnement Description
SUBSCRIPTION_ID L’identifiant de l’abonnement contenant votre instance Opérations Azure IoT.
RESOURCE_GROUP Le nom du groupe de ressources contenant votre instance Opérations Azure IoT.
AIO_INSTANCE_NAME Le nom de votre instance Opérations Azure IoT. Pour lister vos instances, exécutez az iot ops list -o table.
CLUSTER_NAME Le nom du cluster Kubernetes compatible Azure Arc qui héberge votre instance.
LOCATION La région Azure à utiliser pour de nouvelles ressources, par exemple eastus.
SUBSCRIPTION_ID=<subscription-id>
RESOURCE_GROUP=<resource-group-name>
AIO_INSTANCE_NAME=<instance-name>
CLUSTER_NAME=<cluster-name>
LOCATION=<region>

Vous n’avez qu’à définir les variables utilisées dans cet article. Cet article peut utiliser des variables d’environnement supplémentaires pour les noms de ressources que vous choisissez. L’article explique comment les placer là où ils sont introduits.

Cet article utilise également les variables d’environnement GRAPH_NAME et PROFILE pour le graphe de flux de données et les noms de profil. Définissez chacune avant d’exécuter les commandes associées.

Créer un graphe de flux de données

Un graphique de flux de données contient trois types d’éléments : les sources qui apportent des données, les transforment et les destinations qui l’envoient. Connectez-les dans l’ordre dans lequel vous souhaitez que les données soient transmises.

  1. Dans l’expérience opérations, allez sur votre instance Opérations Azure IoT.

  2. SélectionnezGraphique de flux de données Créer un graphique> de flux de données.

    Capture d’écran de l’expérience des opérations montrant le graphique de flux de données.

  3. Entrez un nom pour le graphique de flux de données et sélectionnez un profil de flux de données. Le profil par défaut est sélectionné par défaut.

    Capture d’écran de la boîte de dialogue de création d'opérations montrant le champ de saisie du nom et la liste déroulante du profil.

  4. Générez votre pipeline en ajoutant des éléments au canevas :

    1. Ajoutez une source : sélectionnez le point de terminaison source et configurez les rubriques pour s’abonner aux messages entrants.

      Capture d’écran du panneau de configuration de la source de l’expérience des opérations montrant le menu déroulant des points de terminaison et le champ de saisie du sujet.

    2. Ajouter des transformations : sélectionnez une ou plusieurs transformations pour traiter les données. Les transformations disponibles incluent la mise en correspondance, le filtrage, le branchement, la concaténation, le fenêtrage et la limitation de débit. Pour plus d’informations sur chaque type de transformation, consultez vue d’ensemble des graphiques de flux de données.

      Capture d'écran du menu de sélection de la transformation dans l'interface utilisateur des opérations, montrant les types de transformation disponibles.

      Capture d’écran de l’expérience des opérations montrant un exemple de configuration de transformation de branche.

    3. Ajoutez une destination : sélectionnez le point de terminaison de destination et configurez la rubrique ou le chemin d’accès pour envoyer des données traitées.

      Capture d’écran de l’expérience des opérations montrant un exemple de destination.

  5. Connectez les éléments dans l’ordre dans lequel vous souhaitez que les données soient transmises.

    Capture d’écran du canevas d’expérience des opérations montrant une source connectée, une transformation et un pipeline de destination.

  6. Sélectionnez Enregistrer pour déployer le graphique de flux de données.

Configurer la source

La source définit l’emplacement où les données entrent dans le pipeline. Spécifiez une référence de point de terminaison et une ou plusieurs rubriques.

Dans l’éditeur de graphique de flux de données, sélectionnez l’élément source et configurez :

Réglage Description
Point de terminaison Point de terminaison de flux de données à utiliser. Sélectionnez la valeur par défaut pour le répartiteur MQTT local.
Rubriques Une ou plusieurs rubriques à abonner pour les messages entrants.

Ajouter des transformations

Transforme les données de traitement entre la source et la destination. Chaque transformation fait référence à un artefact intégré et possède des règles de configuration.

Les transformations intégrées disponibles sont les suivantes :

Transformer Artéfact Description
Carte azureiotoperations/graph-dataflow-map:1.0.0 Renommez, restructurez, calculez et copiez des champs.
Filtre azureiotoperations/graph-dataflow-filter:1.0.0 Supprimez les messages qui correspondent à une condition.
Branche azureiotoperations/graph-dataflow-branch:1.0.0 Acheminer chaque message vers un chemin true ou false en fonction d’une condition.
Concatenate azureiotoperations/graph-dataflow-concatenate:1.0.0 Fusionnez deux chemins d’accès ou plus en un.
Window azureiotoperations/graph-dataflow-window:1.0.0 Collecter des messages sur un intervalle de temps, puis agréger.
limitation du débit azureiotoperations/graph-dataflow-throttle:1.0.0 Limitez le taux de messages par schéma de sujet MQTT.

Pour plus d’informations sur l’enrichissement des messages avec des données externes, consultez Enrichir avec des données externes.

Dans l’éditeur de graphique de flux de données, sélectionnez Ajouter une transformation et choisissez le type de transformation. Configurez les règles dans l’éditeur visuel.

Chaîner plusieurs transformations

Enchaîne n’importe quel nombre de transformations. Connectez-les dans la nodeConnections section dans l’ordre dans lequel vous souhaitez que les données soient transmises :

Faites glisser les connexions entre les transformations sur le canevas pour définir l’ordre de traitement.

Configurer la destination

La destination définit où vont les données traitées. Spécifiez une référence de point de terminaison et une rubrique ou un chemin d’accès.

Sélectionnez l’élément de destination et configurez :

Réglage Description
Point de terminaison Point de terminaison de flux de données vers laquelle envoyer des données.
Topic Rubrique ou chemin d’accès vers lequel publier des données traitées.

Pour le routage dynamique des rubriques en fonction du contenu des messages, consultez Acheminer les messages vers différentes rubriques.

Vérifier que le graphique de flux de données fonctionne

Après avoir déployé un graphique de flux de données, vérifiez qu’il est en cours d’exécution :

Dans l’expérience d’opérations, sélectionnez votre graphique de flux de données pour en voir l’état. Un graphique sain montre un état opérationnel.