表达式
在上一节提到value和pattern字段中,你不但可以填写常值,还可以编写表达式。表达式被${}包含,表达式中可以使用下列函数:
函数 |
参数 |
返回值 |
功能描述 |
---|---|---|---|
base64() |
string |
string |
对给定字符串进行base64编码。 |
base64ToString() |
string |
string |
对一个base64编码的字符串解码。 |
concat() |
string, string |
string |
拼接两个字符串。 |
contains() |
string, string |
bool |
判断参数二是否是参数一的子串。 |
empty() |
string |
bool |
判断字符串是否为空串。 |
endsWith() |
string, string |
bool |
判断参数一是否以参数二结尾。 |
indexOf() |
string, string |
int |
返回参数二在参数一中第一次出现的位置,如果没有出现返回-1。 |
lastIndexOf() |
string, string |
int |
返回参数二在参数一中最后一次出现的位置,如果没有出现返回-1。 |
length() |
string |
int |
返回字符串长度。 |
replace() |
string, string, string |
string |
将参数一中所有出现参数二的部分以参数三替换。 |
startsWith() |
string, string |
bool |
判断参数一是否以参数二开头。 |
toLower() |
string |
string |
将字符串中的英文字符都转换为小写。 |
toUpper() |
string |
string |
将字符串中的英文字符都转换为大写。 |
equals() |
string, string |
bool |
判断两个字符串是否相等。 |
greater() |
string, string |
bool |
判断参数一是否大于参数二。 |
greaterOrEquals() |
string, string |
bool |
判断参数一是否不小于参数二。 |
less() |
string, string |
bool |
判断参数一是否小于参数二。 |
lessOrEquals() |
string, string |
bool |
判断参数一是否不大于参数二。 |
split() |
string, string |
array |
返回将参数一以参数二为分隔符分割后的结果。 |
substring() |
string, int, int |
string |
获取参数一的子串,子串的开始位置由参数二指定,长度由参数三指定。 |
函数 |
参数 |
返回值 |
功能描述 |
---|---|---|---|
add() |
int, int |
int |
将两个整数相加。 |
max() |
int, int |
int |
取两个整数中的较大值。 |
min() |
int, int |
int |
取两个整数中的较小值。 |
sub() |
int, int |
int |
计算参数一减去参数二后的结果。 |
equals() |
int, int |
bool |
判断两个整数是否相等。 |
greater() |
int, int |
bool |
判断参数一是否大于参数二。 |
greaterOrEquals() |
int, int |
bool |
判断参数一是否不小于参数二。 |
less() |
int, int |
bool |
判断参数一是否小于参数二。 |
lessOrEquals() |
int, int |
bool |
判断参数一是否不大于参数二。 |
函数 |
参数 |
返回值 |
功能描述 |
---|---|---|---|
concat() |
array, array |
array |
拼接两个数组。 |
contains() |
array, any |
bool |
判断参数二是否在数组参数一中。 |
empty() |
array |
bool |
判断数组是否为空。 |
first() |
array |
any |
返回数组中的第一个元素。 |
last() |
array |
any |
返回数组中的最后一个元素。 |
length() |
array |
int |
返回数组长度。 |
函数 |
参数 |
返回值 |
功能描述 |
---|---|---|---|
contains() |
object, string |
bool |
判断参数一是否包含键值参数二。 |
getValue() |
object, string |
any |
获取参数一中参数二键值对应的值。 |
empty() |
object |
bool |
判断对象是否为空。 |
length() |
object |
int |
返回对象中的键值数量。 |
函数 |
参数 |
返回值 |
功能描述 |
---|---|---|---|
if() |
bool, any, any |
any |
判断参数一是否为真,如果为真返回参数二,否则返回参数三。 |
and() |
bool, bool |
bool |
判断参数一和参数二是否都为真。 |
or() |
bool, bool |
bool |
判断参数一和参数二是否至少一个为真。 |
not() |
bool |
bool |
将输入的布尔值取反。 |
函数 |
参数 |
返回值 |
功能描述 |
---|---|---|---|
resource() |
无 |
object |
返回当前评估资源的结构体。 |
parameters() |
string |
any |
返回在parameters部分定义的一个参数。 |
除了函数计算以外,表达式中还支持下列语法:
- "."连接符:你可以使用"."连接符来访问一个object中的一个字段,如 resource().properties.metadata.systemEncrypted。
- "CASE WHEN"语句:
CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE defaultValue END