本文介绍如何创建或管理 Azure Blob 存储生命周期管理策略。
可以使用生命周期管理策略根据 Blob 的使用模式将 Blob 转换为经济高效的访问层,或在生命周期结束时完全删除它们。 若要了解详细信息,请参阅 Azure Blob 存储生命周期管理概述。
注意
必须完整读取或写入生命周期管理策略。 不支持部分更新。
创建或管理策略
在 Azure 门户中导航到存储帐户。
在“数据管理”下,选择“生命周期管理”以查看或更改生命周期管理策略。
选择“列表视图”选项卡。
选择“添加规则”并在“详细信息”表单上为你的规则命名。 你还可以设置“规则范围”、“Blob 类型”和“Blob 子类型”值。 下面的示例设置筛选 Blob 的范围。 这将导致添加“筛选器集”选项卡。
- 选择“基础 Blob”以设置规则的条件。 在以下示例中,如果 Blob 有 30 天未修改,它们将转移到冷存储。
仅当已启用访问时间跟踪,并且已选择“块 Blob”作为 Blob 类型时,“上次访问”选项才可用。 请参阅 “启用访问时间跟踪”。
- 如果你在“详细信息”页上选择了“使用筛选器限制 Blob” ,请选择“筛选器集”来添加可选筛选器。 下方示例筛选的是 sample-container 容器中名称以 log 开头的 Blob。
如果遇到意外结果,请参阅以下常见问题解答条目:Blob 前缀匹配字符串未将策略应用到预期的 Blob。
- 选择“添加”以添加新策略。
使用代码视图管理策略。
还可以通过在 “代码视图 ”选项卡中直接添加 JSON 代码来定义策略。
以下屏幕截图显示了 “代码视图 ”选项卡中的 JSON。此 JSON 定义一个生命周期策略,该策略将块 Blob 的名称从 日志 开始移动到冷层(如果 Blob 修改后的 30 天以上)。
若要通过 PowerShell 添加生命周期管理策略,请使用以下命令:
下方示例演示如何使用上述每一个命令来创建生命周期策略。 请务必将尖括号中的占位符值替换为你自己的值:
# Initialize the following variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
# Create a new action object.
$action = Add-AzStorageAccountManagementPolicyAction -BaseBlobAction Delete `
-daysAfterModificationGreaterThan 180
Add-AzStorageAccountManagementPolicyAction -InputObject $action `
-BaseBlobAction TierToArchive `
-daysAfterModificationGreaterThan 90
Add-AzStorageAccountManagementPolicyAction -InputObject $action `
-BaseBlobAction TierToCool `
-daysAfterModificationGreaterThan 30
Add-AzStorageAccountManagementPolicyAction -InputObject $action `
-SnapshotAction Delete `
-daysAfterCreationGreaterThan 90
Add-AzStorageAccountManagementPolicyAction -InputObject $action `
-BlobVersionAction TierToArchive `
-daysAfterCreationGreaterThan 90
# Create a new filter object.
$filter = New-AzStorageAccountManagementPolicyFilter -PrefixMatch ab,cd `
-BlobType blockBlob
# Create a new rule object.
$rule1 = New-AzStorageAccountManagementPolicyRule -Name sample-rule `
-Action $action `
-Filter $filter
# Create the policy.
Set-AzStorageAccountManagementPolicy -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-Rule $rule1
若要使用 Azure CLI 添加生命周期管理策略,请将该策略写入 JSON 文件,然后调用 az storage account management-policy create 命令创建该策略。
下方示例演示如何使用上述每一个命令来创建生命周期策略。 请务必将尖括号中的占位符值替换为你自己的值:
az storage account management-policy create \
--account-name <storage-account> \
--policy @policy.json \
--resource-group <resource-group>
启用访问时间跟踪
如果您希望根据 Blob 上次被读取或写入的时间来包含一个操作,请启用访问跟踪。 若要了解此功能的行为,请参阅 访问时间跟踪。
导航到 Azure 门户中的存储帐户。
在“数据管理”部分,选择“生命周期管理”。
选中“启用访问跟踪”复选框
若要通过 PowerShell 启用上次访问时间跟踪,请调用 Enable-AzStorageBlobLastAccessTimeTracking 命令,如以下示例中所示。 请务必将尖括号中的占位符值替换为你自己的值:
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
Enable-AzStorageBlobLastAccessTimeTracking -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-PassThru
若要使用 Azure CLI 启用上次访问时间跟踪,请调用 az storage account blob-service-properties update 命令,如以下示例中所示。 请务必将尖括号中的占位符值替换为你自己的值:
az storage account blob-service-properties update \
--resource-group <resource-group> \
--account-name <storage-account> \
--enable-last-access-tracking true
另请参阅