Asignación de telemetría en la entrada a IoT Central
La asignación de datos permite transformar datos complejos de telemetría de dispositivos en datos estructurados dentro de IoT Central. Para cada uno de los dispositivos, puede asignar una ruta de acceso JSON específica en el mensaje de telemetría del dispositivo a un alias. Un alias es un nombre descriptivo para el destino al que se va a asignar. IoT Central usa las asignaciones para transformar la telemetría en el camino a IoT Central. Puede usar la telemetría asignada para:
- Cree plantillas de dispositivo y experiencias de administración de dispositivos en IoT Central.
- Normalice la telemetría de distintos dispositivos mediante la asignación de rutas JSON en varios dispositivos a un alias común.
- Exporte a destinos fuera de IoT Central.
Sugerencia
Si quiere generar automáticamente una plantilla de dispositivo a partir de datos de telemetría sin modelos, consulte Generar automáticamente una plantilla de dispositivo.
En el siguiente vídeo se ofrece un tutorial sobre el proceso de asignación de datos:
Asignación de telemetría para el dispositivo
Una asignación usa una expresión JSONPath para identificar el valor de un mensaje de telemetría entrante para asignarlo a un alias.
Una expresión JSONPath comienza con el carácter $
, que hace referencia al elemento raíz del mensaje. $
va seguido de una secuencia de elementos secundarios separados por corchetes. Por ejemplo:
$["messages"]["tmp"]
$["opcua"]["payload"][0]["value"]
$["Messages"]["Payload"]["nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt1"]["Value"]
IoT Central usa un subconjunto de la sintaxis de expresión JSONPath:
- Cada segmento solo puede ser un número no negativo o una cadena entre comillas dobles.
- Un segmento no puede contener barras diagonales inversas, corchetes ni comillas dobles.
- Una ruta de acceso JSON no puede superar los 1000 caracteres.
Para crear una asignación en la aplicación de IoT Central, elija una de las siguientes opciones para ir al panel Asignar datos:
En cualquier página del dispositivo, seleccione Administrar dispositivo y Asignar datos
En la vista Datos sin procesar del dispositivo, expanda cualquier mensaje de telemetría, mantenga el puntero del mouse sobre una ruta de acceso y seleccione Agregar alias. El panel Asignar datos se abre con la expresión JSONPath copiada en el campo Ruta de acceso JSON:
En el lado izquierdo del panel Asignar datos se muestra el mensaje más reciente del dispositivo. Mantenga el puntero del mouse sobre cualquier parte de los datos y seleccione Agregar alias. La expresión JSONPath se copia en la ruta de acceso JSON. Agregue un nombre de alias que no tenga más de 64 caracteres. No puede usar el alias para hacer referencia a un campo de un objeto complejo definido en la plantilla de dispositivo.
Agregue tantas asignaciones como necesite y, después, seleccione Guardar.
Para un dispositivo determinado:
- No puede haber dos asignaciones con la misma ruta de acceso JSON.
- No puede haber dos asignaciones con el mismo alias.
Sugerencia
Es posible que tenga que esperar varios minutos para que el dispositivo envíe un mensaje de telemetría para mostrarlo en el panel izquierdo. Si todavía no hay datos en el panel izquierdo, puede escribir manualmente una expresión JSONPath en el campo Ruta de acceso JSON.
Para comprobar que IoT Central está asignando la telemetría, vaya a la vista Datos sin procesar del dispositivo y compruebe la sección _mappeddata
:
Si no ve los datos asignados después de actualizar los datos sin procesar varias veces, compruebe que la expresión JSONPath que usa coincida con la estructura del mensaje de telemetría.
En los dispositivos IoT Edge, la asignación de datos se aplica a la telemetría de todos los módulos de IoT Edge y al centro. No se pueden aplicar asignaciones a un módulo específico de Azure IoT Edge.
En el caso de los dispositivos asignados a una plantilla de dispositivo, no se pueden asignar datos para componentes o interfaces heredadas. Sin embargo, puede asignar los datos del dispositivo antes de asignarlos a una plantilla de dispositivo.
Administración de asignaciones
Para ver, editar o eliminar asignaciones, vaya a la página Alias asignados. Seleccione una asignación para editarla o eliminarla. Puede seleccionar varias asignaciones y eliminarlas al mismo tiempo:
De forma predeterminada, las exportaciones de datos de IoT Central incluyen datos asignados. Para excluir los datos asignados, use una transformación de datos en la exportación de datos.
Asignación de telemetría sin modelos
Puede asignar telemetría sin modelos, incluida la telemetría de componentes no modelados. Por ejemplo, dada la telemetría workingSet
definida en el componente raíz y la telemetría temperature
definida en un componente termostato que se muestra en el ejemplo siguiente:
{
"_unmodeleddata": {
"workingSet": 74
},
"_eventtype": "Telemetry",
"_timestamp": "2022-07-18T09:22:40.257Z"
}
{
"_unmodeleddata": {
"thermostat2": {
"__t": "c",
"temperature": 44
}
},
"_eventtype": "Telemetry",
"_timestamp": "2022-07-18T09:21:48.69Z"
}
Puede asignar esta telemetría mediante las siguientes definiciones de asignación:
$["workingSet"] ws
$["temperature"] temp
Nota:
No incluya el nombre del componente en la definición de asignación.
Los resultados de estas reglas de asignación son similares a los ejemplos siguientes:
{
"telemetries": {
"workingSet": 84,
"_mappeddata": {
"ws": 84
}
}
}
{
"_unmodeleddata": {
"thermostat2": {
"__t": "c",
"temperature": 12
},
"_mappeddata": {
"thermostat2": {
"__t": "c",
"temp": 12
}
}
},
"_eventtype": "Telemetry",
"_timestamp": "2022-07-18T09:31:21.088Z"
}
Ahora puede usar los alias asignados para mostrar la telemetría en un gráfico o panel. También puede usar los alias asignados al exportar la telemetría.