Sdílet prostřednictvím


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.