AWS::Lambda::EventInvokeConfig - Amazon CloudFormation
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).


The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.

By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains events in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous invocation queue for too long, Lambda discards it.


To declare this entity in your Amazon CloudFormation template, use the following syntax:


{ "Type" : "AWS::Lambda::EventInvokeConfig", "Properties" : { "DestinationConfig" : DestinationConfig, "FunctionName" : String, "MaximumEventAgeInSeconds" : Integer, "MaximumRetryAttempts" : Integer, "Qualifier" : String } }


Type: AWS::Lambda::EventInvokeConfig Properties: DestinationConfig: DestinationConfig FunctionName: String MaximumEventAgeInSeconds: Integer MaximumRetryAttempts: Integer Qualifier: String



A destination for events after they have been sent to a function for processing.

  • Function - The Amazon Resource Name (ARN) of a Lambda function.

  • Queue - The ARN of a standard SQS queue.

  • Topic - The ARN of a standard SNS topic.

  • Event Bus - The ARN of an Amazon EventBridge event bus.

Required: No

Type: DestinationConfig

Update requires: No interruption


The name of the Lambda function.

Minimum: 1

Maximum: 64

Pattern: ([a-zA-Z0-9-_]+)

Required: Yes

Type: String

Pattern: ^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?$

Update requires: Replacement


The maximum age of a request that Lambda sends to a function for processing.

Required: No

Type: Integer

Minimum: 60

Maximum: 21600

Update requires: No interruption


The maximum number of times to retry when the function returns an error.

Required: No

Type: Integer

Minimum: 0

Maximum: 2

Update requires: No interruption


The identifier of a version or alias.

  • Version - A version number.

  • Alias - An alias name.

  • Latest - To specify the unpublished version, use $LATEST.

Required: Yes

Type: String

Pattern: ^(|[a-zA-Z0-9$_-]{1,129})$

Update requires: Replacement

Return values


When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns a unique identifier for this resource.


Asynchronous Invocation Configuration

Error handling and destination configuration for a version of a function. Node.js function and version are included.


Resources: function: Type: AWS::Lambda::Function Properties: Handler: index.handler Role: arn:aws:iam::123456789012:role/lambda-role Code: ZipFile: | exports.handler = async (event) => { console.log(JSON.stringify(event, null, 2)); const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; }; Runtime: nodejs18.x TracingConfig: Mode: Active version: Type: AWS::Lambda::Version Properties: FunctionName: !Ref function asyncconfig: Type: AWS::Lambda::EventInvokeConfig Properties: DestinationConfig: OnFailure: Destination: arn:aws:sqs:us-east-2:123456789012:dlq OnSuccess: Destination: arn:aws:sqs:us-east-2:123456789012:dlq FunctionName: !Ref function MaximumEventAgeInSeconds: 300 MaximumRetryAttempts: 1 Qualifier: !GetAtt version.Version