Nachrichtenstruktur in Pipelines der Azure IoT-Datenverarbeitung (Vorschau)
Wichtig
Die von Azure Arc aktivierte Azure IoT Operations Preview befindet sich derzeit in der VORSCHAU. Sie sollten diese Vorschausoftware nicht in Produktionsumgebungen verwenden.
Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Die Azure IoT-Datenverarbeitung (Vorschau) verarbeitet eingehende Nachrichten, indem sie durch eine Reihe von Pipelinephasen geleitet werden. Jede Stufe in der Pipeline kann die Nachricht umwandeln, bevor sie an die nächste Stufe weitergegeben wird. Dieser Artikel beschreibt die Struktur, die verwendet wird, um die Nachrichten auf ihrem Weg durch die Pipeline darzustellen. Das Verständnis der Nachrichtenstruktur ist wichtig, wenn Sie Pipeline-Stufen zur Verarbeitung Ihrer Telemetrie-Nachrichten konfigurieren.
Das folgende Beispiel zeigt die JSON-Darstellung einer Nachricht, die von einer Pipeline aus Azure IoT MQ Preview gelesen wurde:
{
"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
}
]
}
}
Datentypen
Data Processor-Nachrichten unterstützen die folgenden Datentypen:
- Plan
- Array
- Boolean
- Integer – 64-Bit-Größe
- Float – 64-Bit-Größe
- String
- Binary
System-Daten
Alle Metadaten auf Systemebene werden im systemProperties
-Knoten abgelegt:
Eigenschaft | Beschreibung des Dataflows | type | Hinweis |
---|---|---|---|
timestamp |
Ein RFC3339 UTC-Zeitstempel im Millisekundenbereich, der die Zeit angibt, zu der das System die Nachricht erhalten hat. | String | Dieses Feld wird immer in der Eingabestufe hinzugefügt. |
partitionId |
Die physische Partition der Nachricht. | Integer | Dieses Feld wird immer in der Eingabestufe hinzugefügt. |
partitionKey |
Der logische Partitionsschlüssel, der in der Eingabestufe definiert wurde. | String | Dieses Feld wird nur hinzugefügt, wenn Sie einen Partitionsausdruck definiert haben. |
Payload
Der Payloadbereich enthält den primären Inhalt der eingehenden Nachricht. Der Inhalt von Abschnitt payload
hängt von dem Format ab, das in der Eingabestufe der Pipeline gewählt wurde:
- Wenn Sie das in der Eingabestufe das Format
Raw
ausgewählt haben, ist der Payloadinhalt binär. - Wenn die Eingabestufe Ihre Daten analysiert, werden die Inhalte der Payload entsprechend dargestellt.
Standardmäßig analysiert die Pipeline die eingehende Payload nicht. Das vorherige Beispiel zeigt analysierte Eingabedaten. Weitere Informationen finden Sie unter Nachrichtenformate.
Metadaten
Alle Metadaten, die nicht Teil der Primärdaten sind, werden zu den wichtigsten Eigenschaften der Nachricht:
Eigenschaft | Beschreibung des Dataflows | type | Hinweis |
---|---|---|---|
topic |
Das Thema, aus dem die Nachricht gelesen wird. | String | Dieses Feld wird immer bei der Eingabe hinzugefügt. |
qos |
Die Qualität der Dienstebene, die in der Eingabestufe ausgewählt wurde. | Integer | Dieses Feld wird immer in der Eingabestufe hinzugefügt. |
packetId |
Die Paket-ID der Nachricht. | Integer | Dieses Feld wird nur hinzugefügt, wenn die Dienstqualität 1 oder 2 ist. |
properties |
Der logische Partitionsschlüssel, der in der Eingabestufe definiert wurde. | Plan | Der Eigenschaftenbehälter wird immer hinzugefügt. |
userProperties |
Benutzerdefinierte Eigenschaften | Array | Der Eigenschaftenbehälter wird immer hinzugefügt. Der Inhalt kann leer sein, wenn in der Nachricht keine Benutzereigenschaften vorhanden sind. |
Zugehöriger Inhalt
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für