Skip to article
Storage Blob Storage

Committed block

a block in Azure Blob Storage that has been chosen from the uploaded block list and finalized as part of a block blob

Source: Microsoft Learn - Put Block List Reviewed 2026-05-12

Exam trap
Assuming staged blocks are readable before the block list is committed.
Production check
Confirm owner, scope, resource IDs, region, tags, and environment before accepting the current state.
Article details and learning context
Aliases
None listed
Difficulty
Intermediate
CLI mappings
3
Last verified
2026-05-12

Understand the concept

In plain English

Committed block means a block in Azure Blob Storage that has been chosen from the uploaded block list and finalized as part of a block blob. Teams use it to upload large files in parts, resume interrupted transfers, replace changed sections, and verify which blocks form the readable blob. In Azure work, operators usually see it in portal settings, deployment output, metrics, logs, and runbooks. The practical question is who owns it, what scope it affects, and what evidence proves it is working.

Why it matters

Committed block matters because interrupted or incorrectly committed block uploads can leave applications reading stale, incomplete, or unexpected blob content. The business impact is rarely abstract: users see slower workflows, missing data, failed automation, audit gaps, support delays, or unexpected cost when the term is misunderstood. A strong glossary entry gives architects, developers, security reviewers, and operators the same language for design reviews and incident handoffs. It connects Azure configuration to measurable objectives, ownership, rollback paths, and evidence, so teams treat it as an operational control rather than a portal label. That discipline helps teams make safer changes under pressure.

Official wording and source

A committed block is a block that has been included in a block blob by a successful Put Block List operation, making it part of the blob content.

Open Microsoft Learn

Technical context

Technically, Committed block is part of the block blob commit process where Put Block stages blocks and Put Block List selects the final ordered block IDs. Engineers verify it with service configuration, IDs, logs, metrics, request records, and deployment evidence. Important configuration includes block size, block ID encoding, upload concurrency, retry policy, commit order, access conditions, encryption scope, content headers, and cleanup handling. Production reviews should capture owner, scope, region, identity, limits, recent changes, and diagnostics before changing behavior.

Exam context

Compare with

Where it is used

Where you see it

  1. You see Committed block in Blob upload workflows, block lists, SDK traces, and storage diagnostics when confirming committed block IDs, uncommitted blocks, blob length, and upload completion for release, audit, or incident evidence.
  2. You see Committed block during troubleshooting when large uploads fail, resume incorrectly, or show unexpected content and operators must connect portal state, CLI output, logs, metrics, owners, and rollback notes.
  3. You see Committed block in architecture reviews when teams decide how multipart blob uploads become durable objects, how evidence is gathered, and how it affects security, reliability, operations, cost, and performance.

Common situations

  • Verify that a large upload committed the intended final blob.
  • Troubleshoot failed resumable transfers and missing content after retries.
  • Compare blob ETags before and after an application commit operation.

Illustrative Azure scenarios

These examples show how the concept can affect design and operations. They are illustrative scenarios, not customer claims.

Scenario 01 Video archive upload repair Scenario, objectives, solution, measured impact, and takeaway.
Scenario

Tailspin Media, a streaming archive company, uploaded multi-gigabyte video files to Blob Storage but saw random partial files after network interruptions.

Goals
  • Prevent viewers from reading incomplete files
  • Reduce failed transfer retries by 35 percent
  • Preserve upload evidence for support
  • Support resumable uploads for large media
Approach using Committed block

The storage team redesigned the upload client to stage fixed-size blocks with deterministic block IDs, then call Put Block List only after every checksum passed. Access conditions prevented overwriting blobs changed by another worker, and Application Insights stored upload session IDs, block counts, ETags, and storage request IDs. Failed sessions were marked incomplete and cleaned with a scheduled job. Downstream indexing jobs used Event Grid only after commit events, ensuring that viewers never saw staged or unordered content. The runbook captured owner, environment, approval link, rollback condition, and the exact Azure evidence operators had to collect before and after each change. A dashboard tracked adoption, exceptions, and operational signals so support, security, and finance teams could review outcomes without relying on informal notes.

Potential outcomes
  • Partial file incidents dropped to zero
  • Retry volume fell 42 percent after deterministic block reuse
  • Support could trace every upload by request ID
  • Indexing started only after committed blobs existed
What to learn

Committed blocks let teams make large uploads reliable by separating staged transfer work from the final readable blob.

Scenario 02 Clinical image migration Scenario, objectives, solution, measured impact, and takeaway.
Scenario

Blue Harbor Diagnostics moved medical imaging studies into Azure and needed auditable evidence that each large file was committed correctly.

Goals
  • Maintain chain-of-custody evidence for images
  • Validate content length and checksum after commit
  • Avoid duplicate storage from failed retries
  • Complete migration before datacenter shutdown
Approach using Committed block

Engineers used block blob uploads with committed-block verification for every image package. The migration process recorded source checksum, block count, destination ETag, content length, and commit timestamp in a control database. If a transfer failed before Put Block List, the session was retried from known block IDs rather than uploading the full file again. Storage account diagnostics and private endpoints protected the path, while lifecycle rules removed obsolete staging containers after verification. The runbook captured owner, environment, approval link, rollback condition, and the exact Azure evidence operators had to collect before and after each change. A dashboard tracked adoption, exceptions, and operational signals so support, security, and finance teams could review outcomes without relying on informal notes. The team reviewed results after the pilot and kept the design in the standard platform checklist for future deployments.

Potential outcomes
  • Checksum validation passed for 1.8 million images
  • Duplicate retry storage fell 29 percent
  • Migration finished three weeks before shutdown
  • Auditors received per-file commit evidence
What to learn

Committed-block evidence is practical audit proof when regulated data is moved in large staged uploads.

Scenario 03 Manufacturing CAD synchronization Scenario, objectives, solution, measured impact, and takeaway.
Scenario

Proseware Robotics synchronized large CAD models from factories to Azure, but engineers reported stale models after interrupted nightly uploads.

Goals
  • Guarantee readers see only final model versions
  • Reduce support tickets about stale CAD files
  • Keep upload windows under four hours
  • Use conditional updates to avoid overwrite races
Approach using Committed block

Architects implemented a staged block upload pattern where each factory gateway uploaded changed CAD files as blocks, verified block lists, and committed only after the latest version token matched the cloud blob ETag. If another upload had already updated the model, the gateway restarted with the new version. Azure Monitor tracked failed commits, upload duration, and blob size mismatches. Storage Explorer and SDK diagnostics were added to the runbook so operators could tell staged blocks from committed content during incidents. The runbook captured owner, environment, approval link, rollback condition, and the exact Azure evidence operators had to collect before and after each change. A dashboard tracked adoption, exceptions, and operational signals so support, security, and finance teams could review outcomes without relying on informal notes.

Potential outcomes
  • Stale model tickets dropped 76 percent
  • Nightly sync completed within the four-hour target
  • Overwrite races were detected before commit
  • Operators resolved upload incidents using block-list evidence
What to learn

Committed blocks make blob updates safer when many clients stage changes but only one final version should become visible.

Azure CLI

Use CLI, SDK, and storage diagnostics to prove which blob exists, when it changed, and whether upload failures left recoverable evidence.

Useful for

  • Inspect blob properties after a large staged upload completes.
  • List or download a blob to confirm the committed content reached consumers.
  • Correlate failed uploads with request IDs, ETags, and client transfer logs.

Before you run a command

  • Confirm the active tenant, subscription, resource group, workspace, account, or region before running commands.
  • Use least-privileged access and avoid storing secrets, prompts, certificates, tokens, or personal data in command output.
  • Know whether the command is read-only, mutating, cost-impacting, security-impacting, or destructive before production use.

What the output tells you

  • Output confirms whether the live Azure configuration exists at the expected scope and matches the approved design.
  • Returned IDs, settings, metrics, timestamps, or logs help separate configuration drift from application behavior.
  • Differences between expected and actual state create evidence for rollback, escalation, audit, or owner follow-up.

Mapped commands

Storage Blob operations

discovery
az storage container create --name <container> --account-name <storage-account>
az storage containerprovisionStorage
az storage container list --account-name <storage-account>
az storage containerdiscoverStorage
az storage blob upload --account-name <storage-account> --container-name <container> --name <blob> --file <path>
az storage bloboperateStorage
az storage blob list --account-name <storage-account> --container-name <container>
az storage blobdiscoverStorage
az storage blob download --account-name <storage-account> --container-name <container> --name <blob> --file <path>
az storage bloboperateStorage
az storage blob set-tier --account-name <storage-account> --container-name <container> --name <blob> --tier Cool
az storage bloboperateStorage
az storage blob delete --account-name <storage-account> --container-name <container> --name <blob>
az storage blobremoveStorage

