Creates or modifies the asynchronous invocation configurations for a function.
When you call the PutFunctionAsyncInvokeConfig operation, the asynchronous invocation configurations are configured or updated based on whether the function is configured with asynchronous invocation configurations.
- If the function is not configured with asynchronous invocation configurations, the configurations are configured when you call the PutFunctionAsyncInvokeConfig operation.
- If the function is configured with asynchronous invocation configurations, the configurations are updated based on the items that are specified in the request when you call the PutFunctionAsyncInvokeConfig operation. The items that are not specified in the request remain unchanged.
An asynchronous task (StatefulAsyncInvocation) allows you to manage the states of asynchronous invocations. The asynchronous task feature is more suitable for task scenarios.
Request headers
This operation uses only common request headers. For more information, see Common parameters.
Request syntax
PUT /services/{serviceName[.qualifier]}/functions/{functionName}/async-invoke-config HTTP/1.1
Request parameters
Parameter | Type | Position | Required | Example | Description |
---|---|---|---|---|---|
serviceName | String | Path | Yes | service_name |
The name of the service that contains the function for which you want to configure the asynchronous invocation configurations. |
functionName | String | Path | Yes | testHelloWorld |
The name of the function for which you want to configure the asynchronous invocation configurations. |
qualifier | String | Path | No | alias |
The alias or version of the service that contains the function for which you want to configure the asynchronous invocation configurations. |
Object | Body | No |
The asynchronous invocation configurations. |
||
destinationConfig | DestinationConfig | Body | No |
The configuration structure of the destination for asynchronous invocations. |
|
maxAsyncEventAgeInSeconds | Long | Body | No | 300 |
The maximum validity period of messages. Valid values: [1, 2592000]. Unit: seconds. |
maxAsyncRetryAttempts | Long | Body | No | 3 |
The maximum number of retries after an asynchronous invocation fails. Default value: 3. Valid values: [0, 8]. |
statefulInvocation | Boolean | Body | No | true |
Specifies whether to enable the asynchronous task feature.
|
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
createdTime | String | 2020-08-20T02:28:21Z |
The time when the service was created. |
destinationConfig | DestinationConfig |
The configuration structure of the destination for asynchronous invocations. |
|
functionName | String | testHelloWorld |
The name of the function for which the asynchronous invocation configurations are configured. |
lastModifiedTime | String | 2020-09-10T02:45:02Z |
The time when the asynchronous invocation configurations were last modified. |
maxAsyncEventAgeInSeconds | Long | 1 |
The maximum validity period of messages. Valid values: [1, 2592000]. Unit: seconds. |
maxAsyncRetryAttempts | Long | 1 |
The maximum number of retries after an asynchronous invocation fails. Default value: 3. Valid values: [0, 8]. |
qualifier | String | alias |
The alias or version of the service that contains the function for which you want to configure the asynchronous invocation configurations. |
serviceName | String | service_name |
The name of the service that contains the function for which the asynchronous invocation configurations are configured. |
statefulInvocation | Boolean | true |
Indicates whether the asynchronous task feature is enabled.
|
Examples
Sample requests
PUT /2016-08-15/services/service_name.alias/functions/testHelloWorld/async-invoke-config HTTP/1.1
Common request headers
{
"destinationConfig" : {
"onFailure" : {
"destination" : "acs:mns:cn-shanghai:1986***743:/queues/failure/messages"
},
"onSuccess" : {
"destination" : "acs:mns:cn-shanghai:1986***743:/queues/success/messages"
}
},
"maxAsyncEventAgeInSeconds" : 300,
"maxAsyncRetryAttempts" : 3,
"statefulInvocation" : true
}
Sample success responses
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"createdTime" : "2020-08-20T02:28:21Z",
"destinationConfig" : {
"onFailure" : {
"destination" : "acs:mns:cn-shanghai:1986***743:/queues/failure/messages"
},
"onSuccess" : {
"destination" : "acs:mns:cn-shanghai:1986***743:/queues/success/messages"
}
},
"functionName" : "testHelloWorld",
"lastModifiedTime" : "2020-09-10T02:45:02Z",
"maxAsyncEventAgeInSeconds" : 1,
"maxAsyncRetryAttempts" : 1,
"qualifier" : "alias",
"serviceName" : "service_name",
"statefulInvocation" : true
}