An Azure service that stores unstructured data in the cloud as blobs.
The documented behavior in the provided material does not support the observed behavior as an intended exception for version-level immutability.
Supported facts from the documentation:
- Lifecycle delete is documented as not working for blobs in an immutable container.
- The lifecycle management overview states: "The delete action of a lifecycle management policy won't work with any blob in an immutable container."
- The lifecycle policy structure also lists Delete as "Not supported with page blobs or blobs in an immutable container."
- Version-level WORM distinguishes between active and expired retention for blob versions.
- If a blob version is protected by an active retention policy and/or legal hold, that version can't be deleted.
- If a blob version is protected by an expired retention policy and no legal hold is in effect, that version can be deleted.
- Soft delete changes the result of lifecycle delete operations.
- Lifecycle policies that delete objects in a storage account with soft delete enabled put the object into a soft-deleted state retained for the soft-delete duration.
Based on that, only the following conclusions are supported:
- A previous version with an active retention policy or legal hold must not be deleted.
- A previous version with an expired retention policy and no legal hold can be deleted.
- The lifecycle documentation does not state that version.delete is supported in a container with version-level immutability once a version is no longer under active protection.
- The provided documentation also does not state whether a later lifecycle run will delete a previously skipped version immediately after policy expiry, nor does it describe any delay or reevaluation condition.
- The provided documentation does not mention any planned change to this behavior.
- The provided documentation does not state that tierToCool or tierToCold are allowed or blocked specifically for versions under active version-level immutability policies.
For production reliance, the only documented position in the provided material is that lifecycle Delete is not supported for blobs in an immutable container, while version-level WORM documentation separately states that expired versions without legal hold can be deleted. The documentation provided does not reconcile those two statements for lifecycle-driven deletion in version-level immutable containers.
References: