全部产品
云市场

内置函数(Builtin-Functions)

更新时间:2019-09-27 16:07:05

便于您更加方便的处理模版的参数及输出,OOS提供了多个内置函数。

支持的函数

  • Fn::Base64Encode:返回输入字符串的Base64编码结果。
  • Fn::Base64Decode:返回输入字符串的Base64解码结果。
  • Fn::MergeMapToList:将多个Map合并成一个以Map为元素的列表。
  • Fn::MergeMap:将列表中多个Map合并成一个Map。
  • Fn::Join:将一组值连接起来,用特定分隔符隔开。
  • Fn::Select:数据元容器通过查询索引返回的单个数据元。
  • Fn::Split:通过指定分隔符对字符串进行切片,并返回所有切片组成的列表。
  • Fn::Replace:将字符串中指定子字符串用新字符串替换。
  • Fn::Min:返回列表中最小元素。
  • Fn::Max:返回列表中最大元素。
  • Fn::First:返回列表中第一个元素。
  • Fn::Last:返回列表中最后一个元素。
  • Fn::ListJoin:将多个参数转换成列表。
  • Fn::Equals :比较两个值是否相等。
  • Fn::If:根据判断条件真假返回不同的值。
  • Fn::Not:对值取否操作。
  • Fn::AddHour:对一个UTCT时间向后推移N小时。
  • Fn::FormatUTCTime:按不同单位精度进行格式化UTC时间。

语法

内置函数的使用主要由内置函数名和待处理参数组成。调用函数的声明表达式即表示函数处理参数后返回的结果,且表达式作为函数返回的结果可以像其他参数一样被引用。

Fn::Base64Encode

返回输入字符串的Base64编码结果。

声明

  1. Fn::Base64Encode : StringToBeBase64

参数
StringToBeBase64: 要进行Base6编码的String。

返回值
Base64方式表示的原始字符串。

Fn::Base64Decode

返回Base64字符串的解码结果。

声明

  1. Fn::Base64Decode : Base64ToBeString

参数
Base64ToBeString:Base64编码方式表示的String。

返回值
Base64解码后的原始String。

Fn::MergeMapToList

将多个Map合并成一个以Map为元素的列表。

声明

  1. Fn::MergeMapToList: aListConatinsDicts

参数
aListConatinsDicts:含有多个映射的List。

返回值
一个以Map为元素的List。

Fn::MergeMap

将列表中多个Map合并成一个Map。

声明

  1. Fn::MergeMap: aListConatinsDicts

参数
aListConatinsDicts:含有多个映射的List。

返回值
List中多个Map合并成的一个Map。

Fn::Join

将一组值连接起来,用特定分隔符隔开。

声明

  1. Fn::Join:
  2. - Connector
  3. - aListContainsString

参数
Connector: 作为连接符String。
aListContainsString: 包含字符串的List,

返回值
List内多个元素连接后的字符串。

Fn::Select

数据元容器通过查询索引返回的单个数据元。

声明

  1. Fn::Select:
  2. - Index
  3. - Container

参数
Index:被查询Container的索引String或Number
Container:被查询的List或Map。

返回值
数据元容器通过查询索引返回的单个数据元。

Fn::Split

通过指定分隔符对字符串进行切片,并返回所有切片组成的列表。

声明

  1. Fn::Split:
  2. - Separator
  3. - StringToSeprate

参数
Separator:作为分隔符的String
StringToSeprate:将被按分隔符分成一个List的String。

返回值
StringToSeprate按分隔符分成的一个List。

Fn::Replace

将字符串中指定子字符串用新字符串替换。

声明

  1. Fn::Replace:
  2. - $varName: StringToReplaceWith
  3. - StringToReplace

参数
$varName: 占位符,以$开始后面连接普通参数名即可,其中$后面参数名命名要求同模版参数名。
StringToReplaceWith:占位符将被替换成的值
StringToReplace:将被替换的值(含占位符),如”$varName is foo”。

返回值
若参数StringToReplaceWith 是”baz” ,则返回为 “baz is foo”。

Fn::Min

返回列表中最小元素。

声明

  1. Fn::Min: aList

参数
aList: 一个含有元素的List;List中元素类型可以为string,int,datetime,None,各元素必须为同一类型。

返回值
忽略值为None的元素,返回List中最小的元素,若集合元素全部为None则返回None。

Fn::Max

返回列表中最大元素。

声明

  1. Fn::Max: aList

参数
aList: 一个含有元素的List;List中元素类型可以为string、int、datetime、None,各元素必须为同一类型。

返回值
忽略值为None的元素,返回List中最大的元素,若集合元素全部为None则返回None。

Fn::First

返回列表中第一个元素。

声明

  1. Fn::First: aList

参数
aList: 一个含有元素的List;List中元素类型不限。

返回值
输出为集合中迭代返回的第一个元素;对loop来说,按照Items中迭代返回的Item生成的task execution id进行排序。


Fn::Last

返回列表中最后一个元素。

声明

  1. Fn::Last: aList

参数
aList: 一个含有元素的List;List中元素类型不限。

返回值
输出为集合中迭代返回的最后一个元素;对loop来说,按照Items中迭代返回的Item生成的task execution id进行排序。

Fn::ListJoin

将多个参数转换成列表。

声明

  1. Fn::ListJoin: IterableContainer

参数
IterableContainer是一个可迭代的集合,集合中元素类型不限。

返回值
将集合转换成List输出。

Fn::Equals

比较两个值是否相等。如果两个值相等,则返回true;如果不相等,则返回false。

声明

  1. Fn::Equals: ["parameter1", "parameter2"]

参数
parameter1, parameter2为两个任意类型值。

返回值
如果两个值相等,则返回true;如果不相等,则返回false。

Fn::If

如果指定的条件计算为true,则返回一个值;如果指定的条件计算为false,则返回另一个值。

声明

  1. Fn::If: ["condition_name", "value_if_true", "value_if_false"]

参数
condition_name:待判断的条件参数。
value_if_true:当指定的条件计算为true时,返回此值。
value_if_false:当指定的条件计算为false时,返回此值。

返回值
当条件计算为true时,返回value_if_true。
当条件计算为false时,返回value_if_false。

Fn::Not

将多个参数转换成列表。

声明

  1. Fn::Not: condition

参数
condition:将要取否的条件参数名。

返回值
当condition为true时,返回false;当condition为false时,返回true。

Fn::AddHour

表示对一个UTCT时间向后推移N小时,使其成为一个新的UTC时间。

声明

  1. Fn::AddHour: ["utc_time", "hours_count"]

参数
utc_time:一个要向后推移的UTC时间;
hours_count:要向后推移的小时数,限取整数。

返回值
utc_time被推移hours_count小时后的新UTC时间。
样例

  1. Fn::AddHour: ["2019-06-01T02:12:45Z", 6]

样例返回值

  1. "2019-06-01T08:12:45Z"

Fn::FormatUTCTime

表示对一个UTC时间按不同单位精度进行格式化,生成的新时间其精度只保留到需要的时间单位。
声明

  1. Fn::FormatUTCTime: ["utc_time", "to_be_utc_time_format"]

参数
utc_time:待被格式化的UTC时间。
to_be_utc_time_format:将要把utc_time格式化成的新时间格式。

返回值
新格式的时间。

样例

  1. Fn::FormatUTCTime: ["2019-06-01T02:12:45Z", "%Y-%m-%dT%H:%MZ"]

样例返回值

  1. 2019-06-01T02:12Z