Delen via


Berichtstructuur in pijplijnen voor gegevensverwerker

Belangrijk

Azure IoT Operations Preview: ingeschakeld door Azure Arc is momenteel in PREVIEW. Gebruik deze preview-software niet in productieomgevingen.

U moet een nieuwe Installatie van Azure IoT Operations implementeren wanneer er een algemeen beschikbare release beschikbaar wordt gesteld. U kunt geen preview-installatie upgraden.

Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.

De gegevensverwerker verwerkt binnenkomende berichten door ze door te geven via een reeks pijplijnfasen. Elke fase in de pijplijn kan het bericht transformeren voordat het wordt doorgegeven aan de volgende fase. In dit artikel wordt de structuur beschreven die wordt gebruikt om de berichten weer te geven tijdens het doorlopen van de pijplijn. Inzicht in de berichtstructuur is belangrijk wanneer u pijplijnfasen configureert om uw telemetrieberichten te verwerken.

In het volgende voorbeeld ziet u de JSON-weergave van een bericht dat is gelezen uit de MQTT-broker door een pijplijn:

{
    "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
            }
        ] 
    } 
}

Data types

Berichten van gegevensverwerker ondersteunen de volgende gegevenstypen:

  • Overzicht
  • Matrix
  • Booleaanse waarde
  • Geheel getal – 64-bits grootte
  • Float – 64-bits grootte
  • String
  • Binary

Systeemgegevens

Alle metagegevens op systeemniveau worden in het systemProperties knooppunt geplaatst:

Eigenschappen Beschrijving Type Notitie
timestamp Een RFC3339 UTC milliseconden tijdstempel die de tijd aangeeft waarop het systeem het bericht heeft ontvangen. String Dit veld wordt altijd toegevoegd in de invoerfase.
partitionId De fysieke partitie van het bericht. Geheel getal Dit veld wordt altijd toegevoegd in de invoerfase.
partitionKey De logische partitiesleutel die is gedefinieerd in de invoerfase. String Dit veld wordt alleen toegevoegd als u een partitie-expressie hebt gedefinieerd.

Nettolading

De sectie payload bevat de primaire inhoud van het binnenkomende bericht. De inhoud van de sectie is afhankelijk van payload de indeling die is gekozen in de invoerfase van de pijplijn:

  • Als u de Raw indeling in de invoerfase hebt gekozen, is de inhoud van de nettolading binair.
  • Als de invoerfase uw gegevens parseert, wordt de inhoud van de nettolading dienovereenkomstig weergegeven.

Standaard parseert de pijplijn de binnenkomende nettolading niet. In het vorige voorbeeld ziet u geparseerde invoergegevens. Zie Berichtindelingen voor meer informatie.

Metagegevens

Alle metagegevens die geen deel uitmaken van de primaire gegevens, worden eigenschappen op het hoogste niveau in het bericht:

Eigenschappen Beschrijving Type Notitie
topic Het onderwerp waaruit het bericht wordt gelezen. String Dit veld wordt altijd toegevoegd aan de invoer.
qos De kwaliteit van het serviceniveau dat in de invoerfase is gekozen. Geheel getal Dit veld wordt altijd toegevoegd in de invoerfase.
packetId De pakket-id van het bericht. Geheel getal Dit veld wordt alleen toegevoegd als de kwaliteit van de service of 1 2.
properties De logische partitiesleutel die is gedefinieerd in de invoerfase. Overzicht De eigenschapstas wordt altijd toegevoegd.
userProperties Door de gebruiker gedefinieerde eigenschappen. Matrix De eigenschapstas wordt altijd toegevoegd. De inhoud kan leeg zijn als er geen gebruikerseigenschappen aanwezig zijn in het bericht.