AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

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

To successfully create a new queue, you must provide a queue name that adheres to the limits related to queues and is unique within the scope of your queues.

To get the queue URL, use the GetQueueUrl action. GetQueueUrl requires only the QueueName parameter. be aware of existing queue names:

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

Note:

For PCL and Unity this operation is only available in asynchronous form. Please refer to CreateQueueAsync.

Namespace: Amazon.SQS
Assembly: AWSSDK.SQS.dll
Version: 3.x.y.z

Syntax

C#
public virtual CreateQueueResponse CreateQueue(
         CreateQueueRequest request
)
Parameters
request
Type: Amazon.SQS.Model.CreateQueueRequest

Container for the necessary parameters to execute the CreateQueue service method.

Return Value
The response from the CreateQueue service method, as returned by SQS.

Exceptions

ExceptionCondition
QueueDeletedRecentlyException You must wait 60 seconds after deleting a queue before you can create another one with the same name.
QueueNameExistsException A queue already exists with this name. Amazon SQS returns this error only if the request includes attributes whose values differ from those of the existing queue.

Examples

This example shows how to create a queue.

Create queue example

var client = new AmazonSQSClient();

var attrs = new Dictionary();

// Maximum message size of 256 KiB (1,024 bytes * 256 KiB = 262,144 bytes).
int maxMessage = 256 * 1024;

attrs.Add(QueueAttributeName.DelaySeconds,
  TimeSpan.FromSeconds(5).TotalSeconds.ToString());
attrs.Add(QueueAttributeName.MaximumMessageSize, maxMessage.ToString());
attrs.Add(QueueAttributeName.MessageRetentionPeriod,
  TimeSpan.FromDays(4).TotalSeconds.ToString());
attrs.Add(QueueAttributeName.ReceiveMessageWaitTimeSeconds,
  TimeSpan.FromSeconds(5).TotalSeconds.ToString());
attrs.Add(QueueAttributeName.VisibilityTimeout,
  TimeSpan.FromHours(12).TotalSeconds.ToString());

var request = new CreateQueueRequest
{
  Attributes = attrs,
  QueueName = "MyTestQueue"
};

var response = client.CreateQueue(request);

Console.WriteLine("Queue URL: " + response.QueueUrl);
      

The following operation creates an SQS queue named MyQueue.

Create an SQS queue


var response = client.CreateQueue(new CreateQueueRequest 
{
    QueueName = "MyQueue", // The Name for the new queue
    Attributes = new Dictionary {
        { "foo", "bar" },
        { "ghoti", "fish" }
    }
});

string queueUrl = response.QueueUrl; // The URL of the new queue

            

Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

Unity:
Supported Versions: 4.6 and above
Supported Platforms: Android, iOS, Standalone

See Also