本文介绍如何创建或管理 Azure Blob 存储生命周期管理策略。
使用生命周期管理策略,根据使用模式将blob转移到成本效益高的访问层级,或在其生命周期结束时删除。 若要了解详细信息,请参阅 Azure Blob 存储生命周期管理概述。
注意
您必须完整阅读或编写生命周期管理政策。 该服务不支持部分更新。
创建或管理策略
在 Azure 门户中,进入您的存储帐户。
在 数据管理中,选择 生命周期管理 以查看或更改生命周期管理策略。
选择“列表视图”选项卡。
选择“添加规则”并在“详细信息”表单上为你的规则命名。 你还可以设置“规则范围”、“Blob 类型”和“Blob 子类型”值。 下面的示例设置筛选 Blob 的范围。 这一步会添加 “过滤器集 ”标签。
选择基本 Blob 对象以设置规则的条件。 在下面的示例中,如果 Blob 对象在 30 天内未被修改,则会被移至冷存储层。
“最后访问”选项仅在已启用访问时间跟踪并且已选择 “块 Blob” 作为 Blob 类型时可用。 请参阅 “启用访问时间跟踪”。
如果你在“详细信息”页面上选择了“使用筛选器限制 Blob”,请选择“筛选器集”以添加可选筛选器。 以下示例筛选名为 sample-container 的容器中名称以 log 开头的 Blob。
如果遇到意外结果,请参阅以下常见问题解答条目:Blob 前缀匹配字符串未将策略应用到预期的 Blob。
选择“添加”以添加新策略。
新规则显示在列表视图标签页中。Azure 存储 每天运行一次该策略。
通过代码视图管理策略
还可以通过在 “代码视图 ”选项卡中直接添加 JSON 代码来定义策略。
以下屏幕截图显示了在代码视图选项卡中的 JSON。该 JSON 定义了一个生命周期策略:如果某个名称以log开头的块 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>
若要使用 Azure 资源管理器模板定义生命周期管理策略,请在模板中加入 Microsoft.Storage/storageAccounts/managementPolicies 对象。 有关配置细节,请参见 Microsoft。存储/存储账户/管理策略 - Bicep &ARM 模板参考。 在 2018-11-01 及更高版本中,Azure 存储资源提供程序 REST API 可提供 Microsoft.Storage/storageAccounts/managementPolicies 对象。
启用访问时间跟踪
如果你想包含基于 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
另请参阅