内置函数

云工作流的流程定义语言提供部分内置函数,您可以使用内置函数执行基本的数据处理操作。本文介绍云工作流常见的内置函数。

索引

云工作流的流程定义语言中,根据数据处理任务的类型,将内置函数分为以下几类。

说明

IO构造中,如果要使用内置函数,需要在流程定义语言支持的构造器的Key的末尾添加.$,用于表示对应的Value为表达式,需要进行表达式解析,否则将会作为字符串处理。当前IO构造中,最多支持10层的内置函数嵌套。

系统内置函数

以下为云工作流的系统内置函数,您可以直接使用。

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

介绍:用于使用简单的正则表达式匹配字符串函数。

参数:

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