Help Center> FunctionGraph> API Reference> Function Management Zone API> Setting Asynchronous Invocation Configuration for a Function Version

Setting Asynchronous Invocation Configuration for a Function Version

Function

This API is used to set asynchronous invocation configuration for a function version.

URI

PUT /v2/{project_id}/fgs/functions/{function_urn}/async-invoke-config

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Tenant's project ID.

Minimum: 1

Maximum: 32

function_urn

Yes

String

Function URN.

Minimum: 1

Maximum: 269

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

max_async_event_age_in_seconds

No

Integer

Maximum validity period of a message. Value range: 1s to 86,400s. Default value: 3600s.

Minimum: 1

Maximum: 86400

max_async_retry_attempts

No

Integer

Maximum number of retry attempts to be made if an asynchronous invocation failure occurs. Default value: 1. Value range: 0–3.

Minimum: 0

Maximum: 3

destination_config

No

FuncAsyncDestinationConfig object

Asynchronous invocation target.

Table 3 FuncAsyncDestinationConfig

Parameter

Mandatory

Type

Description

on_success

No

FuncDestinationConfig object

Target to be invoked when a function is successfully executed.

on_failure

No

FuncDestinationConfig object

Target to be invoked when a function fails to be executed due to a system error or an internal error.

Table 4 FuncDestinationConfig

Parameter

Mandatory

Type

Description

destination

No

String

Target service type.

  • OBS: Notifications are sent to the OBS service.

  • SMN: Notifications are sent to the SMN service.

  • DIS: Notifications are sent to the DIS service.

  • FunctionGraph: Notifications are sent to FunctionGraph.

Enumeration values:

  • OBS

  • SMN

  • DIS

  • FunctionGraph

param

No

String

Parameters (in JSON format) corresponding to the target service.

  • OBS: Parameters related to the bucket name, object name prefix, and object expiration time are included. The object expiration time ranges from 0 to 365 days. If the value is 0, the object has unlimited validity.

  • SMN: The topic_urn parameter is included.

  • DIS: The stream_name parameter is included.

  • FunctionGraph: The func_urn parameter is included.

Response Parameters

Status code: 200

Table 5 Response body parameters

Parameter

Type

Description

func_urn

String

Function URN.

Minimum: 1

Maximum: 269

max_async_event_age_in_seconds

Integer

Maximum validity period of a message. Value range: 60s to 86,400s.

max_async_retry_attempts

Integer

Maximum number of retry attempts to be made if an asynchronous invocation failure occurs. Default value: 3. Value range: 0–8.

destination_config

FuncAsyncDestinationConfig object

Asynchronous invocation target.

created_time

String

Time when the asynchronous invocation configuration was created.

last_modified

String

Time when the asynchronous invocation configuration was modified.

Table 6 FuncAsyncDestinationConfig

Parameter

Type

Description

on_success

FuncDestinationConfig object

Target to be invoked when a function is successfully executed.

on_failure

FuncDestinationConfig object

Target to be invoked when a function fails to be executed due to a system error or an internal error.

Table 7 FuncDestinationConfig

Parameter

Type

Description

destination

String

Target service type.

  • OBS: Notifications are sent to the OBS service.

  • SMN: Notifications are sent to the SMN service.

  • DIS: Notifications are sent to the DIS service.

  • FunctionGraph: Notifications are sent to FunctionGraph.

Enumeration values:

  • OBS

  • SMN

  • DIS

  • FunctionGraph

param

String

Parameters (in JSON format) corresponding to the target service.

  • OBS: Parameters related to the bucket name, object name prefix, and object expiration time are included. The object expiration time ranges from 0 to 365 days. If the value is 0, the object has unlimited validity.

  • SMN: The topic_urn parameter is included.

  • DIS: The stream_name parameter is included.

  • FunctionGraph: The func_urn parameter is included.

Example Requests

Set asynchronous invocation configuration for a function version.

PUT https://{functiongraph_endpoint}/v2/{project_id}/fgs/functions/{function_urn}/async-invoke-config

{
  "max_async_event_age_in_seconds" : 60,
  "max_async_retry_attempts" : 1,
  "destination_config" : {
    "on_success" : {
      "destination" : "FunctionGraph",
      "param" : "{\"func_urn\":\"urn:fss:cn-north-7:5691ba790e2b46ceb38316xxxxxxxxxx:function:default:testPython:latest\"}"
    },
    "on_failure" : {
      "destination" : "FunctionGraph",
      "param" : "{\"func_urn\":\"urn:fss:cn-north-7:5691ba790e2b46ceb38316xxxxxxxxxx:function:default:testPython:latest\"}"
    }
  }
}

Example Responses

Status code: 200

Ok

{
  "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194xxxxxxxxxx:function:default:test:latest",
  "max_async_event_age_in_seconds" : 60,
  "max_async_retry_attempts" : 1,
  "destination_config" : {
    "on_success" : {
      "destination" : "FunctionGraph",
      "param" : "{\"func_urn\":\"urn:fss:cn-north-7:5691ba790e2b46ceb38316xxxxxxxxxx:function:default:testPython:latest\"}"
    },
    "on_failure" : {
      "destination" : "FunctionGraph",
      "param" : "{\"func_urn\":\"urn:fss:cn-north-7:5691ba790e2b46ceb38316xxxxxxxxxx:function:default:testPython:latest\"}"
    }
  },
  "created_time" : "2021-03-04T14:50:02+08:00",
  "last_modified" : "2021-03-04T14:50:02+08:00"
}

Status Codes

Status Code

Description

200

Ok

400

Bad Request

404

Not Found

Error Codes

See Error Codes.