AWS::Lambda::EventInvokeConfig
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.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::Lambda::EventInvokeConfig", "Properties" : { "DestinationConfig" :
DestinationConfig
, "FunctionName" :String
, "MaximumEventAgeInSeconds" :Integer
, "MaximumRetryAttempts" :Integer
, "Qualifier" :String
} }
YAML
Type: AWS::Lambda::EventInvokeConfig Properties: DestinationConfig:
DestinationConfig
FunctionName:String
MaximumEventAgeInSeconds:Integer
MaximumRetryAttempts:Integer
Qualifier:String
Properties
DestinationConfig
-
A destination for events after they have been sent to a function for processing.
Destinations
-
Function - The Amazon Resource Name (ARN) of a Lambda function.
-
Queue - The ARN of a standard SQS queue.
-
Bucket - The ARN of an Amazon S3 bucket.
-
Topic - The ARN of a standard SNS topic.
-
Event Bus - The ARN of an Amazon EventBridge event bus.
Note
S3 buckets are supported only for on-failure destinations. To retain records of successful invocations, use another destination type.
Required: No
Type: DestinationConfig
Update requires: No interruption
-
FunctionName
-
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
MaximumEventAgeInSeconds
-
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
MaximumRetryAttempts
-
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
Qualifier
-
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
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns a unique identifier for this resource.
Examples
Asynchronous Invocation Configuration
Error handling and destination configuration for a version of a function. Node.js function and version are included.
YAML
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