Updated on 2023-07-06 GMT+08:00

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

Table 1 Path Parameters

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

Table 2 Request header 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.

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.

  • v0: text format.

  • v1: JSON format. Select this format when using an SDK.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

{User defined key}

Yes

Object

Request body for executing a function.

Response Parameters

Status code: 200

Table 4 Response header parameters

Parameter

Type

Description

X-Cff-Invoke-Summary

String

-

X-Cff-Request-Id

String

-

Table 5 Response body parameters

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

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 401

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 403

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 404

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 500

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 503

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Requests

Execute a function synchronously.

POST /v2/{project_id}/fgs/functions/{function_urn}/invocations

{
  "application/json" : {
    "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.