What is Blob Storage?
Azure Blob Storage is an object storage service — it stores files as objects (blobs) in containers. Unlike a file system (which organises files in folders), Blob Storage is flat — there are no real folders, just containers with blobs inside. You can simulate folder structure using "/" in blob names (e.g., images/2026/photo.jpg), but these are just naming conventions.
Example:
mystorageaccount → images → logo.pngURL:
https://mystorageaccount.blob.core.windows.net/images/logo.png
The Three Blob Types
Azure Blob Storage supports three types of blobs — each optimised for different use cases:
Block Blobs
The most common type. Used for storing text and binary data — documents, images, videos, backups. Block blobs are made up of blocks of data that can be managed individually. Maximum size: 190.7 TB.
Append Blobs
Optimised for append operations — adding data to the end of the blob. Perfect for logging, where you continuously write new log entries. You cannot modify existing content — only append. Maximum size: 195 GB.
Page Blobs
Optimised for random read/write operations. Historically used for Azure VM disks (VHD files). Maximum size: 8 TB. For new workloads, use Managed Disks instead of page blobs.
| Type | Optimised For | Max Size | Use Case |
|---|---|---|---|
| Block Blob | Large data storage and retrieval | 190.7 TB | Files, images, videos, backups |
| Append Blob | Append-only operations | 195 GB | Log files, audit trails |
| Page Blob | Random read/write | 8 TB | Legacy VM disks (use Managed Disks) |
Containers
Blobs are organised into containers — similar to folders or buckets. Every blob must be in a container. A storage account can have unlimited containers.
# Create a container
az storage container create \
--name images \
--account-name mystorageaccount2026 \
--auth-mode login
# List containers
az storage container list \
--account-name mystorageaccount2026 \
--output table \
--auth-mode login
Container Naming Rules
- 3–63 characters
- Lowercase letters, numbers, and hyphens only
- Must start with a letter or number
- Cannot have consecutive hyphens
Container Access Levels
Every container has an access level that controls who can read blobs without authentication:
| Access Level | Who Can Read | Use For |
|---|---|---|
| Private (default) | Only authorised users with credentials | Sensitive data, private files |
| Blob | Anyone with the blob URL | Public files — images, documents |
| Container | Anyone can list and read all blobs | Public datasets, open repositories |
Blob URLs
Every blob has a unique URL. The format is:
https://[storageaccount].blob.core.windows.net/[container]/[blobname]
# Example:
https://mystorageaccount2026.blob.core.windows.net/images/logo.png
https://mystorageaccount2026.blob.core.windows.net/backups/db-backup-2026-05-07.bak
If the container is public (Blob access level), anyone can access the blob via this URL directly in a browser. If private, you need authentication credentials or a SAS token.
Uploading and Downloading Blobs
# Upload a file
az storage blob upload \
--account-name mystorageaccount2026 \
--container-name images \
--name logo.png \
--file ./logo.png \
--auth-mode login
# Upload entire folder
az storage blob upload-batch \
--account-name mystorageaccount2026 \
--destination images \
--source ./my-images/ \
--auth-mode login
# Download a blob
az storage blob download \
--account-name mystorageaccount2026 \
--container-name images \
--name logo.png \
--file ./downloaded-logo.png \
--auth-mode login
# List blobs in a container
az storage blob list \
--account-name mystorageaccount2026 \
--container-name images \
--output table \
--auth-mode login
# Delete a blob
az storage blob delete \
--account-name mystorageaccount2026 \
--container-name images \
--name logo.png \
--auth-mode login
Static Website Hosting
Blob Storage can host static websites directly — HTML, CSS, JavaScript, images — with no server required. Perfect for React, Vue, or any static site.
# Enable static website
az storage blob service-properties update \
--account-name mystorageaccount2026 \
--static-website \
--index-document index.html \
--404-document 404.html \
--auth-mode login
# Upload your website files
az storage blob upload-batch \
--account-name mystorageaccount2026 \
--destination '$web' \
--source ./dist/ \
--auth-mode login
Your site is then accessible at: https://[accountname].z13.web.core.windows.net
Soft Delete and Versioning
Two features that protect against accidental deletion or modification:
Blob Soft Delete
When enabled, deleted blobs are retained for a configurable retention period (1–365 days) before being permanently removed. You can restore accidentally deleted blobs within this window.
Blob Versioning
Automatically saves previous versions of a blob every time it's modified. You can restore any previous version. Ideal for important documents that are updated frequently.
Real-World Use Cases
| Use Case | Blob Type | Access Level |
|---|---|---|
| Website images and assets | Block Blob | Blob (public) |
| Application log files | Append Blob | Private |
| VM backup files | Block Blob | Private |
| Machine learning training data | Block Blob | Private |
| Static website files | Block Blob | Via $web container |
| User-uploaded documents | Block Blob | Private + SAS tokens |