运行函数

最近更新时间:2018-08-16 13:20:13

接口描述

功能描述

InvokeFunction 接口可以触发指定的函数运行,目前支持同步和异步两种触发方式。同步调用的情况下返回值会多一个payLoad字段用于表示函数的返回值。

接口域名

接口请求域名为:scf.api.qcloud.com

请求

请求参数

以下请求参数为本接口接口请求参数,正式调用时需要加上公共请求参数,详见 公共请求参数 页面。其中,此接口的Action字段为 InvokeFunction。

参数名称 描述 类型 必选
functionName 需要运行的函数名称 String
invokeType 触发类型。可选值为 RequestResponse(同步)Event(异步),默认为同步 String
param 运行函数时的参数,以json格式传入,最大支持的参数长度是 1M String
logType 同步调用时指定该字段,返回值会包含4K的日志,可选值为NoneTail,默认值为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
    &param=%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
    &param=%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
    }
}