删除“删除标记” - Amazon Simple Storage Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

欢迎使用新的 Amazon S3 用户指南! Amazon S3 用户指南结合了以下三个已停用的指南中的信息和说明:Amazon S3 开发人员指南Amazon S3 控制台用户指南Amazon S3 入门指南

删除“删除标记”

当您删除启用了版本控制的存储桶中的某个对象时,所有版本都将保留在存储桶中并且 Amazon S3 将为该对象创建一个删除标记。要取消删除该对象,您必须删除此删除标记。有关版本控制和删除标记的更多信息,请参阅在 S3 存储桶中使用版本控制

如果您想删除“删除标记”,它必须具有版本 ID,并且必须在 DELETE Object versionId 请求中指定该 ID。如果您使用 DELETE 请求将删除标记删除(而未指定删除标记的版本 ID),Amazon S3 将不会删除该删除标记,而是再插入一个删除标记。

下图显示了删除标记上的简单 DELETE 未删除任何内容,但向存储桶添加了新删除标记的方式。

在已启用版本控制的存储桶中,这一新删除标记将具有唯一的版本 ID。因此,在一个存储桶中,相同的对象可能有多个删除标记。

如果当前对象版本是唯一的对象版本并且它还是删除标记(也称作过期对象删除标记,在这种情况下,所有对象版本都已删除,仅剩下一个删除标记),则当生命周期策略设置为删除当前版本或显式设置 ExpiredObjectDeleteMarker 时,Amazon S3 将删除过期对象删除标记。您还可以使用过期操作来指示 Amazon S3 移除所有过期对象删除标记。有关示例,请参阅示例 7:移除过期对象删除标记

要永久删除“删除标记”,必须在 DELETE Object versionId 请求中包含其版本 ID。下图显示了 DELETE Object versionId 请求如何永久删除“删除标记”。只有存储桶拥有者可以永久删除“删除标记”。

去除“删除标记”的效果是:简单 GET 请求现在将检索对象的当前版本 (121212)。

按照以下步骤,从 S3 存储桶中恢复文件夹之外的已删除对象,包括这些文件夹中的对象。

  1. 登录 AWS 管理控制台,并通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. Buckets (存储桶) 列表中,选择您想要的存储桶的名称。

  3. 要查看存储桶中对象的版本列表,请选择 List versions(列出版本)开关。您将能够看到已删除对象的删除标记。

  4. 要取消删除对象,您必须删除掉删除标记。选中要恢复的对象的删除标记旁边的复选框,然后选择 Delete (删除)

  5. Delete objects (删除对象) 页面上确认删除。

    1. 对于 Pemanently delete objects? (永久删除对象?),输入 permanently delete

    2. 选择 Delete objects (删除对象)

注意

您无法使用 Amazon S3 控制台取消删除文件夹。您必须使用 AWS CLI 或开发工具包。例如,请参阅 AWS 知识中心中的如何检索启用版本控制的存储桶中已被删除的 Amazon S3 对象?

永久删除“删除标记”的步骤

  1. versionId 设置为要删除的删除标记的版本 ID。

  2. 发送 DELETE Object versionId 请求。

例 — 删除“删除标记”

以下示例删除用于 photo.gif 版本 4857693 的删除标记。

DELETE /photo.gif?versionId=4857693 HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 28 Oct 2009 22:32:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=

删除“删除标记”时,Amazon S3 将在响应中包含以下内容:

204 NoContent x-amz-version-id: versionID x-amz-delete-marker: true