可以使用生命周期管理策略转换 Blob,以在 Blob 生命周期结束时将其删除。 本文包含删除 blob 的策略定义示例。
有关 Azure 存储生命周期管理策略的一般信息,请参阅 Azure Blob 存储生命周期管理概述。
重要
在启用了软删除功能的存储帐户中,生命周期管理策略删除 Blob 后会将 Blob 置于软删除状态。 这种 Blob 在“软删除”保留期内会被保留。 请参阅 针对 Blob 的软删除。 生命周期管理策略不会影响已处于软删除状态的 Blob。
基于陈旧程度使数据过期
某些数据预期在创建后的数日或数月内过期。 可以将生命周期管理策略配置为:根据数据陈旧程度删除数据,以使数据过期。 以下示例演示了一个策略,用于删除过去 365 天内尚未修改的所有块 Blob。
{
"rules": [
{
"name": "expirationRule",
"enabled": true,
"type": "Lifecycle",
"definition": {
"filters": {
"blobTypes": [ "blockBlob" ]
},
"actions": {
"baseBlob": {
"delete": { "daysAfterModificationGreaterThan": 365 }
}
}
}
}
]
}
注释
生命周期管理策略中的 baseBlob 元素是指 blob 的当前版本。
删除带 Blob 索引标记的数据
某些数据只有在明确标记为删除时才会过期。 你可以配置生命周期管理策略,使标记有 Blob 索引键/值属性的数据过期。 以下示例展示的策略会删除标有 Project = Contoso 的所有块 Blob 存储对象。 若要详细了解 Blob 索引,请参阅通过 Blob 索引管理和查找 Azure Blob 存储上的数据。
{
"rules": [
{
"enabled": true,
"name": "DeleteContosoData",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"delete": {
"daysAfterModificationGreaterThan": 0
}
}
},
"filters": {
"blobIndexMatch": [
{
"name": "Project",
"op": "==",
"value": "Contoso"
}
],
"blobTypes": [
"blockBlob"
]
}
}
}
]
}
注释
生命周期管理策略中的 baseBlob 元素是指 blob 的当前版本。
管理旧版本
对于在其整个生存期内定期修改和访问的数据,你可以启用 Blob 存储版本控制来自动维护对象的早期版本。 可以创建一个策略来删除以前的版本。 可通过评估版本创建时间来确定版本的陈旧程度。 此策略规则会删除存在时间为365天或更久的早期版本。
{
"rules": [
{
"enabled": true,
"name": "versionrule",
"type": "Lifecycle",
"definition": {
"actions": {
"version": {
"delete": {
"daysAfterCreationGreaterThan": 365
}
}
},
"filters": {
"blobTypes": [
"blockBlob"
],
"prefixMatch": [
"activedata/"
]
}
}
}
]
}
注释
生命周期管理策略中的 版本 元素是指以前的版本。