Cuando un dispositivo envía un mensaje con un formato personalizado a un tema personalizado que incluye la etiqueta de análisis sintáctico ?_sn=default, IoT Platform ejecuta un script de análisis sintáctico de mensajes. Este script transforma los datos personalizados en una estructura JSON y luego reenvía la información a los sistemas de negocio descendentes. En este tema se describe cómo enviar un script de análisis sintáctico de mensajes desde la consola de IoT Platform para analizar datos con un formato personalizado.
Uso y límites
Solo los dispositivos conectados mediante Message Queuing Telemetry Transport (MQTT) son compatibles con el análisis sintáctico de mensajes en temas personalizados.
El script analiza únicamente los datos que los dispositivos reportan a IoT Platform. No procesa la información enviada desde la nube hacia los dispositivos.
El script analiza la carga útil de un mensaje ascendente y devuelve la carga útil ya procesada.
El tema del mensaje no cambia después del análisis sintáctico. Por ejemplo, un mensaje enviado a
/${productKey}/${deviceName}/user/updatepermanece en el mismo tema tras procesarse.
Etiqueta de análisis sintáctico
Al configurar el dispositivo, agregue la etiqueta de análisis sintáctico ?_sn=default al final del tema personalizado que utiliza para publicar mensajes.
IoT Platform analiza solo los mensajes publicados en temas que contienen la etiqueta de análisis sintáctico.
Por ejemplo, si necesita convertir al formato JSON un mensaje enviado al tema /${productKey}/${deviceName}/user/update, debe configurar el tema como /${productKey}/${deviceName}/user/update?_sn=default durante el desarrollo de la lógica del lado del dispositivo.
Cuando cree un tema personalizado en la consola de IoT Platform, no agregue la etiqueta de análisis sintáctico a la definición del tema.
Procedimiento
Inicie sesión en la consola de IoT Platform.
En la página Overview, busque la instancia que desea gestionar y haga clic en su ID o nombre.
En el panel de navegación izquierdo, seleccione .
En la página Products, busque el producto deseado y haga clic en View.
En la página Product Details, haga clic en la pestaña Message Parsing.
-
Seleccione un lenguaje de scripting. Después, en la sección Edit Script, introduzca su script en el editor de código.
Lenguajes de scripting compatibles
Función por definir
Código de ejemplo
JavaScript (ECMAScript 5)
transformPayload()
Python 2.7
transform_payload()
PHP 7.2
transformPayload()
NotaSi el Data Format del producto es Pass-through/Custom, también debe escribir un script para analizar los mensajes del modelo Thing Specification Language (TSL). Para más información, consulte Submit a TSL model message parsing script.
-
Pruebe el script.
En la sección Input Simulation, establezca Simulation Type en Custom y, a continuación, seleccione un dispositivo y un tema.
Introduzca los datos simulados que reporta el dispositivo y haga clic en Execute.
Una vez que confirme que el script funciona según lo esperado, haga clic en Submit para enviarlo a IoT Platform.
Opcional: Actualizar el script de análisis sintáctico de mensajes
Después de enviar un script de análisis sintáctico de mensajes, puede volver a la pestaña Message Parsing para modificarlo o eliminarlo. Siga los pasos de la sección Procedimiento para probar y enviar los cambios. Estos surten efecto en aproximadamente un minuto. El script actualizado se aplica a todos los dispositivos existentes y nuevos asociados con el producto.
Si modifica y vuelve a enviar el script, también debe actualizar la lógica de negocio relacionada con el servicio de análisis sintáctico de mensajes. De lo contrario, sus servicios podrían verse interrumpidos.
Si elimina el script, el servicio de análisis sintáctico de mensajes dejará de estar disponible para los dispositivos asociados con el producto. Esto podría interrumpir sus servicios.
Proceda con precaución.
Referencias
Para conocer información básica, como el flujo de análisis sintáctico de mensajes, consulte What is message parsing?.
Para obtener detalles sobre cómo analizar datos del modelo TSL en formato Pass-through/Custom, consulte Submit a TSL model message parsing script.
Para saber cómo llamar a una API y enviar mensajes a un dispositivo, consulte APIs for TSL models y APIs for message communication.