Transformer des données dans un pipeline Azure IoT Data Processor (préversion)
Important
Opérations Azure IoT (préversion) – activé parc Azure Arc est actuellement en PRÉVERSION. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.
Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.
Utilisez l’index de transformation pour effectuer des transformations structurelles sur les messages d’un pipeline, par exemple :
- Renommer des balises et des propriétés
- Séparer des données
- Ajouter de nouvelles propriétés
- Ajouter des valeurs calculées
L’index de transformation utilise jq pour soutenir la transformation des données :
- Chaque partition de pipeline transforme les messages de manière indépendante.
- L’index génère un message transformé basé sur l’expression jq que vous fournissez.
- Créez une expression jq pour transformer un message en fonction de la structure du message entrant par rapport à l’index.
Prérequis
Pour configurer et utiliser un index de pipeline de transformation, vous avez besoin des éléments suivants :
- Une instance déployée d’Azure IoT Data Processor (préversion) qui inclut le composant Data Processor facultatif.
- Une compréhension des expressions jq.
Configurer l’index
La configuration JSON de l’index de transformation définit les détails de l’index. Pour créer l’index, vous pouvez interagir avec l’interface utilisateur basée sur le formulaire ou fournir la configuration JSON sous l’onglet Avancé :
Nom | Valeur | Requis | Exemple |
---|---|---|---|
Nom | Nom à afficher dans l’interface utilisateur du processeur de données. | Oui | Transform1 |
Description | Une description conviviale de l’action réalisée par l’index de transformation. | Non | Rename Tags |
Requête | La transformation expression jq. | Oui | .payload.values |= (map({(.tag): (.numVal // .boolVal)}) | add) |
Exemple de configuration
L’exemple de transformation suivant convertit le tableau des balises dans le message d’entrée en objet qui contient toutes les balises et leurs valeurs :
{
"displayName": "TransformInput",
"description": "Make array of tags into one object",
"query": ".payload.values |= (map({(.tag): (.numVal // .boolVal)}) | add)"
}
La sortie de l’index de transformation est similaire à l’exemple ci-dessous :
{
"systemProperties": {
"partitionKey": "foo",
"partitionId": 5,
"timestamp": "2023-01-11T10:02:07Z"
},
"qos": 1,
"topic": "/assets/foo/tags/bar",
"properties": {
"responseTopic": "outputs/foo/tags/bar",
"contentType": "application/json",
"payloadFormat": 1,
"correlationData": "base64::Zm9v",
"messageExpiry": 412
},
"userProperties": [
{
"key": "prop1",
"value": "value1"
},
{
"key": "prop2",
"value": "value2"
}
],
"payload": {
"values": {
"temperature": 250,
"pressure": 30,
"humidity": 10,
"runningStatus": true
}
}
}
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour