同步执行函数
功能介绍
同步调用指的是客户端请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。
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需要使用此值。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
{自定义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 |
错误信息 |
请求示例
同步执行函数,请求参数为键值对“k”:“v”。
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations { "k" : "v" }
响应示例
状态码: 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 服务不可用。 |
错误码
请参见错误码。