同步执行函数
功能介绍
同步调用指的是客户端请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。
URI
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
租户项目 ID,获取方式请参见获取项目ID。 |
function_urn |
是 |
String |
函数的URN,详细解释见FunctionGraph函数模型的描述。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
Content-Type |
是 |
String |
消息体的类型(格式)。 |
X-Cff-Log-Type |
否 |
String |
取值为:tail(返回函数执行后的4K日志),或者为空(不返回日志)。 |
X-CFF-Request-Version |
否 |
String |
返回体格式,取值v0、v1。 v0:默认返回文本格式。 v1:默认返回json格式,sdk需要使用此值。 |
X-Cff-Instance-Memory |
否 |
String |
设置本次执行函数使用的内存规格。 取值:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096、8192、10240。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
{自定义key} |
是 |
Object |
执行函数请求体 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
X-Cff-Invoke-Summary |
String |
本次同步调用执行信息摘要。 |
X-Cff-Request-Id |
String |
本次同步调用请求id。 |
X-Cff-Function-Log |
String |
本次同步调用用户日志,需在请求头中设置X-Cff-Log-Type:tail。截取日志的后2000个字节并且做base编码。 |
X-CFF-Billing-Duration |
String |
本次同步调用计费信息。 |
X-Cff-Response-Version |
String |
返回体格式。 v0:默认返回文本格式。 v1:默认返回json格式。 |
X-Func-Err-Code |
String |
本次同步调用错误码,若执行成功则为0。 |
X-Is-Func-Err |
String |
是否为用户函数错误。 |
参数 |
参数类型 |
描述 |
---|---|---|
request_id |
String |
请求ID。 |
result |
String |
函数执行结果 |
log |
String |
函数执行返回日志 |
status |
Integer |
函数执行返回状态 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误信息 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误信息 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误信息 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误信息 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误信息 |
状态码: 503
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误信息 |
请求示例
同步执行函数。
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations { "body" : "", "requestContext" : { "apiId" : "bc1dcffd-xx", "requestId" : "xxx", "stage" : "RELEASE" }, "queryStringParameters" : { "responseType" : "html" }, "httpMethod" : "GET", "pathParameters" : null, "headers" : { "accept-language" : "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "accept-encoding" : "gzip, deflate, br", "x-forwarded-port" : "443", "x-forwarded-for" : "127.0.0.1", "x-forwarded-proto" : "https" }, "path" : "/apig-event-template", "isBase64Encoded" : true }
响应示例
状态码: 200
OK
{ "result" : "{\"statusCode\": 200, \"isBase64Encoded\": false, \"body\": \"{\\\"key\\\": \\\"value\\\"}\", \"headers\": {\"Content-Type\": \"application/json\"}}", "log" : "2022-09-20T11:43:57Z Start invoke request '1cbe80f3-3c65-475e-ad88-76ac518d386a', version: v1\nHello, World!\n\n2022-09-20T11:43:58Z Finish invoke request '1cbe80f3-3c65-475e-ad88-76ac518d386a', duration: 65.828ms, billing duration: 66ms, memory used: 21.473MB, billing memory: 128MB", "status" : 200, "request_id" : "1cbe80f3-3c65-475e-ad88-76ac518d386x" }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request 请求错误。 |
401 |
Unauthorized 鉴权失败。 |
403 |
Forbidden 没有操作权限。 |
404 |
Not Found 找不到资源。 |
500 |
Internal Server Error 服务内部错误。 |
503 |
Service Unavailable 服务不可用。 |
错误码
请参见错误码。