您可以在編寫時序資料存放區規則指令碼時使用以下函數,實現多樣化資料處理。函數列表包括資料類型轉換函式、時間類型轉換函式和基礎資料類型的函數等。本文介紹函數的運算式及其使用說明。
背景資訊
您可結合支援的指令碼文法,調用函數將裝置自訂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,返回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) | 將指定格式的時間轉換為時間戳記毫秒值。返回數實值型別的時間戳記。
|
基礎資料型別 (Elementary Data Type)支援的函數
Map類型。
運算式
說明
[Object]
擷取指定鍵(
Key
)對應的Value
。size()
擷取Map資料中索引值對的數量。
containsKey(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為選擇性參數,取值如下:
例如:
|