An Azure service that stores unstructured data in the cloud as blobs.
Use an Azure Blob Storage lifecycle-management policy to change the existing blobs from Cool to Archive in the same storage account; no copy or move to another account is required.^1^
Configure the policy
In the Azure portal:
- Open the Storage account containing the blobs.
- Select Data management → Lifecycle management.
- Select Add a rule.
- On Details:
- Enter a rule name.
- Select Limit blobs with filters if the account contains data that must not be archived.
- Select Block blobs.
- On Base blobs:
- Choose Last modified or Created.
- Select Move to archive storage.
- Enter the required age. For a completed project whose blobs already exceed that age, they become eligible during policy processing.
- On Filter set, specify the project’s container or path prefix.
- A prefix must begin with the container name.
- For example,
completed-project/data/. - Prefixes are case-sensitive and do not support wildcards.
- Select Add.^2^
For example, this policy archives eligible block blobs under one container after they have remained unmodified for more than zero days:
{
"rules": [{
"name": "archive-completed-project",
"enabled": true,
"type": "Lifecycle",
"definition": {
"filters": {
"blobTypes": ["blockBlob"],
"prefixMatch": ["completed-project/"]
},
"actions": {
"baseBlob": {
"tierToArchive": {
"daysAfterModificationGreaterThan": 0
}
}
}
}
}]
}
This documented pattern uses tierToArchive and changes the blob tier after ingestion without relocating the blob.^3^
Important checks before enabling it
Archive-in-place is supported only when all relevant conditions are met:
- The objects are block blobs, not append or page blobs.
- The account is not a premium block blob account.
- The account redundancy is LRS, GRS, or RA-GRS. Archive is not supported with ZRS, GZRS, or RA-GZRS.
- The blobs do not use an encryption scope, which prevents lifecycle tiering to Archive.^4^
If these conditions are not met, changing accounts or copying data may be necessary. Otherwise, no second storage account is needed.
Expectations for hundreds of millions of blobs
Policy changes can take up to 24 hours to take effect and begin their first execution. Completion time depends on the number of blobs and the storage account’s request rate, so hundreds of millions of blobs will not necessarily transition in a single day. Lifecycle policies themselves have no charge, but each tier change incurs the standard Set Blob Tier operation cost.^1^
Also account for the following:
- Moving Cool blobs to Archive is a tier change, not a data transfer to another account.
- Cool blobs moved before completing Cool’s 30-day minimum retention can incur a prorated early-deletion charge.
- Archived blobs should remain archived for at least 180 days to avoid Archive early-deletion charges.
- Archive is offline: reading or modifying a blob requires rehydration, potentially taking hours and incurring retrieval charges.^5^
If the rule appears not to match data, first inspect the prefix: it must include the container name and match the blob-name casing exactly.
References