Amazon Simple Queue Service Construct Library

--- ![cfn-resources: Stable]( ![cdk-constructs: Stable]( ---

Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications. SQS eliminates the complexity and overhead associated with managing and operating message oriented middleware, and empowers developers to focus on differentiating work. Using SQS, you can send, store, and receive messages between software components at any volume, without losing messages or requiring other services to be available.


Import to your project:

# Example automatically generated. See
import aws_cdk.aws_sqs as sqs

Basic usage

Here’s how to add a basic queue to your application:

# Example automatically generated without compilation. See
sqs.Queue(self, "Queue")


If you want to encrypt the queue contents, set the encryption property. You can have the messages encrypted with a key that SQS manages for you, or a key that you can manage yourself.

# Example automatically generated without compilation. See
# Use managed key
sqs.Queue(self, "Queue",

# Use custom key
my_key = kms.Key(self, "Key")

sqs.Queue(self, "Queue",

First-In-First-Out (FIFO) queues

FIFO queues give guarantees on the order in which messages are dequeued, and have additional features in order to help guarantee exactly-once processing. For more information, see the SQS manual. Note that FIFO queues are not available in all AWS regions.

A queue can be made a FIFO queue by either setting fifo: true, giving it a name which ends in ".fifo", or enabling content-based deduplication (which requires FIFO queues).