容器软删除

容器软删除通过将已删除的数据在系统中保留指定的一段时间来防止数据被意外删除。 在保留期内,你可以将软删除的容器及其内容恢复到该容器被删除时的状态。 保留期过后,该容器及其内容会被永久删除。

Blob 软删除是针对 Blob 数据的综合性数据保护策略的一部分。 为实现对 Blob 数据的最佳保护,Azure 建议启用以下所有数据保护功能:

  • 容器软删除,用于还原已删除的容器。 若要了解如何启用容器软删除,请参阅启用和管理容器的软删除
  • Blob 版本控制,用于自动维护 blob 的先前版本。 启用 blob 版本控制后,如果错误地修改或删除了数据,则可以还原 blob 的先前版本以恢复数据。 若要了解如何启用 blob 版本控制,请参阅启用和管理 blob 版本控制
  • Blob 软删除,用于还原已删除的 blob、快照或版本。 若要了解如何启用 blob 软删除,请参阅启用和管理 blob 的软删除

若要详细了解 Azure 的数据保护建议,请参阅数据保护概述

注意

为存储帐户启用 Blob 版本控制后,对该帐户中的 Blob 执行的每个写入操作都会创建一个新版本。 因此,启用 Blob 版本控制可能会导致额外的成本。 若要尽量降低成本,请使用生命周期管理策略自动删除旧版本。 有关生命周期管理的详细信息,请参阅通过自动执行 Azure Blob 存储访问层来优化成本

容器软删除的工作原理

启用容器软删除后,可以为已删除的容器指定保持期,介于 1 到 365 天之间。 默认保持期为 7 天。 在保持期内,可以通过调用还原容器操作来恢复已删除的容器。

恢复容器时,该容器的 blob 以及任何 blob 版本和快照也会恢复。 但是,如果容器本身已被删除,则只能使用容器软删除来还原 blob。 若要在尚未删除其父容器时还原已删除的 blob,必须使用 blob 软删除或 blob 版本控制。

警告

容器软删除只能还原整个容器及其在删除时的内容。 无法使用容器软删除还原容器中已删除的 blob。 Azure 建议同时启用 blob 软删除和 blob 版本控制,以保护容器中的各个 blob。

恢复容器时,必须将其恢复为原始名称。 如果原始名称已用于创建新容器,则无法恢复软删除的容器。

下图显示了在启用容器软删除后,如何还原已删除的容器:

显示如何还原软删除容器的示意图

保持期到期后,容器将从 Azure 存储永久删除,并且无法恢复。 保持期自删除容器的那一刻开始计算。 你可以随时更改保持期,但要记住,更新的保持期仅适用于新删除的容器。 先前删除的容器将以它被删除时生效的保持期为准永久删除。

禁用容器软删除后,并不会永久删除先前软删除的容器。 任何软删除的容器将在它被删除时生效的保持期到期后被永久删除。

容器软删除可用于以下类型的存储帐户:

  • 常规用途 v2 和 v1 存储帐户
  • 块 Blob 存储帐户
  • Blob 存储帐户

还支持启用了分层命名空间以与 Azure Data Lake Storage 配合使用的存储帐户。

Azure 存储 REST API 2019-12-12 版或更高版本支持容器软删除。

重要

容器软删除不能防止删除存储账户,仅可防止删除帐户中的容器。 若要防止存储帐户被删除,请在存储帐户资源上配置锁。 若要详细了解如何锁定 Azure 资源管理器资源,请参阅锁定资源以防止意外更改

功能支持

启用 Data Lake Storage Gen2、网络文件系统 (NFS) 3.0 协议或 SSH 文件传输协议 (SFTP) 可能会影响对此功能的支持。 如果已启用这些功能中的某一项,请参阅 Azure 存储帐户中的 Blob 存储功能支持,以评估对此功能的支持。

定价和计费

启用容器软删除无需额外付费。 被软删除的容器中的数据按与活动数据相同的费率计费。

后续步骤