microsoft3 min read

Azure Storage Tutorial: Blob, Table, Queue, and Files from Scratch (2026)

Azure Storage Tutorial: Blob, Table, Queue, and Files from Scratch (2026)

Published:  |  Category: Microsoft  |  Reading time: ~15 min
Azure Storage Tutorial: Blob, Table, Queue, and Files from Scratch (2026)

The first time I tried to manage my own file server for a growing application, I quickly hit capacity limits and backup headaches. Azure Storage solved all of that. Whether storing terabytes of user content, decoupling microservices with queues, or serving files via SMB, it has been the most reliable storage platform I have used.

Azure Storage offers four services: Blob Storage for unstructured data, Table Storage for NoSQL key-value, Queue Storage for message passing, and Azure Files for managed SMB shares. Storage accounts are geo-replicated with 99.9999999999% durability.

Storage Accounts and Access Tiers

General Purpose v2 supports all services. Performance: Standard (HDD) or Premium (SSD). Redundancy: LRS, ZRS, GRS, RA-GRS. Access tiers: Hot, Cool, Cold, Archive. Lifecycle management automates tier transitions.

az storage account create --name mystorage --resource-group MyRG --sku Standard_GRS --kind StorageV2
az storage account management-policy create --account-name mystorage --policy @policy.json

Blob Storage: Containers, Upload, and Access Control

Store unstructured data in containers. Block blobs (up to 4.7 TB), Append blobs (logs), Page blobs (VHDs). Access via SDK, AzCopy, CLI. SAS tokens for delegated access. RBAC with managed identities.

var container=new BlobContainerClient(cs,"uploads");
await container.CreateIfNotExistsAsync();
var blob=container.GetBlobClient("photos/photo.jpg");
await blob.UploadAsync(File.OpenRead("photo.jpg"),overwrite:true);

Queue Storage: Message Passing and Decoupling

Producers enqueue messages (up to 64 KB), consumers dequeue and process. Visibility timeout hides messages during processing — if consumer fails, message reappears. Load leveling and poison queue handling.

var queue=new QueueClient(cs,"order-queue");
await queue.CreateIfNotExistsAsync();
await queue.SendMessageAsync(JsonSerializer.Serialize(new Order{Id=42}));
var response=await queue.ReceiveMessagesAsync(maxMessages:10);

Table Storage: NoSQL Key-Value Data

Partition key + row key form composite primary key. No schema enforcement. Efficient lookup by partition key. Cost-effective for billions of entities. For complex queries, use Cosmos DB with Table API.

var table=new TableClient(cs,"Customers");
await table.CreateIfNotExistsAsync();
var entity=new TableEntity("Sales","cust-001"){{"Name","Contoso"},{"Region","North America"}};
await table.AddEntityAsync(entity);

Azure Files: Managed SMB File Shares

Fully managed SMB 3.0 file shares mountable on Windows, Linux, macOS. AD DS authentication. Use cases: file server migration, legacy app storage, config distribution. File Sync with cloud tiering.

net use Z: \\mystorage.file.core.windows.net\fileshare1
New-AzStorageShare -Name fileshare1 -Context $ctx
Set-AzStorageFileContent -ShareName fileshare1 -Source "report.pdf" -Path "Data/report.pdf" -Context $ctx

Security, Encryption, and Monitoring

256-bit AES encryption at rest. HTTPS and SMB 3.0 encryption in transit. Firewall rules and Private Endpoints. Monitor availability, latency, egress. Soft delete and versioning protect against accidental deletion.

az storage account update --name mystorage --resource-group MyRG --default-action Deny
az storage account network-rule add --account-name mystorage --ip-address 203.0.113.0/24
az storage blob service-properties delete-policy update --account-name mystorage --enable true --days-retained 30

Frequently Asked Questions

What is the maximum size of a blob in Azure Storage?

Block blobs up to 4.7 TB. Azure Data Lake Storage Gen2 supports even larger sizes. Page blobs up to 8 TB for VHDs.

What is the difference between a storage account and a container?

Storage account is the top-level namespace. Containers organize blobs within a storage account. Each account has a unique Azure endpoint.

How does geo-redundant storage (GRS) work?

Data is replicated synchronously three times in the primary region, then asynchronously to a paired secondary region. Provides durability even in regional disasters.

When should I use Table Storage vs Cosmos DB?

Table Storage is cheaper and simpler for large-scale key-value data where complex queries are not needed. Cosmos DB offers global distribution, multi-model APIs, and SLA-backed performance.

Originally published on Ayodhyyya. Last updated June 1, 2026.