Review Blob Storage versions and soft-delete costs
On this page
Review retained versions and soft-deleted objects before planning changes, because current-blob views can miss data that continues to consume storage. Keep the review read-only and compare inventory coverage with account capacity.
What you need first
- Tool
- Use the Azure portal, Microsoft's browser-based management interface, to open the storage account overview and Data management > Blob inventory. Have the latest existing CSV or Apache Parquet report available to read.
- Access
- If a view is unavailable, ask an authorized Azure storage colleague for read-only results for the chosen account and containers. No specific permission is assumed here.
- If you do not use that tool
- Give the colleague the account, container names, and review period. Request the existing inventory rule and report, deleted-object details, and Blob Capacity in bytes with Average aggregation, including the metric window and filters.
Why this is worth a look
Skipping this review can hide extra retained data and lead to an unsafe cost decision. Every write creates a new version when blob versioning is enabled, which can add storage costs. Soft-deleted data remains recoverable until its retention period ends, even after soft delete is disabled. Inventory is billed per one million objects scanned, with additional storage, read, and write charges for generated report files, so use an existing report rather than enabling extra scans.
Run this check
CHECKLISTUse an existing inventory report, Azure portal views, and an authorized-colleague handoff to review one storage account and named containers without changing data or settings.
READ-ONLY REVIEW
Scope: Record the storage account and containers to review.
Access: If a view is unavailable, ask an authorized Azure storage colleague for the scoped result. Do not change permissions.
[ ] Confirm that the account is Standard general-purpose v2, Premium block blob storage, or Blob storage.
[ ] In the Azure portal, open the account overview, then Data management > Blob inventory. Inspect the existing rule without saving changes. Record blob-type and prefix filters, whether deleted objects are included (includeDeleted), and whether versions and snapshots are included.
[ ] Read the latest existing CSV or Apache Parquet report. Record its date, schedule, and selected properties. Mark containers or object types outside the rule's coverage as unknown, not absent.
[ ] Open the selected container's Overview and turn on Show deleted blobs. Record objects with Deleted status. For a flat-namespace account, select a deleted blob and record the days until permanent deletion shown on its Overview tab.
[ ] Request Blob Capacity for the account's Blob service from an authorized colleague. Ask for Average aggregation in bytes, the chosen time window, and any BlobType or Tier filters. Choose a window covering the report date and record it with the result.
[ ] Flag retained versions or deleted objects for owner review. Flag differences between inventory and capacity rather than treating them as deletable data.
Limits: Inventory runs daily or weekly, not live. Blob Capacity is account-level storage in bytes, not a version-cost breakdown. With hierarchical namespace, a deleted directory or container can appear without its soft-deleted child blobs in inventory.
Do not add or edit rules, delete objects, select Undelete, or promote versions or snapshots.How to confirm it
- 01
Verify report coverage
Inspect the existing blob inventory rule for the chosen account. Record its filters and whether deleted objects, versions, and snapshots are included. Mark uncovered areas unknown rather than concluding that no retained data exists.
- 02
Review retained objects
Read the latest report and record its date. Use the container Overview and Show deleted blobs to inspect Deleted status. In a flat-namespace account, select a deleted blob and read the days until permanent deletion.
- 03
Compare account and period
Request Blob Capacity from an authorized Azure storage colleague for a window covering the report date. Record Average storage in bytes and any BlobType or Tier filters. Compare the account-level result with inventory coverage, not with one container alone.
- 04
Keep findings separate from deletion
Send retained-object findings and coverage gaps to the storage owner before proposing changes. Do not treat a capacity difference as a deletion target or disable soft delete expecting retained objects to disappear immediately.
Before making changes
Assume an existing report is available and its rule covers the intended scope. Inventory runs daily or weekly, so it is not live. With hierarchical namespace, deleting a container or directory can leave soft-deleted child blobs out of inventory even when includeDeleted is true. Blob versions can be included only without hierarchical namespace. Blob Capacity is account-level storage in bytes, not a per-version or per-snapshot cost breakdown, and this review does not calculate savings.