全部產品
Search
文件中心

CloudFlow:內建函數

更新時間:Jul 06, 2024

CloudFlow的流程定義語言提供部分內建函數,您可以使用內建函數執行基本的資料處理操作。本文介紹CloudFlow常見的內建函數。

索引

CloudFlow的流程定義語言中,根據資料處理任務的類型,將內建函數分為以下幾類。

說明

IO構造中,如果要使用內建函數,需要在流程定義語言支援的構造器的Key的末尾添加.$,用於表示對應的Value為運算式,需要進行運算式解析,否則將會作為字串處理。當前IO構造中,最多支援10層的內建函數嵌套。

系統內建函數

以下為CloudFlow的系統內建函數,您可以直接使用。

arrayContains

介紹:用於判斷數組中是否包含某元素。

參數:

[]any

傳回值:

bool

使用樣本:

arrayContains(["Tom",10],10)
arrayContains(["Tom",10],"Jack")

輸出樣本:

true
false

arrayUnique

介紹:用於刪除數組中的重複元素。

參數:

[]any

傳回值:

[]any

使用樣本:

arrayUnique([1, 2, 3, 1])

輸出樣本:

[1, 2, 3]

format

介紹:使用{}預留位置文法進行格式化。

參數:

string, ...any
模板,參數列表

傳回值:

string

使用樣本:

format("hello {}","world")

輸出樣本:

"hello world"

fromBase64

介紹:用於對字串進行Base64解碼。

參數:

string

傳回值:

string

使用樣本:

fromBase64("Rm5G")

輸出樣本:

"FnF"

stringToJson

介紹:用於將JSON String轉換為對象JSON Object/map[string]any。

參數:

string

傳回值:

map[string]any

使用樣本:

fromJSON('{"name": "Tom", "age": 10}')

輸出樣本:

{"name": "Tom", "age": 10}

hash

介紹:用於使用特定演算法產生輸入的hash值。

參數:

string,string
輸入,演算法
    MD5
    SHA-1
    SHA-256
    SHA-512

傳回值:

string

使用樣本:

hash("abc","MD5")

輸出樣本:

"900150983cd24fb0d6963f7d28e17f72"

jsonMerge

介紹:用於將兩個JSON Object/map[string]any合并。

參數:

map[string]any,map[string]any

傳回值:

map[string]any

使用樣本:

jsonMerge({"name": "Tom", "age": 10},{"name": "Tom", "address": "beijing"})

輸出樣本:

{"name": "Tom", "age": 10, "address": "beijing"}

length

介紹:用於擷取array、map和string的長度。

參數:

[]any
map[string]any
string

傳回值:

int

使用樣本:

length([1, 2, 3])
length({"name": "Tom", "age": 10})
length("name") 

輸出樣本:

3
2
4

mapKeys

介紹:用於將JSON Object/map[string]any中的Key抽取為數組。

參數:

map[string]any

傳回值:

[]string

使用樣本:

mapKeys({"name": "Tom", "age": 10})

輸出樣本:

["name","age"]

mapValues

介紹:用於將JSON Object/map[string]any中的Value抽取為數組。

參數:

map[string]any

傳回值:

[]any

使用樣本:

mapValues({"name": "Tom", "age": 10})

輸出樣本:

["Tom",10]

mapValuesPartition

介紹:用於將JSON Object/map[string]any中的Value抽取為數組,並將結果按照一個步進切割為多個數組。

參數:

map[string]any

傳回值:

[][]any

使用樣本:

mapValuesPartition({"name": "Tom", "age": 10},1)

輸出樣本:

["Tom"],[10]

regexMatchString

介紹:用於使用簡單的Regex匹配字串函數。

參數:

string, string
運算式,待匹配值

傳回值:

bool

使用樣本:

regexMatchString("p([a-z]+)ch", "peach")
regexMatchString("p([a-z]+)ch", "p123ch")

輸出樣本:

true
false

split

介紹:用於將字串按照指定分隔字元切分。

參數:

string,string

傳回值:

[]string

使用樣本:

split("item1,item2,item3", ",") 

輸出樣本:

["item1", "item2", "item3"]

toArray

介紹:用於將任意長度的入參轉換成一個數組返回。

參數:

any

傳回值:

[]any

使用樣本:

toArray(1,'strig',$Input.var)

輸出樣本:

[]any{1, 'string', $valueOfVar}

toBase64

介紹:用於對字串進行Base64編碼。

參數:

string

傳回值:

string

使用樣本:

toBase64("FnF")

輸出樣本:

"Rm5G"

jsonToString

介紹:用於將JSON Object/map[string]any轉換為字串。

參數:

map[string]any

傳回值:

string

使用樣本:

toJSON({"name": "Tom", "age": 10})

輸出樣本:

'{"name": "Tom", "age": 10}'

uuid

介紹:用於產生一個uuid。

參數:

傳回值:

string

使用樣本:

uuid()

輸出樣本:

159fd8c1-2ec3-4d7b-b9fd-60b9d8841000