Executing a Function Synchronously¶
Function¶
This API is used to execute a function synchronously. Clients must wait for explicit responses to their requests from the function. Responses are returned only after function invocation is complete.
URI¶
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations
Parameter | Mandatory | Type | Description |
---|---|---|---|
project_id | Yes | String | Project ID. For details, see Obtaining a Project ID. |
function_urn | Yes | String | Function URN. For details, see the function model description. |
Request Parameters¶
Parameter | Mandatory | Type | Description |
---|---|---|---|
X-Auth-Token | Yes | String | User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. |
Content-Type | Yes | String | Message body type (format). |
X-Cff-Log-Type | No | String | Options: tail (4 KB logs will be returned) and null (no logs will be returned). |
X-CFF-Request-Version | No | String | Response body format. Options: v0 and v1.
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
{Customized_key} | Yes | Object | Request body for executing a function. |
Response Parameters¶
Status code: 200
Parameter | Type | Description |
---|---|---|
X-Cff-Invoke-Summary | String | Execution summary of the synchronous invocation. |
X-Cff-Request-Id | String | Request ID of the synchronous invocation. |
X-Cff-Function-Log | String | User log of the synchronous invocation. Set X-Cff-Log-Type:tail in the request header. Intercept and encode the last 2,000 bytes of the log using Base64. |
X-CFF-Billing-Duration | String | Billing information of the synchronous invocation. |
X-Cff-Response-Version | String | Response format: v0: text format v1: JSON format |
X-Func-Err-Code | String | Error code of the synchronous invocation. The value is 0 if the execution is successful. |
X-Is-Func-Err | String | Indicates whether the error occurs in a user function. |
Parameter | Type | Description |
---|---|---|
request_id | String | Request ID. |
result | String | Function execution result. |
log | String | Function execution log. |
status | Integer | Function execution status. |
Status code: 400
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Status code: 401
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Status code: 403
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Status code: 404
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Status code: 500
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Status code: 503
Parameter | Type | Description |
---|---|---|
error_code | String | Error code. |
error_msg | String | Error message. |
Example Requests¶
Execute a function synchronously with the request parameter as a key pair ("k":"v").
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations
{
"k" : "v"
}
Example Responses¶
Status code: 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"
}
Status Codes¶
Status Code | Description |
---|---|
200 | OK |
400 | Bad request. |
401 | Unauthorized. |
403 | Forbidden. |
404 | Not found. |
500 | Internal server error. |
503 | Service unavailable. |
Error Codes¶
See Error Codes.