调用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,2592000]。单位:秒。

maxAsyncRetryAttempts Long Body 3

异步调用失败后的最大重试次数,默认值为3。取值范围[0,8]。

statefulInvocation Boolean Body true

是否开启异步任务。

  • true:表示已开启异步任务。
  • false:表示未开启异步任务。

返回数据

名称 类型 示例值 描述
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

是否开启异步任务。

  • true:表示已开启异步任务。
  • false:表示未开启异步任务。

示例

请求示例

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
}