为 blob 启用软删除

Blob 软删除会在系统中将已删除的数据保留指定的一段时间,可以在意外删除或覆盖单个 Blob 及其版本、快照和元数据时提供保护。 在保留期内,可以将 Blob 还原到它在删除时的状态。 在指定的保留期已过后,Blob 将永久被删除。 有关 Blob 软删除的详细信息,请参阅 Blob 的软删除

Blob 软删除是针对 Blob 数据的综合性数据保护策略的一部分。 若要详细了解 Azure 的数据保护建议,请参阅数据保护概述

启用 blob 软删除

你可以使用 Azure 门户、PowerShell 或 Azure CLI 随时启用或禁用存储帐户的软删除。

使用 PowerShell 创建新存储帐户时不会启用 Blob 软删除。 可以在新帐户创建之后启用 blob 软删除。

若要使用 PowerShell 为现有存储帐户启用 blob 软删除,请调用 Enable-AzStorageBlobDeleteRetentionPolicy 命令,并指定保持期(天)。

以下示例启用 blob 软删除并将保持期设置为七天。 请记得将括号中的占位符值替换为你自己的值:

Enable-AzStorageBlobDeleteRetentionPolicy -ResourceGroupName <resource-group> `
    -StorageAccountName <storage-account> `
    -RetentionDays 7

若要检查 blob 软删除的当前设置,请调用 Get-AzStorageBlobServiceProperty 命令:

$properties = Get-AzStorageBlobServiceProperty -ResourceGroupName <resource-group> `
    -StorageAccountName <storage-account>
$properties.DeleteRetentionPolicy.Enabled
$properties.DeleteRetentionPolicy.Days

启用 blob 软删除(分层命名空间)

blob 软删除还可以保护已启用分层命名空间功能的帐户中的 blob 和目录。

  1. 安装最新的 PowershellGet 模块。 然后关闭 PowerShell 控制台,接着重新将其打开。

    Install-Module PowerShellGet -Repository PSGallery -Force
    
  2. 安装 Az.Storage 预览版模块。

    Install-Module Az.Storage -Repository PsGallery -RequiredVersion 3.7.1-preview -AllowClobber -AllowPrerelease -Force
    

    有关如何安装 PowerShell 模块的详细信息,请参阅安装 Azure PowerShell 模块

  3. 使用存储帐户密钥、连接字符串或 Microsoft Entra ID 获取存储帐户授权。 有关详细信息,请参阅连接到帐户

    以下示例使用存储帐户密钥获取授权。

    $ctx = New-AzStorageContext -StorageAccountName '<storage-account-name>' -StorageAccountKey '<storage-account-key>'
    
  4. 若要使用 PowerShell 启用 blob 软删除,请使用 Enable-AzStorageDeleteRetentionPolicy 命令,并指定保持期(以天为单位)。

    下面的示例启用了帐户的软删除功能,并将保持期设置为 4 天。

    Enable-AzStorageDeleteRetentionPolicy -RetentionDays 4  -Context $ctx
    
  5. 若要检查 blob 软删除的当前设置,请使用 Get-AzStorageServiceProperty 命令:

     Get-AzStorageServiceProperty -ServiceType Blob -Context $ctx
    

后续步骤