Skip to content
v2.275.0

SqsDestination Class ​

Use a SQS queue as a Lambda destination.

Example ​

ts
// An sqs queue for unsuccessful invocations of a lambda function
import * as sqs from 'aws-cdk-lib/aws-sqs';

const deadLetterQueue = new sqs.Queue(this, 'DeadLetterQueue');

const myFn = new lambda.Function(this, 'Fn', {
  runtime: lambda.Runtime.NODEJS_LATEST,
  handler: 'index.handler',
  code: lambda.Code.fromInline('// your code'),
  // sqs queue for unsuccessful invocations
  onFailure: new destinations.SqsDestination(deadLetterQueue),
});
python
# An sqs queue for unsuccessful invocations of a lambda function
import aws_cdk.aws_sqs as sqs


dead_letter_queue = sqs.Queue(self, "DeadLetterQueue")

my_fn = lambda_.Function(self, "Fn",
    runtime=lambda_.Runtime.NODEJS_LATEST,
    handler="index.handler",
    code=lambda_.Code.from_inline("// your code"),
    # sqs queue for unsuccessful invocations
    on_failure=destinations.SqsDestination(dead_letter_queue)
)
java
// An sqs queue for unsuccessful invocations of a lambda function
import software.amazon.awscdk.services.sqs.*;


Queue deadLetterQueue = new Queue(this, "DeadLetterQueue");

Function myFn = Function.Builder.create(this, "Fn")
        .runtime(Runtime.NODEJS_LATEST)
        .handler("index.handler")
        .code(Code.fromInline("// your code"))
        // sqs queue for unsuccessful invocations
        .onFailure(new SqsDestination(deadLetterQueue))
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
// An sqs queue for unsuccessful invocations of a lambda function
using Amazon.CDK.AWS.SQS;


var deadLetterQueue = new Queue(this, "DeadLetterQueue");

var myFn = new Function(this, "Fn", new FunctionProps {
    Runtime = Runtime.NODEJS_LATEST,
    Handler = "index.handler",
    Code = Code.FromInline("// your code"),
    // sqs queue for unsuccessful invocations
    OnFailure = new SqsDestination(deadLetterQueue)
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// An sqs queue for unsuccessful invocations of a lambda function
import sqs "github.com/aws/aws-cdk-go/awscdk"


deadLetterQueue := sqs.NewQueue(this, jsii.String("DeadLetterQueue"))

myFn := lambda.NewFunction(this, jsii.String("Fn"), &FunctionProps{
	Runtime: lambda.Runtime_NODEJS_LATEST(),
	Handler: jsii.String("index.handler"),
	Code: lambda.Code_FromInline(jsii.String("// your code")),
	// sqs queue for unsuccessful invocations
	OnFailure: destinations.NewSqsDestination(deadLetterQueue),
})

Initializer ​

ts
new SqsDestination(queue: IQueue)
python
SqsDestination(queue: IQueue)
java
new SqsDestination(IQueue queue)
csharp
new SqsDestination(IQueue queue)
go
NewSqsDestination(Queue IQueue)

Methods ​

bind(_scope: Construct, fn: IFunction, _options?: DestinationOptions): DestinationConfigdef bind(self, _scope: Construct, fn: IFunction, _options: typing.Optional[DestinationOptions] = None) -> DestinationConfigpublic DestinationConfig bind(Construct _scope, IFunction fn, DestinationOptions _options)public DestinationConfig Bind(Construct _scope, IFunction fn, DestinationOptions? _options = null)func Bind(_scope Construct, Fn IFunction, _options DestinationOptions) DestinationConfig#
Returns a destination configuration.