您可以在编写时序数据存储规则脚本时使用以下函数,实现多样化数据处理。函数列表包括数据类型转换函数、时间类型转换函数和基础数据类型的函数等。本文介绍函数的表达式及其使用说明。
背景信息
您可结合支持的脚本语法,调用函数将设备自定义Topic数据存储到物联网平台的时序数据存储空间。脚本的使用说明,请参见脚本语法。
时序数据存储相关函数
表达式 | 说明 |
convert2HotStorageData(fields, time) | 将fields数据进行标准格式转换。
转换后的标准格式为:
|
writeHotStorage(params) | 将标准格式数据params存储到物联网平台的时序数据存储空间。 params为存储数据的标准格式数据,必须包含
重要 params中最多包含500个 |
数据类型转换函数
表达式 | 说明 |
toBoolean(Object) | Object值转换为Boolean值。参数支持以下类型的取值:
|
toNumber(Object) | Object值转换为Number值。参数支持以下类型的取值:
|
toString(Object) | Object值转换为String值。 参数值类型不限,返回对应String类型值。参数值为null,返回空字符。 当参数为二进制类型时,按照UTF-8编码返回对应值。 |
toMap(Object) | Object值转换为Map值。参数支持以下类型的取值:
|
toArray(Object) | Object值转换为Array值。参数支持以下类型的取值:
|
toBinary(Object) | Object值转换为二进制值。参数支持以下类型的取值:
|
时间类型转换函数
函数表达式 | 说明 |
format_date(timestamp, patten, timeZone) | 将时间戳毫秒值转换为指定格式的时间。返回String类型的时间。
|
to_timestamp(dateString, patten, timeZone) | 将指定格式的时间转换为时间戳毫秒值。返回数值类型的时间戳。
|
基本数据类型支持的函数
Map类型。
表达式
说明
[Object]
获取指定键(
Key
)对应的Value
。size()
获取Map数据中键值对数量。
containKey(String)
判断Map数据中是否包含指定的键。
keySet()
获取Map数据中键的集合,返回类型为Array。
remove(Object)
移除Map数据中指定键对应的键值对。
put(Object, Object)
在Map数据中添加键值对。
putAll(map)
在Map数据中批量添加一组Map数据。
Array类型。
函数
说明
[int]
获取指定索引位置的值。数组首位的索引值为0。
contains(Object)
判断数组中是否包含指定元素。
remove(Object)
移除数组中指定的元素。
removeAt(int)
移除数组中指定索引位置的元素。
add(Object)
在数组末尾中添加元素。
add(index, Object)
在对应index索引位置添加元素。
addAll(array)
在数组中添加另一个数组。
size()
获取数组中元素个数。
String类型。
函数
说明
substring(start, end)
截取从
start
位置到end-1
位置的字符串。end
不传时,截取到字符串末尾。length()
获取字符串长度。
split(String)
按照分割字符,分割字符串。
startsWith(String)
查看字符串是否以指定的字符串开头。
endsWith(String)
查看字符串是否以指定的子字符串结尾。
indexOf(String, index)
从指定index索引位置开始,指定字符串在字符串中首次出现的位置。
index不传入,默认为0。
其他函数
表达式 | 说明 |
endWith(input, suffix) | 判断字符串input中是否以字符串suffix结尾。 返回结果类型为布尔型。 |
productKey() | 返回当前产品的ProductKey值。 |
getDeviceTag(key) | 返回 |
getOrNull(data, "items", ......) | 返回JSON格式数据data中指定字段的值。 该函数中传入的字段个数没有限制,但必须逐级传入。函数返回最后一个字段的值,若最后一个字段不存在或值为空,则函数返回值为null。 例如data中数据:
函数示例如下:
|
payload(textEncoding) | 返回设备发布消息payload的转义数据。textEncoding表示payload的转义字符编码,取值如下:
|
parseNumber(numberString, radix) | 将字符串numberString按指定的进制radix转换为数字。 radix为可选参数,取值如下:
例如:
|