Creates or modifies an asynchronous invocation configuration for a specific function in a service.

When you call the PutFunctionAsyncInvokeConfig operation, an asynchronous invocation configuration is created or modified for a function based on whether the function has the asynchronous invocation configuration.

  • If the function does not have the asynchronous invocation configuration, you can call the PutFunctionAsyncInvokeConfig operation to create the configuration.
  • If the function has the asynchronous invocation configuration, you can call the PutFunctionAsyncInvokeConfig operation to modify the configuration with the configuration items that are specified in the request. Items that are not specified in the request remain unchanged.

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 create or modify the asynchronous invocation configuration.

functionName String Path Yes testHelloWorld

The name of the function for which you want to create or modify the asynchronous invocation configuration.

qualifier String Path No alias

The alias or version of the service that contains the function for which you want to create or modify the asynchronous invocation configuration.

Object Body No

The asynchronous invocation configuration.

destinationConfig DestinationConfig Body No

The configuration structure of the destination for asynchronous invocation.

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 stateful asynchronous invocation.

  • true: Enable stateful asynchronous invocation.
  • false: Disable stateful asynchronous invocation.

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 invocation.

functionName String testHelloWorld

The name of the function for which you want to create or modify the asynchronous invocation configuration.

lastModifiedTime String 2020-09-10T02:45:02Z

The time when the asynchronous invocation configuration was 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 create or modify the asynchronous invocation configuration.

serviceName String service_name

The name of the service that contains the function for which you want to create or modify the asynchronous invocation configuration.

statefulInvocation Boolean true

Indicates whether stateful asynchronous invocation is enabled.

  • true: Stateful asynchronous invocation is enabled.
  • false: Stateful asynchronous invocation is disabled.

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
}