欢迎使用新的 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
请求不会返回其当前版本为删除标记的对象。
