IoT Platform ofrece diversas funciones para usar en un script de análisis y procesar datos. Estas funciones permiten convertir tipos de datos, reenviar información a destinos específicos y procesar cargas útiles de tipos de datos concretos. Este tema describe las funciones que proporciona IoT Platform.
Las funciones compatibles con Data Forwarding v1.0 también pueden usarse en los scripts de análisis de Data Forwarding v2.0. Para obtener más información, consulte Functions.
Conversión de tipos de datos
Función | Descripción |
toBoolean(Object) | Convierte el parámetro Object en un valor booleano. El parámetro admite los siguientes tipos de datos:
|
toNumber(Object) | Convierte el valor del parámetro Object en un número. El parámetro admite los siguientes tipos de datos:
|
toString(Object) | Convierte el valor del parámetro Object en una cadena. Si el parámetro tiene un valor distinto de NULL, la función devuelve dicho valor como cadena. Si el parámetro es NULL, la función devuelve una cadena vacía. Si el parámetro es de tipo binario, la función devuelve un valor decodificado en UTF-8. |
toMap(Object) | Convierte el valor del parámetro Object en un mapa. El parámetro admite los siguientes tipos de datos:
|
toArray(Object) | Convierte el valor del parámetro Object en una matriz. El parámetro admite los siguientes tipos de datos:
|
toBinary(Object) | Convierte el valor del parámetro Object en un valor binario. El parámetro admite los siguientes tipos de datos:
|
Conversión de formatos de hora
Función | Descripción |
format_date(timestamp, patten, timeZone) | Convierte una marca de tiempo en milisegundos en un valor de hora con un formato específico. Devuelve una cadena.
|
to_timestamp(dateString, patten, timeZone) | Convierte un valor de hora con un formato específico en una marca de tiempo en milisegundos. Devuelve un valor numérico.
|
Reenvío de datos a destinos
En las siguientes funciones, el parámetro destinationId especifica el ID de un destino de datos y el parámetro payload especifica el contenido del mensaje.
Función | Descripción | Ejemplo |
writeAmqp(destinationId, payload, tag) | Reenvía datos a un grupo de consumidores de Advanced Message Queuing Protocol (AMQP). tag: este parámetro es opcional. Si especifica una etiqueta, esta se añade a todos los mensajes que se reenvían al grupo de consumidores AMQP. La etiqueta debe tener entre 1 y 128 caracteres. Puede especificar una constante o una variable en la etiqueta.
| Forward data to an AMQP server-side subscription consumer group for consumption |
writeDatahub(destinationId, data) | Reenvía datos a DataHub. data: los datos que desea escribir en DataHub. Solo se admiten los tipos de datos map y binary. | |
writeFc(destinationId, data) | Reenvía datos a Function Compute. data: los datos que desea reenviar a Function Compute. | |
writeKafka(destinationId, payload, key) | Reenvía datos a ApsaraMQ for Kafka. key: la clave que desea especificar en los mensajes que se reenviarán a ApsaraMQ for Kafka. Este parámetro es opcional. Puede enrutar mensajes según las etiquetas de su cliente consumidor. | |
writeMns(destinationId, payload) | Reenvía datos a Simple Message Queue (formerly MNS) (SMQ). | |
writeMq(destinationId, payload, tag) | Reenvía datos a ApsaraMQ for RocketMQ. tag: este parámetro es opcional. Si especifica una etiqueta, esta se añade a todos los mensajes que se reenvían a ApsaraMQ for RocketMQ. Puede filtrar mensajes según las etiquetas de su cliente consumidor. La etiqueta debe tener entre 1 y 128 caracteres. Puede especificar una constante o una variable en la etiqueta.
| |
writeTableStore(destinationId, data, flowType) | Reenvía datos a instancias de Tablestore (OTS) del modelo Wide Column.
| |
writeTableStoreTs(destinationId, timeInUs, metricName, tags, fields, dataSource) | Reenvía datos a instancias de OTS del modelo TimeSeries.
Esta función permite escribir datos en una sola línea de OTS. Para escribir datos en varias líneas simultáneamente, use la siguiente función: Para obtener más información sobre los parámetros, consulte TimeSeries model. | |
writeRds(destinationId, data) | Escribe datos en una tabla de ApsaraDB RDS. data: los datos que desea escribir en ApsaraDB RDS. Solo se admite el tipo de datos map. La clave especifica el nombre de la columna de la tabla y el valor especifica el valor de la columna. | |
updateRds(destinationId, data, condition, limit) | Actualice los datos escritos en una tabla de ApsaraDB RDS.
Ejemplos:
| |
writeTsdb(destinationId, timestamp, metricName, value, tag) | Reenvía datos a Time Series Database.
| |
writeIotTopic(destinationId, topic, payload) | Reenvía datos a otro tema. Topic: el tema de destino al que desea reenviar datos. Se admiten los siguientes temas:
El valor de la variable Para obtener más información, consulte Step 1: Create a data destination. Importante
Si un dispositivo no se suscribe al tema de destino, no podrá recibir los mensajes reenviados. Por ejemplo, si el Dispositivo A se conecta a IoT Platform mediante MQTT.fx, no se suscribe automáticamente a los temas del dispositivo. Si el Dispositivo B reenvía datos al tema Para suscripciones automáticas a temas, consulte Auto-subscribed topics. | |
writeLindorm(destinationId, timestamp, tags, fields) | Reenvía datos a Lindorm.
|
Funciones compatibles con cada tipo de dato básico
-
Map
Función
Descripción
[Object]
Obtiene el valor de una clave especificada.
size()
Obtiene el número de pares clave-valor en un mapa.
containsKey(String)
Comprueba si un mapa contiene una clave específica.
keySet()
Obtiene las claves de un mapa. Devuelve una matriz.
remove(Object)
Elimina un par clave-valor de un mapa según una clave especificada.
put(Object, Object)
Añade pares clave-valor a un mapa.
putAll(map)
Añade otro mapa a un mapa existente.
-
Array
Función
Descripción
[int]
Obtiene el valor en un índice especificado. El índice del primer elemento de una matriz es 0.
contains(Object)
Comprueba si una matriz contiene un elemento específico.
remove(Object)
Elimina un elemento específico de una matriz.
removeAt(int)
Elimina un elemento en un índice especificado de una matriz.
add(Object)
Añade un elemento al final de una matriz.
add(index, Object)
Añade un elemento en un índice especificado.
addAll(array)
Añade otra matriz a una matriz existente.
size()
Obtiene el número de elementos en una matriz.
-
String
Función
Descripción
substring(start, end)
Extrae una cadena desde la posición
starthasta la posiciónend-1.Si no configura el parámetro, el proceso de extracción continúa hasta el final de la cadena.length()
Consulta la longitud de una cadena.
split(String)
Divide una cadena mediante un separador especificado.
startsWith(String)
Comprueba si una cadena comienza con una subcadena específica.
endsWith(String)
Comprueba si una cadena termina con una subcadena específica.
indexOf(String, index)
Consulta la posición en la que aparece por primera vez una subcadena a partir de un índice especificado de una cadena.
El valor predeterminado del parámetro index es 0.
Otras funciones
Función | Descripción |
endWith(input, suffix) | Comprueba si la cadena input termina con un suffix especificado. Devuelve un valor booleano. |
productKey() | Devuelve el ProductKey del producto actual. |
getDeviceTag(key) | Devuelve el valor de etiqueta de dispositivo correspondiente a una clave de etiqueta. Si la etiqueta que contiene la key especificada no está asignada al dispositivo, no se devuelve ningún valor de etiqueta. |
getOrNull(data, "items", ......) | Devuelve el valor de un campo especificado dentro del parámetro data con formato JSON. Puede configurar uno o más campos en la función. Si hay varios campos, deben configurarse según sus niveles jerárquicos. La función devuelve el valor del último campo. Si el último campo no existe o está vacío, la función devuelve null. Ejemplo de data: Ejemplos:
|
payload(textEncoding) | Codifica la carga útil del mensaje enviado por un dispositivo. El parámetro textEncoding especifica un esquema de codificación.
|
parseNumber(numberString, radix) | Convierte una cadena especificada por el parámetro numberString en un número según el sistema numérico especificado por el parámetro radix. El parámetro radix es opcional. Valores válidos:
Ejemplos: |
Referencias
Si desea reenviar datos a un destino, puede escribir un script con la sintaxis compatible para llamar a funciones específicas. Para obtener más información, consulte Script syntax.