启用和管理 blob 版本控制
- Artículo
-
-
可以启用 Blob 存储版本控制,以便在修改或删除 blob 时,自动维护之前版本的 blob。 启用 blob 版本控制后,如果错误地修改或删除了数据,则可以还原 blob 的先前版本以恢复数据。
本文介绍如何使用 Azure 门户或 Azure 资源管理器模板启用或禁用存储帐户的 blob 版本控制。 若要详细了解 blob 版本控制,请参阅 Blob 版本控制。
启用 Blob 版本控制
可以通过 Azure 门户、PowerShell、Azure CLI 或 Azure 资源管理器模板启用 blob 版本控制。
在 Azure 门户中为存储帐户启用 blob 版本控制:
在门户中导航到存储帐户。
在“数据管理”下,选择“数据保护”。
在“跟踪”部分中,选择“为 blob 启用版本控制”,然后选择是保留所有版本还是在一段时间后将其删除。
重要
如果设置“在以下时间段后删除版本”选项,则系统会自动将规则添加到存储帐户的生命周期管理策略中。 添加该规则后,“在以下时间段后删除版本”选项将再也不会显示在“数据保护”配置页中。
可以通过删除规则,使该选项重新显示在“数据保护”页中。 如果生命周期管理策略包含用于删除版本的其他规则,则必须先删除这些规则,然后才能重新显示“在以下时间段后删除版本”选项。
若要使用 PowerShell 为存储帐户启用 blob 版本控制,请首先安装 Az.Storage 模块版本 2.3.0 或更高版本。 然后调用 Update-AzStorageBlobServiceProperty 命令来启用版本控制,如以下示例所示。 请务必将尖括号中的值替换为你自己的值:
# Set resource group and account variables.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
# Enable versioning.
Update-AzStorageBlobServiceProperty -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-IsVersioningEnabled $true
若要使用 Azure CLI 为存储帐户启用 blob 版本控制,请首先安装 Azure CLI 版本 2.2.0 或更高版本。 然后调用 az storage account blob-service-properties update 命令来启用版本控制,如以下示例所示。 请务必将尖括号中的值替换为你自己的值:
az storage account blob-service-properties update \
--resource-group <resource_group> \
--account-name <storage-account> \
--enable-versioning true
若要通过模板启用 blob 版本控制,请创建一个模板,并将 IsVersioningEnabled 属性设置为 true 。 以下步骤说明了如何在 Azure 门户中创建模板。
在 Azure 门户中,选择“创建资源”。
在“搜索市场”中键入“模板部署”,然后按 ENTER。
依次选择“模板部署”、“创建”、“在编辑器中生成自己的模板” 。
在模板编辑器中粘贴以下 JSON。 将 <accountName>
占位符替换为存储帐户的名称。
保存模板。
指定帐户的资源组,然后选择“购买”按钮来部署模板并启用更改 blob 版本控制。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2019-06-01",
"name": "<accountName>/default",
"properties": {
"IsVersioningEnabled": true
}
}
]
}
有关如何在 Azure 门户中通过模板部署资源的详细信息,请参阅使用 Azure 门户部署资源。
列出 blob 版本
若要显示 Blob 的版本,请使用 Azure 门户、PowerShell 或 Azure CLI。 你还可以使用 Blob 存储 SDK 之一列出 Blob 的版本。
若要在 Azure 门户中列出 blob 的版本,请执行以下操作:
在门户中导航到你的存储帐户,然后导航到包含 blob 的容器。
选择要列出其版本的 blob。
选择“版本”选项卡以显示 blob 的版本。
打开“显示已删除的版本”按钮,以显示软删除的版本。 如果为存储帐户启用了 Blob 软删除,则仍在软删除保留间隔内的任何软删除版本都将显示在列表中。
若要使用 PowerShell 列出 blob 的版本,请调用 Get-AzStorageBlob 命令并使用 -IncludeVersion
参数:
$account = Get-AzStorageAccount -ResourceGroupName <resource-group> -Name <storage-account>
$ctx = $account.Context
$container = "<container-name>"
$blobs = Get-AzStorageBlob -Container $container -Prefix "ab" -IncludeVersion -Context $ctx
foreach($blob in $blobs)
{
Write-Host $blob.Name
Write-Host $blob.VersionId
Write-Host $blob.IsLatestVersion
}
若要使用 Azure CLI 列出 blob 的版本,请调用 az storage blob directory list 命令并使用 --include v
参数:
storageAccount="<storage-account>"
containerName="<container-name>"
az storage blob list \
--container-name $containerName \
--prefix "ab" \
--query "[[].name, [].versionId]" \
--account-name $storageAccount \
--include v \
--auth-mode login \
--output tsv
后续步骤