Jump to Content

Class CreateQueueCommandProtected

Creates a new standard or FIFO queue. You can pass one or more attributes in the request. Keep the following in mind:

  • If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue.

    You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see Moving From a Standard Queue to a FIFO Queue in the Amazon SQS Developer Guide.

  • If you don't provide a value for an attribute, the queue is created with the default value for the attribute.

  • If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

     <p>To successfully create a new queue, you must provide a queue name that adheres to the <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html">limits related to queues</a> and is unique within the scope of your queues.</p>
<p>After you create a queue, you must wait at least one second after the queue is
created to be able to use the queue.</p>
<p>To get the queue URL, use the <code>
</code> action. <code>
</code> requires only the <code>QueueName</code> parameter.
be aware of existing queue names:</p>
<p>If you provide the name of an existing queue along with the exact names and values of all the queue's attributes, <code>CreateQueue</code> returns the queue URL for the existing queue.</p>
<p>If the queue name, attribute names, or attribute values don't match an existing queue, <code>CreateQueue</code> returns an error.</p>
<p>Some actions take lists of parameters. These lists are specified using the <code>param.n</code> notation. Values of <code>n</code> are integers starting from 1. For example, a parameter list with two elements looks like this:</p>
<p>Cross-account permissions don't apply to this action. For more information,

see Grant cross-account permissions to a role and a user name in the Amazon SQS Developer Guide.


Use a bare-bones client and the command you need to make an API call.

import { SQSClient, CreateQueueCommand } from "@aws-sdk/client-sqs"; // ES Modules import
// const { SQSClient, CreateQueueCommand } = require("@aws-sdk/client-sqs"); // CommonJS import
const client = new SQSClient(config);
const input = { // CreateQueueRequest
QueueName: "STRING_VALUE", // required
tags: { // TagMap
"<keys>": "STRING_VALUE",
Attributes: { // QueueAttributeMap
"<keys>": "STRING_VALUE",
const command = new CreateQueueCommand(input);
const response = await client.send(command);







QueueDeletedRecently (client fault)

You must wait 60 seconds after deleting a queue before you can create another queue with the same name.


QueueNameExists (client fault)

A queue with this name already exists. Amazon SQS returns this error only if the request includes attributes whose values differ from those of the existing queue.




middlewareStack: MiddlewareStack<CreateQueueCommandInput, CreateQueueCommandOutput>