This topic has not yet been rated - Rate this topic

CloudQueue.CreateIfNotExist Method

Creates the queue if it does not exist.

Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)
'Usage
Dim instance As CloudQueue
Dim returnValue As Boolean

returnValue = instance.CreateIfNotExist
public bool CreateIfNotExist ()
public boolean CreateIfNotExist ()
public function CreateIfNotExist () : boolean

Return Value

Type: System.Boolean

true if the queue did not exist and was created; otherwise false.

The following code example creates a queue if it does not already exist, and adds some messages to it.

static void CreateQueueAndAddMessages(Uri queueEndpoint, string accountName, string accountKey)
{
    //Create service client for credentialed access to the Queue service.
    CloudQueueClient queueClient = new CloudQueueClient(queueEndpoint,
        new StorageCredentialsAccountAndKey(accountName, accountKey));

    //Get a reference to a queue in this storage account.
    CloudQueue queue = queueClient.GetQueueReference("myqueue");
    //Create the queue if it does not already exist.
    queue.CreateIfNotExist();

    //Clear any existing messages from the queue.
    queue.Clear();

    //Create some new messages.
    CloudQueueMessage msg1 = new CloudQueueMessage("message1");
    CloudQueueMessage msg2 = new CloudQueueMessage("message2");
    CloudQueueMessage msg3 = new CloudQueueMessage("message3");
            
    //Add the messages to the queue.
    queue.AddMessage(msg1);
    queue.AddMessage(msg2);
    //Add the message with a time-to-live of one hour.
    queue.AddMessage(msg3, new TimeSpan(1, 0, 0));

    //Get one message from the queue.
    CloudQueueMessage msgRead = queue.GetMessage();
    Console.WriteLine(msgRead.AsString);
    Console.WriteLine();

    //After reading the message, the client should delete it.
    queue.DeleteMessage(msgRead);

    //Get up to 10 messages from the queue.
    foreach (var msg in queue.GetMessages(10))
    {
        Console.WriteLine(msg.AsString);
        queue.DeleteMessage(msg);
    }
}

You can specify user-defined metadata on the queue at the time that it is created. To specify metadata for the queue, add name-value pairs to the queue's Metadata.

For guidance about valid names for queues and metadata, see Naming Queues and Metadata.


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Development Platforms

Windows Vista, Windows 7 and Windows Server 2008

Target Platforms

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