啟用和管理 Blob 版本設定
您可以啟用 Blob 儲存體版本設定,以便在修改或刪除 Blob 時,自動維護舊版的 Blob。 啟用 Blob 版本設定時,您可以還原舊版的 Blob 來復原資料 (如果資料遭到不當修改或刪除)。
本文說明如何使用 Azure 入口網站或 Azure Resource Manager 範本,啟用或停用儲存體帳戶的 blob 版本設定。 若要深入瞭解 Blob 版本設定,請參閱 Blob 版本設定。
啟用 Blob 版本設定
您可以使用 Azure 入口網站、PowerShell、Azure CLI 或 Azure Resource Manager 範本,來啟用 BLOb 版本設定。
若要為 Azure 入口網站中的儲存體帳戶啟用 blob 版本設定:
在入口網站中瀏覽至您的儲存體帳戶。
在 [資料管理] 下,選擇 [資料保護]。
在 [追蹤] 區段中,選取 [啟用 BLOb 版本設定],然後選擇是否要保留所有版本,或在一段時間後加以刪除。
重要
如果您在 [刪除以下時間之後的版本],系統會自動將規則新增至儲存體帳戶的生命週期管理原則。 新增該規則之後,[刪除以下時間之後的版本] 選項就不會再出現在 [資料保護] 設定頁面中。
您可以移除此規則,以讓該選項在 [資料保護] 頁面中重新出現。 如果您的生命週期管理原則包含其他會刪除版本的規則,您也必須先移除那些規則,[刪除以下時間之後的版本] 選項才會重新出現。
若要使用 PowerShell 啟用儲存體帳戶的 blob 版本設定,請先安裝Az. 儲存體module version 2.3.0 或更新版本。 然後呼叫 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 入口網站中,選擇 [建立資源]。
在 [搜尋 Marketplace] 中,輸入範本部署,然後按 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 的版本,請使用 -IncludeVersion
參數呼叫 Get-AzStorageBlob 命令:
$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 的版本,請使用 --include v
參數呼叫 az storage blob directory list 命令:
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
下一步