调用PutFunctionAsyncInvokeConfig接口创建或更新函数的异步调用配置。
函数会根据异步调用配置是否存在,在调用PutFunctionAsyncInvokeConfig接口时创建或更新相关配置信息。
- 如果函数的异步调用配置不存在,调用PutFunctionAsyncInvokeConfig接口则会创建相应配置。
- 如果函数的异步调用配置已存在,调用PutFunctionAsyncInvokeConfig接口则会更新本次调用时新传递的内容,未指定的内容将保持不变。
配置中的StatefulAsyncInvocation即为异步任务的配置项。异步任务在普通的异步调用基础上增加了状态管理的功能,更适用于各类任务场景。
请求头
该接口无特殊请求头,关于公共请求头信息,请参见公共参数。
请求语法
PUT /services/{serviceName[.qualifier]}/functions/{functionName}/async-invoke-config HTTP/1.1
请求参数
名称 |
类型 |
位置 |
是否必选 |
示例值 |
描述 |
serviceName | String | Path | 是 | service_name | 异步调用配置所属的服务的名称。 |
functionName | String | Path | 是 | testHelloWorld | 异步调用配置所属的函数的名称。 |
qualifier | String | Path | 否 | alias | 异步调用配置所属的服务的别名或版本。 |
Object | Body | 否 | 异步调用配置。 |
||
destinationConfig | DestinationConfig | Body | 否 | 异步调用目标的配置结构体。 |
|
maxAsyncEventAgeInSeconds | Long | Body | 否 | 300 | 消息最大存活时长,取值范围[1,604800],默认为86400,单位为秒。 |
maxAsyncRetryAttempts | Long | Body | 否 | 3 | 异步调用失败后的最大重试次数,默认值为3。取值范围[0,8]。 |
statefulInvocation | Boolean | Body | 否 | true | 是否开启异步任务。
|
返回数据
名称 |
类型 |
示例值 |
描述 |
createdTime | String | 2020-08-20T02:28:21Z | 服务的创建时间。 |
destinationConfig | DestinationConfig | 异步调用目标的配置结构体。 |
|
functionName | String | testHelloWorld | 异步调用配置所属的函数的名称。 |
lastModifiedTime | String | 2020-09-10T02:45:02Z | 异步调用配置的最后更改时间。 |
maxAsyncEventAgeInSeconds | Long | 1 | 消息最大存活时长,取值范围[1,2592000]。单位:秒。 |
maxAsyncRetryAttempts | Long | 1 | 异步调用失败后的最大重试次数,默认值为3。取值范围[0,8]。 |
qualifier | String | alias | 异步调用配置所属的服务的别名或版本。 |
serviceName | String | service_name | 异步调用配置所属的服务的名称。 |
statefulInvocation | Boolean | true | 是否开启异步任务。
|
示例
请求示例
PUT /2016-08-15/services/service_name.alias/functions/testHelloWorld/async-invoke-config HTTP/1.1
公共请求头
{
"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
}
正常返回示例
JSON
格式
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
}