Estructura de mensajes en una canalización de la versión preliminar del procesador de datos de Azure IoT
Importante
Operaciones de IoT de Azure, habilitado por Azure Arc, está actualmente en VERSIÓN PRELIMINAR. No se debería usar este software en versión preliminar en entornos de producción.
Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
El procesador de datos de Azure IoT (versión preliminar) procesa los mensajes entrantes pasándolos a través de una serie de fases de canalización. Cada fase de la canalización puede transformar el mensaje antes de pasarlo a la siguiente fase. En este artículo se describe la estructura usada para representar los mensajes a medida que se mueven por la canalización. El reconocimiento de la estructura de los mensajes es importante a la hora de configurar las fases de la canalización para procesar los mensajes de telemetría.
En el ejemplo siguiente se programa la representación JSON de un mensaje leído de vista preliminar de Azure IoT MQ por una canalización:
{
"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
}
]
}
}
Tipos de datos
Los mensajes del procesador de datos admiten los siguientes tipos de datos:
- Asignar
- Matriz
- Booleano
- Entero: tamaño de 64 bits
- Float: tamaño de 64 bits
- String
- Binary
Datos del sistema
Todos los metadatos a nivel de sistema se colocan en el nodosystemProperties
:
Propiedad | Descripción | Tipo | Nota: |
---|---|---|---|
timestamp |
Marca de tiempo de RFC3339 milisegundos UTC que representa la hora en que el sistema recibió el mensaje. | String | Este campo siempre se agrega en la fase de entrada. |
partitionId |
La partición física del mensaje. | Entero | Este campo siempre se agrega en la fase de entrada. |
partitionKey |
La clave de partición lógica definida en la fase de entrada. | String | Este campo solo se agrega si definió una expresión de partición. |
Carga útil
La sección de carga contiene el contenido principal del mensaje entrante. El contenido de payload
la sección depende del formato elegido en la fase de entrada de la canalización:
- Si eligió el formato
Raw
en la fase de entrada, el contenido de la carga es binario. - Si la fase de entrada analiza los datos, el contenido de la carga se representa en consecuencia.
De manera predeterminada, la canalización no analiza la carga entrante. En el ejemplo anterior se programan los datos de entrada analizados. Para más información, consulte formatos de mensaje.
Metadatos
Todos los metadatos que no forman parte de los datos principales se convierten en propiedades de nivel superior dentro del mensaje:
Propiedad | Descripción | Tipo | Nota: |
---|---|---|---|
topic |
El tema del que se lee el mensaje. | String | Este campo siempre se agrega en la entrada. |
qos |
El nivel de calidad de servicio elegido en la fase de entrada. | Entero | Este campo siempre se agrega en la fase de entrada. |
packetId |
El Id. del paquete del mensaje. | Entero | Este campo solo se agrega si la calidad del servicio es 1 o 2 . |
properties |
La clave de partición lógica definida en la fase de entrada. | Asignar | El contenedor de propiedades siempre se agrega. |
userProperties |
Propiedades definidas por el usuario. | Matriz | El contenedor de propiedades siempre se agrega. El contenido puede estar vacío si no hay propiedades de usuario en el mensaje. |
Contenido relacionado
Comentarios
https://aka.ms/ContentUserFeedback.
Proximamente: Ao longo de 2024, retiraremos gradualmente GitHub Issues como mecanismo de comentarios sobre o contido e substituirémolo por un novo sistema de comentarios. Para obter máis información, consulte:Enviar e ver os comentarios