Struktura zpráv v kanálech zpracovatele dat
Důležité
Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.
Pokud je dostupná obecně dostupná verze, budete muset nasadit novou instalaci operací Azure IoT, nebudete moct upgradovat instalaci ve verzi Preview.
Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.
Zpracovatel dat zpracovává příchozí zprávy jejich předáním řadou fází kanálu. Každá fáze kanálu může před předáním zprávy do další fáze transformovat. Tento článek popisuje strukturu, která představuje zprávy při procházení kanálem. Pochopení struktury zpráv je důležité při konfiguraci fází kanálu pro zpracování zpráv telemetrie.
Následující příklad ukazuje reprezentaci JSON zprávy přečtené z zprostředkovatele MQTT kanálem:
{
"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
}
]
}
}
Datové typy
Zprávy zpracovatele dat podporují následující datové typy:
- Mapovat
- Pole
- Logická hodnota
- Celé číslo – 64bitová velikost
- Float – 64bitová velikost
- String
- Binární
Systémová data
Všechna metadata na úrovni systému jsou umístěna v systemProperties
uzlu:
Vlastnost | Popis | Typ | Poznámka: |
---|---|---|---|
timestamp |
Časové razítko RFC3339 UTC v milisekundách, které představuje čas, kdy systém zprávu přijal. | String | Toto pole se vždy přidá do vstupní fáze. |
partitionId |
Fyzický oddíl zprávy. | Celé číslo | Toto pole se vždy přidá do vstupní fáze. |
partitionKey |
Klíč logického oddílu definovaný ve vstupní fázi. | String | Toto pole se přidá jenom v případě, že jste definovali výraz oddílu. |
Datová část
Oddíl datové části obsahuje primární obsah příchozí zprávy. Obsah oddílu payload
závisí na formátu zvoleném ve vstupní fázi kanálu:
- Pokud jste zvolili
Raw
formát ve vstupní fázi, je obsah datové části binární. - Pokud vstupní fáze analyzuje vaše data, je obsah datové části reprezentován odpovídajícím způsobem.
Ve výchozím nastavení kanál neanalyduje příchozí datovou část. Předchozí příklad ukazuje analyzovaná vstupní data. Další informace najdete v tématu Formáty zpráv.
Metadata
Všechna metadata, která nejsou součástí primárních dat, se v rámci zprávy stanou vlastnostmi nejvyšší úrovně:
Vlastnost | Popis | Typ | Poznámka: |
---|---|---|---|
topic |
Téma, ze které se zpráva čte. | String | Toto pole se vždy přidá do vstupu. |
qos |
Kvalita úrovně služby zvolená ve vstupní fázi. | Celé číslo | Toto pole se vždy přidá do vstupní fáze. |
packetId |
ID paketu zprávy. | Celé číslo | Toto pole je přidáno pouze v případě, že kvalita služby je 1 nebo 2 . |
properties |
Klíč logického oddílu definovaný ve vstupní fázi. | Mapovat | Taška na vlastnost je vždy přidána. |
userProperties |
Uživatelem definované vlastnosti. | Pole | Taška na vlastnost je vždy přidána. Obsah může být prázdný, pokud zpráva neobsahuje žádné vlastnosti uživatele. |