接口描述
功能描述
InvokeFunction 接口可以触发指定的函数运行,目前支持同步和异步两种触发方式。同步调用的情况下返回值会多一个payLoad
字段用于表示函数的返回值。
接口域名
接口请求域名为:scf.api.qcloud.com
请求
请求参数
以下请求参数为本接口接口请求参数,正式调用时需要加上公共请求参数,详见 公共请求参数 页面。其中,此接口的Action字段为 InvokeFunction。
参数名称 | 描述 | 类型 | 必选 |
---|---|---|---|
functionName | 需要运行的函数名称 | String | 是 |
invokeType | 触发类型。可选值为 RequestResponse(同步) 和 Event(异步) ,默认为同步 |
String | 否 |
param | 运行函数时的参数,以json格式传入,最大支持的参数长度是 1M |
String | 否 |
logType | 同步调用时指定该字段,返回值会包含4K 的日志,可选值为None 和Tail ,默认值为None 。当该值为Tail 时,返回参数中的logMsg 字段会包含对应的函数执行日志 |
String | 否 |
响应
响应示例:
{
"code": 0,
"message": "",
"codeDesc": "Success",
"data": {
"duration": 0.422,
"memUsage": 126976,
"log": "log in func\n",
"requestId": "c471ac84-2f15-11e7-8501-5254007d2563",
"retMsg": "Hello from SCF",
"billDuration": 100
}
}
响应参数
参数名称 | 描述 | 类型 |
---|---|---|
code | 公共错误码, 0 表示成功,其他值表示失败 | Int |
message | 模块错误信息描述,与接口相关 | String |
codeDesc | 英文错误码,成功返回 Success,失败有相应的英文说明 | String |
data | json格式,包含本次函数执行的相关信息 | Object |
data字段中包含的数据结构如下:
参数名称 | 描述 | 类型 |
---|---|---|
requestId | 本次执行函数的requestId | String |
logMsg | 同步调用时才有此返回,表示执行过程中的日志输出 | String |
retMsg | 同步调用时才有此返回,表示执行函数的返回 | String |
errMsg | 同步调用时才有此返回,表示执行函数的错误返回信息 | String |
memUsage | 同步调用时才有此返回,执行函数时的内存大小,单位为Byte | Int |
duration | 同步调用时才有值,表示执行函数的耗时,单位是毫秒 | Int |
billDuration | 同步调用时才有值,表示函数的计费耗时,单位是毫秒 | Int |
实际案例
异步请求
请求
GET https://scf.api.qcloud.com/v2/index.php?
Action=InvokeFunction
&SecretId=AKIDutrojKl3CKQZNAr763UXks05898Lmciu
&Nonce=1306
&Timestamp=1505728098
&Region=gz
&Signature=T%2FFgPfv0zgig8sy72EcUnVUXPkw%3D
&functionName=testnode
¶m=%7B%22test%22%3A%22value%22%7D
&invokeType=Event
响应
{
"code": 0,
"message": "",
"codeDesc": "Success",
"data": {
"requestId": "7fe1685d-9c56-11e7-b38f-525400c7c826"
}
}
同步请求
请求
GET https://scf.api.qcloud.com/v2/index.php?
Action=InvokeFunction
&SecretId=AKIDutrojKl3CKQZNAr763UXks05898Lmciu
&Nonce=39288
&Timestamp=1505728154
&Region=gz
&Signature=4RWbHaCfd5ZletZf4p8jUxN%2BqgU%3D
&functionName=testnode
¶m=%7B%22test%22%3A%22value%22%7D
&invokeType=RequestResponse
&logType=Tail
响应
{
"code": 0,
"message": "",
"codeDesc": "Success",
"data": {
"memUsage": 131072,
"log": "2017-09-18T09:49:15.049Z\tundefined\t{ test: 'value' }\n",
"retMsg": "\"ok\"",
"billDuration": 100,
"requestId": "a197c584-9c56-11e7-a46e-5254001df6c6",
"duration": 2.278,
"errMsg": "",
"invokeResult": 0
}
}