Azure Blob Storage provides three types of blobs designed for different workloads:
Block Blobs, Append Blobs, and Page Blobs.
Each blob type is optimized for specific data access patterns and storage requirements.
Block Blobs
Block blobs are designed for efficient upload and storage of large amounts of unstructured data such as documents, images, videos, and backups.
- Data is stored as blocks identified by unique block IDs.
- Blocks are uploaded independently and committed together to create or update a blob.
- Supports up to 50,000 blocks.
- Modern service versions support block sizes up to 4,000 MiB (≈4 GB).
- Maximum block blob size can exceed 190 TiB.
- Smaller block blobs can be uploaded using a single write operation.
Legacy Limits (Older REST Versions)
- Maximum block size: 100 MB
- Maximum blob size: approximately 4.75 TB
- Older REST versions supported 4 MB blocks with a maximum size of around 195 GB
Page Blobs
Page blobs are optimized for random read and write operations and are similar to disk storage.
They are commonly used for virtual machine disks.
- Data is stored in 512-byte pages.
- Supports random access using offset and range aligned to 512-byte boundaries.
- Writes occur in-place and are immediately committed.
- Individual pages or multiple pages (up to 4 MB) can be updated at once.
- Maximum page blob size is 8 TiB.
Append Blobs
Append blobs are optimized for scenarios where data is continuously added to the end of a blob, such as logging and auditing.
- Built using blocks but support append-only operations.
- Existing blocks cannot be modified or deleted.
- Block IDs are not exposed.
- Each block can be up to 4 MB.
- Supports up to 50,000 blocks.
- Maximum append blob size is approximately 195 GB.
Choosing the Right Blob Type
- Block Blob – Files, media, backups, and general storage.
- Append Blob – Logs, telemetry, and audit trails.
- Page Blob – VM disks and random read/write workloads.
How the Blob Type Is Specified
The blob type must be specified at the time of creation and cannot be changed later.
Applications, SDKs, CLI tools, or Azure services explicitly define the blob type.
Using REST API
x-ms-blob-type: BlockBlob | AppendBlob | PageBlob
Using Azure CLI
Azure CLI allows you to specify the blob type when creating or uploading a blob.
Create a Block Blob (default)
az storage blob upload \ --account-name mystorageaccount \ --container-name data \ --name file.txt \ --file file.txt
Create an Append Blob
az storage blob create \ --account-name mystorageaccount \ --container-name logs \ --name app.log \ --type append
Create a Page Blob
az storage blob create \ --account-name mystorageaccount \ --container-name vhds \ --name disk.vhd \ --type page \ --size 1073741824
The --type parameter explicitly defines whether the blob is created as a block, append, or page blob.
Summary
- Block blobs provide scalable storage for large unstructured data.
- Append blobs are optimized for append-only workloads like logging.
- Page blobs provide disk-like storage with random read/write access.
- The blob type must be specified during creation using APIs, SDKs, or CLI.
Choosing the correct blob type ensures optimal performance, scalability, and cost efficiency in Azure Storage solutions.