Simple Queue Service (SQS)

AWS SQS is a fully managed distributed message queuing service. SQS is shipped with the LocalStack Community version and is .

Trying to run the examples in the official AWS developer guide against LocalStack is a great place to start. Assuming you have installed you can also try the following commands:

The SQS Query API exposes SQS Queue URLs as endpoints and allows you to make HTTP requests directly against the Queue. LocalStack also supports the Query API.

JSON output format

When the client sets the Accept: application/json header, AWS responds with a JSON response instead of XML. This is currently not supported by LocalStack.

Behavior changes in 0.14.2

In previous releases, an empty HTTP request to a queue would return a <GetQueueUrlResponse>. This has since been aligned to the behavior of AWS, which returns a <UnknownOperationException/>. To run a GetQueueUrl request, add the query string to the URL.

You can control the format of the generated Queue URLs by setting the environment variable SQS_ENDPOINT_STRATEGY when starting LocalStack to one of the following values.

Enabling QueueDeletedRecently errors

LocalStack has two other third-party providers for SQS that have since been deprecated: moto and . To activate the moto provider, start localstack with PROVIDER_OVERRIDE_SQS=legacy. If you want to activate elasticmq, you need to set both PROVIDER_OVERRIDE_SQS=legacy SQS_PROVIDER=elasticmq. The two providers are no longer tested or supported.

Persistence Support

As of now the is only supported for the default SQS provider.