Configure reglas de reenvío de datos para enviar los datos procesados a Time Series Database (TSDB) para su almacenamiento. El siguiente ejemplo utiliza un topic de comunicación de Thing Specification Language (TSL) como topic de origen para demostrar el proceso completo de reenvío.
Requisitos previos
Se creó una instancia de IoT Platform en una región que admita el reenvío de datos a TSDB. Para obtener más información, consulte Feature availability by region.
Se creó un origen de datos llamado DataSource y se agregó un topic de comunicación TSL al origen de datos. Para obtener más información, consulte Add a data source.
-
Se creó una instancia de TSDB en una virtual private cloud (VPC) en la región de Japan (Tokyo)documentación de Time Series Database (TSDB)
China (Shanghai)
. Para obtener más información, consulte la
.
Contexto
Después de configurar el destino de datos, IoT Platform completa automáticamente las siguientes configuraciones para reenviar los datos del dispositivo desde el motor de reglas a Time Series Database (TSDB).
IoT Platform utiliza dos direcciones IP del vSwitch donde se encuentra la instancia de TSDB. El bloque CIDR IPv4 del vSwitch se agrega a la lista de permitidos de la instancia de TSDB.
Se crea un security group administrado en la VPC donde se encuentra la instancia de TSDB. El nombre del security group comienza con sg-nsm- de forma predeterminada.
En este ejemplo, se escriben los siguientes datos en TSDB:
timestamp: Utilice la función
timestamp()para obtener la marca de tiempo de los datos reportados por el dispositivo.tag: Utilice la función
deviceName()para obtener el nombre del dispositivo y escribirlo en la etiqueta{"deviceName":deviceName()}.metric: Utilice el método JSONPath para obtener los valores de las propiedades del modelo TSL Temperature y Humidity reportados por el dispositivo. Estos valores se escriben posteriormente en los datos de series temporales como métricas de temperatura y humedad.
Límites
-
Los datos solo se pueden reenviar dentro de la misma región. Por ejemplo, los datos de una instancia de IoT Platform en Japan (Tokyo)Japan (Tokyo)
China (Shanghai)
solo se pueden reenviar a una instancia de TSDB en
China (Shanghai)
.
Los datos solo se pueden reenviar a instancias de TSDB en una virtual private cloud (VPC).
Solo se pueden reenviar datos en formato JSON.
En un mensaje reenviado, todos los campos se escriben en Time Series Database como metric s, excepto los campos configurados como timestamp y valores de tag. El tipo de dato de metric admite valores numéricos y cadenas. Otros tipos de datos provocan que la operación de escritura falle.
Notas de uso
También puede utilizar la versión nueva o anterior de la función de reenvío de datos para enviar datos a TSDB. Para obtener más información, consulte UForward data to TSDB.
Crear un destino de datos
Inicie sesión en la consola de IoT Platform.
En la página Overview, busque la instancia que desea gestionar y haga clic en el ID o nombre de la instancia.
En el panel de navegación izquierdo, seleccione .
-
En la página Data Forwarding, haga clic en Go to New Version en la esquina superior derecha.
NotaSi ya realizó esta operación anteriormente, se le redirige automáticamente a la nueva versión de la página Data Forwarding.
Haga clic en la pestaña Data destination y luego en Create data destination.
-
En el cuadro de diálogo Create Data Destination, introduzca un nombre para el destino de datos. En este ejemplo, se utiliza DataPurpose. Configure los parámetros y haga clic en OK.
Parámetro
Descripción
Operation
Seleccione Store Data to TSDB.
Region
La región de su instancia de IoT Platform.
TSDB Instance
La instancia de TSDB que creó en una VPC.
metric Data Type
El tipo de dato del parámetro metric. Valores válidos: Numeric Type y String.
Puede hacer clic en el icono
para obtener ayuda.Role
Autorice a IoT Platform para escribir datos en TSDB.
Configurar e iniciar un parser
Cree un parser, como DataParser. Para obtener más información, consulte Step 1: Create a parser.
-
En la página Resolver Details, asocie el origen de datos.
En el asistente de configuración, en Data Source, haga clic en Associate Data Source.
En el cuadro de diálogo, seleccione DataSource en la lista desplegable Data Source y haga clic en OK.
-
En la página Resolver Details, puede asociar destinos de datos.
En el asistente de configuración, haga clic en Data Destination. Luego, en la esquina superior derecha de la lista Data Destination, haga clic en Associate Data Destination.
En el cuadro de diálogo que aparece, seleccione DataPurpose en la lista desplegable Data Destination y haga clic en OK.
-
En la lista de destinos de datos, busque el Data Destination ID y anótelo. Por ejemplo, 1000.
Necesitará este Data Destination ID en el script de análisis.
En la página de parser details, haga clic en la pestaña Parser Script.
-
En el editor de código, introduzca un script. Para obtener más información sobre cómo modificar un script, consulte Script syntax.
Para obtener más información sobre los parámetros de las funciones, consulte Function list.
// Use the payload() function to obtain the data that is submitted by devices and convert the data to JSON-formatted data. var data = payload("json"); // Filter the submitted temperature and humidity values. var h = data.items.Humidity.value; var t = data.items.Temperature.value; // Forward submitted TSL data. writeTsdb(1000,timestamp(),"temperature", t , {"deviceName":deviceName()}); writeTsdb(1000,timestamp(),"humidity", h , {"deviceName":deviceName()}); -
Haga clic en Debugging. En el cuadro de diálogo que aparece, seleccione un producto y un dispositivo, especifique un topic y luego introduzca los datos de payload para comprobar si el script se ejecuta correctamente.
Especifique los siguientes parámetros:
Topic:
/${productKey}/${deviceName}/thing/event/property/postPayload data: Una estructura JSON que contiene productKey, gmtCreate, deviceName y un objeto items, donde items contiene Temperature (valor: 70).
El siguiente resultado indica que el script se ejecuta correctamente.
action: transmit to tsdb[destinationId=1000] Haga clic en Publish.
Regrese a la pestaña Resolver en la página Data Forwarding y haga clic en Start para el resolver DataParser.