Structure des messages dans les pipelines de processeur de données
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.
Vous devrez déployer une nouvelle installation d’Azure IoT Operations lorsqu’une version en disponibilité générale est mise à disposition, vous ne pourrez pas mettre à niveau une installation en préversion.
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.
Le processeur de données traite les messages entrants en les transmettant à une série d’étapes de pipeline. Chaque étape du pipeline peut transformer le message avant de le transmettre à l'étape suivante. Cet article décrit la structure utilisée pour représenter les messages lors de leur déplacement dans le pipeline. Comprendre la structure des messages est importante lorsque vous configurez des étapes de pipeline pour traiter vos messages de télémétrie.
L’exemple suivant montre la représentation JSON d’un message lu à partir du répartiteur MQTT par un pipeline :
{
"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":[
{
"timeStamp":"2022-06-14T16:59:01Z",
"tag":"temperature",
"numVal":250
},
{
"timeStamp":"2022-06-14T16:59:01Z",
"tag":"pressure",
"numVal":30
},
{
"timeStamp":"2022-06-14T16:59:01Z",
"tag":"humidity",
"numVal":10
},
{
"timeStamp":"2022-06-14T16:59:01Z",
"tag":"runningStatus",
"boolVal":true
}
]
}
}
Types de données
Les messages du processeur de données prennent en charge les types de données suivants :
- Mappage
- Tableau
- Booléen
- Entier – Taille 64 bits
- Flottant – Taille 64 bits
- Chaîne
- Binary
Données système
Toutes les métadonnées au niveau du système sont placées dans le nœud systemProperties
:
Propriété | Description | Type | Remarque |
---|---|---|---|
timestamp |
Horodatage utc RFC3339 qui représente l’heure à laquelle le système a reçu le message. | Chaîne | Ce champ est toujours ajouté à l’étape d’entrée. |
partitionId |
Partition physique du message. | Entier | Ce champ est toujours ajouté à l’étape d’entrée. |
partitionKey |
Clé de partition logique définie à l’étape d’entrée. | Chaîne | Ce champ est ajouté uniquement si vous avez défini une expression de partition. |
Charge utile
La section de charge utile contient le contenu principal du message entrant. Le contenu de la section payload
dépend du format choisi à l’étape d’entrée du pipeline :
- Si vous avez choisi le format
Raw
dans l’étape d’entrée, le contenu de la charge utile est binaire. - Si l’étape d’entrée analyse vos données, le contenu de la charge utile est représenté en conséquence.
Par défaut, le pipeline n’analyse pas la charge utile entrante. L’exemple précédent montre les données d’entrée analysées. Pour plus d’informations, consultez formats de message.
Métadonnées
Toutes les métadonnées qui ne font pas partie des données primaires deviennent des propriétés de niveau supérieur dans le message :
Propriété | Description | Type | Remarque |
---|---|---|---|
topic |
La rubrique à partir de qui le message est lu. | Chaîne | Ce champ est toujours ajouté à l’entrée. |
qos |
Qualité du niveau de service choisi à l’étape d’entrée. | Entier | Ce champ est toujours ajouté à l’étape d’entrée. |
packetId |
ID de paquet du message. | Entier | Ce champ n’est ajouté que si la qualité du service est 1 ou 2 . |
properties |
Clé de partition logique définie à l’étape d’entrée. | Mappage | Le jeu de propriétés est toujours ajouté. |
userProperties |
Propriétés définies par l’utilisateur. | Tableau | Le jeu de propriétés est toujours ajouté. Le contenu peut être vide si aucune propriété utilisateur n’est présente dans le message. |