Azure Storage - Life Cycle Management Rules are not working

Murty Addanki 20 Reputation points Microsoft External Staff
2026-05-19T22:54:32.2833333+00:00

Hi

We created a rule to achieve parquet files from blob storage but it's not working as expected, even after 48 hours we don't see any change on the targeted folders / files. Changed the settings from lastmodified to lastaccessed but still not working. Any help would be highly appreciated.

Azure Blob Storage
Azure Blob Storage

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

0 comments No comments

Answer accepted by question author
Thanmayi Godithi 11,905 Reputation points Microsoft External Staff Moderator
2026-05-20T00:52:03.6466667+00:00

Hi Murty Addanki ,

Thank you for reaching out on Microsoft Q&A forum.

Azure Blob Storage lifecycle management relies on the concept of prefix matching, which is essentially a string-based path filter used to determine which blobs a policy should apply to. In Azure, there are no real physical folders; instead, a virtual directory structure is created using blob names separated by “/”, and lifecycle rules operate on these prefixes rather than actual directories.

A blob prefix must always begin with the container name followed by the folder path, forming a structure like container-name/folder-path/. For example, specifying container1/ targets all blobs within that container, whereas container1/logs/ applies only to blobs that start with that path, including everything under that “folder” and its subfolders. This works because prefix matching is hierarchical—once a prefix is matched, all blobs with names starting with that prefix are included automatically. [docs.azure.cn],

Lifecycle policies are defined in JSON and include filters such as prefixMatch, which restrict actions (like tiering or deletion) to specific blobs. For instance, a rule using "prefixMatch": ["container1/logs/"] will only apply to blobs stored under the logs path in that container. These rules can then perform actions like moving data to cool or archive tiers or deleting it after defined time intervals, enabling automated cost optimization across the data lifecycle. [learn.microsoft.com]

In your case, the issue was resolved after correcting the blob prefix path, which indicates that the lifecycle rule was previously not matching the intended blobs. This typically happens when the prefix is slightly incorrect—such as using the wrong folder name, missing the container name, incorrect case sensitivity, or not aligning exactly with the actual blob path. Since prefix matching is strictly string-based and case-sensitive, even a small mismatch prevents the rule from applying. Once the correct prefix (including the proper container and folder structure) was provided, the lifecycle policy successfully identified and processed the targeted blobs, thereby resolving the issue.

Kindly let us know if the above helps or you need further assistance on this issue.

If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".

Was this answer helpful?

2 people found this answer helpful.
0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Miguel Fernández Corral 210 Reputation points
    2026-05-20T01:21:56.4166667+00:00

    Hello, it seems that, when you say all parquet files, you create a rule with a prefix with asterisk like:/path/*.parquet

    Prefixes doesn't support asterisk pattern matching. Asterisk is not a wildcard.

    https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-faq#the-blob-prefix-match-string-didn-t-apply-the-policy-to-the-expected-blobs

    Hope this helps

    Miguel.

    Was this answer helpful?

    0 comments No comments

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.