Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le magasin d’états permet aux opérateurs de conserver et de récupérer des données dans le traitement des messages et d’activer les opérations avec état dans vos graphiques de flux de données. Cet article montre comment utiliser le stockage d'état dans l'environnement de développement local Opérations Azure IoT avec des opérateurs WASM.
Avant de suivre les étapes décrites dans cet article, configurez votre environnement de développement local et générez et exécutez une application de graphe localement. Pour plus d’informations, consultez Générer des modules WASM pour les flux de données.
Prerequisites
Remplissez les conditions préalables répertoriées dans les modules BUILD WASM pour les flux de données.
Ouvrir l’espace de travail d’exemple du magasin d’état
Clonez le référentiel Explore IoT Operations si ce n'est déjà fait.
Ouvrez le dossier explore-iot-operations/samples/wasm/statestore-scenario. Ce dossier contient les ressources suivantes :
-
graph.dataflow.yaml- Configuration du graphe de flux de données avec un opérateur doté d’un magasin d’état activé. -
statestore.json- Configuration du magasin d’état avec des paires clé-valeur. -
data/- Exemples de données d’entrée pour les tests. -
operators/- Code source pour les opérateurs otel-enrich et filter.
Configurer le magasin d’états
Ouvrez le
statestore.jsonfichier pour afficher la configuration actuelle du magasin d’états.Vous pouvez modifier les valeurs de
factoryIdoumachineIdpour les tests. Le paramètre d’enrichissement fait référence à ces clés.Ouvrez
graph.dataflow.yamlet passez en revue la configuration de l’enrichissement. Les sections significatives de ce fichier sont présentées dans l’extrait de code suivant :moduleConfigurations: - name: module-otel-enrich/map parameters: enrichKeys: name: enrichKeys description: Comma separated list of DSS keys which will be fetched and added as attributes default: factoryId,machineId operations: - operationType: "source" name: "source" - operationType: "map" name: "module-otel-enrich/map" module: "otel-enrich" - operationType: "sink" name: "sink"La valeur par défaut du paramètre
enrichKeys(factoryId,machineId) détermine les clés récupérées du magasin d’état et ajoutées comme attributs.Vérifiez que chaque clé répertoriée
enrichKeysexiste dansstatestore.json. Si vous ajoutez ou supprimez des clés dansstatestore.json, mettez à jour la valeur dedefaultou remplacez-la à l’aide de la variable d'environnementTK_CONFIGURATION_PARAMETERS.
Mettre à jour les données de test (facultatif)
Vous pouvez modifier les données de test dans le data/ dossier pour tester différentes valeurs d’entrée. Les exemples de données incluent des lectures de température.
Construire et exécuter le scénario de magasin de l'état
Si vous avez précédemment arrêté l’environnement d’exécution local, appuyez sur Ctrl+Shift+P pour ouvrir la palette de commandes et rechercher Opérations Azure IoT : Démarrer l’environnement de développement. Sélectionnez la mise en production comme mode d’exécution.
Appuyez sur
Ctrl+Shift+Ppour ouvrir la palette de commandes et rechercher Opérations Azure IoT : Générer tous les opérateurs Data Flow. Sélectionnez la mise en production en tant que mode de génération. Attendez la fin de la génération.Appuyez à nouveau sur
Ctrl+Shift+Pet recherchez Opérations Azure IoT : Exécuter Application Graph. Sélectionnez la mise en production comme mode d’exécution.Sélectionnez le
datadossier dans votre espace de travail VS Code pour vos données d’entrée. Le conteneur DevX démarre pour exécuter le graphique avec l’exemple d’entrée.
Vérifier la fonctionnalité de magasin d’état
Une fois l’exécution du graphique terminée :
Affichez les résultats dans le
data/output/dossier.Ouvrez le fichier généré
.txtpour afficher les données traitées. La sectionuser propertiesdes messages de sortie inclut les valeursfactoryIdetmachineIdrécupérées à partir du magasin d’états.Vérifiez les journaux dans
data/output/logs/host-app.logpour confirmer que l’opérateurotel-enricha récupéré des valeurs à partir du magasin d’état et les a ajoutées comme propriétés utilisateur aux messages.