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

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

使用删除标记

Amazon S3 中的删除标记是用于受版本控制的对象(已在简单 DELETE 请求中命名)的占位符(或标记)。因为对象位于已启用版本控制的存储桶中,所以不能删除该对象。但是,删除标记可以使 Amazon S3 的行为类似于它已被删除。

与任何其他对象一样,删除标记同样有键名 (键) 和版本 ID。但是,删除标记在以下方面与其他对象不同:

  • 没有关联的数据。

  • 没有关联的访问控制列表 (ACL) 值。

  • 由于删除标记不包含数据,因此 GET 请求检索不到任何内容;该操作会引发 404 错误。

  • 可在删除标记上使用的唯一操作是 Amazon S3 API DELETE 调用。为此,您必须使用具备适当权限的 AWS Identity and Access Management (IAM) 用户或角色来发出 DELETE 请求。

删除标记将累积对 Amazon S3 中的存储的名义费用。删除标记的存储大小等于删除标记键名的大小。键名是 Unicode 字符序列。对于名称中的每个字符,UTF-8 编码将 1 到 4 字节的存储添加到存储桶。

有关键名称的更多信息,请参阅创建对象键名称。有关将删除标记删除的信息,请参阅删除“删除标记”

仅 Amazon S3 可以创建删除标记,且当您在已启用版本控制或已暂停版本控制的存储桶的对象上发送 DELETE Object 请求时执行此操作。在 DELETE 请求中指定的对象实际上不会删除。而是使删除标记成为对象的当前版本。该对象的键名(键)将成为删除标记的键。如果您尝试获取对象,而其当前版本为删除标记,则 Amazon S3 的响应如下:

  • 404 (Object not found) 错误

  • 响应标头,x-amz-delete-marker: true

响应标头告知您所访问的对象是删除标记。此响应标头永不会返回 false。如果值为 false,则 Amazon S3 不会在响应中包含此响应标头。

下图显示了对象(其当前版本为删除标记)上的简单 GET 如何返回 404 No Object Found (未找到对象) 错误。

列出删除标记 (和对象的其他版本) 的唯一方法在 versions 请求中使用 GET Bucket versions 子资源。简单 GET 不会检索删除标记对象。下图显示 GET Bucket 请求不会返回其当前版本为删除标记的对象。