ALIYUN::FC::FunctionInvoker类型用于主动执行函数。
语法
{
"Type": "ALIYUN::FC::FunctionInvoker",
"Properties": {
"Qualifier": String,
"ServiceName": String,
"ExecuteVersion": Integer,
"Async": Boolean,
"Event": String,
"FunctionName": String,
"CheckError": Boolean,
"ServiceRegionId": String
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
ServiceName | String | 是 | 是 | 服务名称。 | 长度为1~128个字符。 |
FunctionName | String | 是 | 是 | 函数名称。 | 无 |
Async | Boolean | 否 | 是 | 是否异步调用。 | 取值:
|
Event | String | 否 | 是 | 用户自定义的函数入参。 | 该参数在函数执行时会被编码为UTF-8字符串传递给函数。如果需要传递二进制或其他编码的字符串,可以先使用Base64进行编码,再传递给该参数。 |
Qualifier | String | 否 | 是 | 服务版本。 | 取值:
|
ExecuteVersion | Integer | 否 | 是 | 创建该资源时,如果不指定该参数,则不会触发函数调用,否则触发函数调用。 更新该资源时,如果该参数发生了变化,且变化后的值为整数,则触发函数调用,否则不触发函数调用。 |
无 |
CheckError | Boolean | 否 | 否 | 是否检查调用结果。 | 取值:
|
ServiceRegionId | String | 否 | 否 | 函数服务所属地域。 | 无 |
返回值
Fn::GetAtt
- ResultType:
- Async为true且ResultType为NoResult时,表示没有调用结果。
- Async为false且ResultType为Success时,表示执行成功。
- Async为false且ResultType为Failure时,表示执行失败。
- Result:
- ResultType为NoResult时Result为空值。
- ResultType为Success时Result为invoke function返回的结果(字符串),具体内容由用户解释。要求返回的结果必须是UTF-8编码的字符串,否则ROS会认为函数执行失败。如果要返回二进制或其他编码的字符串,可以在返回前使用Base64进行编码。
- ResultType为Failure时Result为报错信息。
示例
JSON
格式{ "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { }, "Resources": { "FunctionInvoker": { "Type": "ALIYUN::FC::FunctionInvoker", "Properties": { "ServiceName": "mytest", "FunctionName": "PythonFunc", "ExecuteVersion": 1.0 } } }, "Outputs": { } }