Storage Container operations

discovery
az storage container show --name <container> --account-name <storage-account>
az storage containerdiscoverStorage
az storage container exists --name <container> --account-name <storage-account>
az storage containerdiscoverStorage
az storage container metadata show --name <container> --account-name <storage-account>
az storage container metadatadiscoverStorage
az storage container immutability-policy show --container-name <container> --account-name <storage-account>
az storage container immutability-policydiscoverStorage
az storage container legal-hold show --container-name <container> --account-name <storage-account>
az storage container legal-holddiscoverStorage

Architecture context

Technically, Committed block is part of the block blob commit process where Put Block stages blocks and Put Block List selects the final ordered block IDs. Engineers verify it with service configuration, IDs, logs, metrics, request records, and deployment evidence. Important configuration includes block size, block ID encoding, upload concurrency, retry policy, commit order, access conditions, encryption scope, content headers, and cleanup handling. Production reviews should capture owner, scope, region, identity, limits, recent changes, and diagnostics before changing behavior.

Security
Security for Committed block starts with understanding upload identities, shared access signatures, storage account keys, customer data in staged blocks, encryption settings, and who can overwrite or delete blobs. Review identities, roles, secrets, network paths, data classification, logs, and who can change the setting. Prefer least privilege, private access when available, managed identity or protected credentials, and audit evidence. Watch for broad permissions, sensitive data in logs, shared keys, public endpoints, stale owners, and exceptions without expiry. Production use should include an approved owner, access boundary, alert routing, and a revocation process operators can execute during an incident. Security reviewers should tie every exception to risk acceptance and expiry.
Cost
Cost for Committed block comes from storage transactions, staged data, failed upload retries, duplicate transfers, lifecycle tiering, data movement, and operational cleanup of broken uploads. Direct costs may be obvious, but indirect costs can appear as retries, duplicate processing, idle capacity, data movement, investigation time, or support effort. Review budgets, tags, usage metrics, quota, retention, SKU, and forecasts before enabling or scaling it. Connect spend to business-unit ownership and expected workload value. Define normal usage, alert thresholds, cleanup rules, and exception approval before the feature becomes a hidden default across environments. Finance teams need evidence that the cost aligns to real demand, not leftover experiments.
Reliability
Reliability for Committed block depends on retry behavior, commit order, block ID consistency, uncommitted-block cleanup, access conditions, and downstream consumers reading only finalized content. Operators should know the expected failure mode, dependency chain, recovery target, and whether retries, failover, reprocessing, or manual approval are required. Monitor health, latency, quota, backlog, error rates, stale state, and downstream failures. Test behavior during maintenance, regional incidents, expired credentials, schema changes, and burst traffic. Runbooks should explain how to validate current state, preserve evidence, reduce blast radius, and restore service without duplicate work or data loss. Reliability reviews should include the human handoff path, not only platform health.
Performance
Performance for Committed block is about block size, upload parallelism, client bandwidth, storage throttling, checksum validation, network path, and commit latency for large objects. Measure signals that reflect user or workload experience, such as latency, throughput, request units, node startup time, model response time, queue depth, cache behavior, or throttled operations. Avoid tuning one setting in isolation when identity, network path, partitioning, model size, region, or downstream capacity may be the real bottleneck. Compare baseline and peak results after changes, then document which limit would be reached first as demand grows. Keep tests close to production patterns. That evidence helps teams scale intentionally instead of guessing during incidents.
Operations
Operationally, Committed block needs clear ownership, naming, tagging, change records, and repeatable verification. Teams should know where it appears, which commands or queries prove state, which dashboard shows health, and what is safe to change during business hours. Keep examples, approvals, rollback notes, and exception records with the service runbook rather than personal notes. For production changes, capture before-and-after evidence, including resource IDs, region, tenant, policy assignment, deployment version, and linked services. Review stale resources and permissions regularly. Escalation contacts should stay current as teams reorganize. This prevents tribal knowledge from becoming the only support path. It also helps new operators support the service with confidence.

Common mistakes

  • Assuming staged blocks are readable before the block list is committed.
  • Changing block IDs between retries and accidentally committing the wrong order.
  • Ignoring access conditions and overwriting a blob that another client updated.