Are lifecycle management Delete operations free for ~1 billion blobs in Cool/Cold tiers?

Meshkat Mohammadi 0 Reputation points
2026-10-28T10:28:29.15+00:00

I have a StorageV2 (Standard_LRS) account with ~1.05 billion small log blobs (~22.8 TB):

  • Cool: ~576M blobs, ~1.4 TB
  • Cold: ~470M blobs, ~21.4 TB

A previous lifecycle rule (tierToCold after 30 days) cost us ~$8,000 in Cold write

operations (Set Blob Tier). That rule was disabled 6+ months ago, so all Cold blobs

have been in Cold for more than 90 days.

I now want to apply a delete-only lifecycle policy (no tiering actions):

"baseBlob": { "delete": { "daysAfterModificationGreaterThan": 240 } }

Soft delete, container soft delete and versioning are all disabled.

Questions:

  1. Are Delete Blob operations executed by lifecycle management billed at $0 in Cool and Cold tiers?
  2. Is there any lifecycle evaluation/scan charge at this scale?
  3. Any other charges to expect, apart from normal capacity charges until deletion completes?

Thanks!

Azure Blob Storage
Azure Blob Storage

An Azure service that stores unstructured data in the cloud as blobs.

0 comments No comments

1 answer

Sort by: Most helpful
  1. SHOUMIK CHAKRAVARTY 1,375 Reputation points
    2026-10-28T12:58:18.49+00:00

    Hi @Meshkat Mohammadi - welcome to the Microsoft Azure QnA.

    Q1: Yes, the cost is zero. From Lifecycle management overview: “Lifecycle management policies are free of charge. Customers are billed for standard operation costs for the Set Blob Tier API calls. Delete operations are free.” That statement is not scoped by tier, so Cool and Cold are included.

    Q2: No evaluation or scan charge is documented. The billing section lists exactly one chargeable operation, Set Blob Tier, and your policy does not use tiering. The only exception it names is external: “other Azure services and utilities such as Microsoft Defender for Storage might charge for operations that are managed through a lifecycle policy.” It is worth checking whether Defender for Storage is enabled on this account before you start.

    Q3: The early deletion penalty is the one cost to check. From Access tiers for blob data: “Blobs are subject to an early deletion penalty if they are deleted, overwritten or moved to a different tier before the minimum number of days required by the tier have transpired.” Cool is 30 days, Cold is 90, and the charge is prorated.

    The important part is that this clock measures time in the tier, while daysAfterModificationGreaterThan measures time since last write. They are different clocks. In your timeline both clear: the rule that moved blobs to Cold stopped 6 months ago, so those are well past 90 days, and anything 240 days past modification has been in Cool far longer than 30.

    Two smaller points:

    • Capacity charges continue until each blob is actually deleted.
    • A run across 1.05 billion blobs will not be quick. A new policy can take “up to 24 hours for changes to go into effect and for the first execution to start”, and lifecycle requests “accrue to the same limit on requests per second” as your workload, with priority given to the workload.

    Last access time tracking would add a per object “other operations” charge, but your condition is based on modification time, so it does not apply here.

    Help make this community better for everyone: if this answer resolved your issue, please accept it or leave an upvote. If not, share more details in a comment so we can continue the discussion and find the right solution.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.