Azure Queue Storage is a service that stores large numbers of messages that can be accessed from anywhere in the world via HTTP or HTTPS. A single queue message can be up to 64 KB in size, and a storage account can contain an unlimited number of queues. A queue can contain an unlimited number of messages.

Note: Queue Storage is ideal for decoupling application components and asynchronous task processing.

Key Concepts

Messages

A message is a unit of data stored in a queue. Each message is approximately 64 KB in size. Messages are typically in a string format, but can be any sequence of UTF-8 bytes. You can encode arbitrary data as base64 if it exceeds 64 KB or if you need binary data.

Queues

A queue is a collection of messages. Messages are stored and retrieved in a First-In, First-Out (FIFO) manner. However, Queue Storage doesn't guarantee strict FIFO ordering, especially in distributed systems.

Core Operations

Adding a Message

You can add messages to a queue using the Queue service REST API or the Azure Storage client libraries.


# Example using Azure CLI (conceptual)
az storage queue message put --content "My message content" --queue-name myqueue
        

Retrieving and Deleting Messages

Messages are typically processed in a two-step process:

  1. Get Messages: Retrieve one or more messages from the queue. When you retrieve a message, it becomes invisible to other clients for a specified timeout period (visibility timeout).
  2. Delete Message: Once the message has been successfully processed, delete it from the queue.

// Example using .NET client library (conceptual)
CloudQueue queue = cloudQueueClient.GetQueueReference("myqueue");
QueueMessage message = queue.GetMessage();

if (message != null)
{
    // Process the message content
    Console.WriteLine(message.AsString);

    // Delete the message after processing
    queue.DeleteMessage(message);
}
        

Peeking Messages

You can also peek at messages without making them invisible. This is useful for inspecting the contents of the queue without altering its state.

Use Cases

Tip: For scenarios requiring guaranteed ordering or richer message features like publish/subscribe, consider Azure Service Bus Queues or Topics.

Performance and Scalability

Azure Queue Storage is designed for high throughput and massive scalability. It can handle millions of messages and is highly available.

Pricing

Pricing for Azure Queue Storage is based on data storage, operations, and data transfer. Refer to the Azure Queue Storage pricing page for detailed information.

Next Steps