管理删除标记
配置生命周期以自动清理过期的删除标记
过期的对象删除标记是指,删除所有对象版本而只保留一个删除标记。如果生命周期配置设置为删除当前版本,或显式设置了 ExpiredObjectDeleteMarker
操作,则 Amazon S3 会删除过期对象的删除标记。有关示例,请参阅在启用了版本控制的存储桶中移除到期对象删除标记。
删除删除标记以使旧版本变为当前版本
当您删除启用了版本控制的存储桶中的某个对象时,所有版本都将保留在存储桶中并且 Amazon S3 将为该对象创建一个删除标记。要取消删除该对象,您必须删除此删除标记。有关版本控制和删除标记的更多信息,请参阅使用 S3 版本控制保留对象的多个版本。
要永久删除“删除标记”,必须在 DeleteObject versionId
请求中包含其版本 ID。下图显示了 DeleteObject versionId
请求如何永久删除“删除标记”。
去除删除标记的效果是:简单的 GET
请求现在将检索对象的当前版本 ID(121212)。
注意
如果在当前版本是一个删除标记(未指定删除标记的版本 ID)的情况下使用 DeleteObject
请求,Amazon S3 将不会删除该删除标记,而是对另一个删除标记执行 PUTs
请求。
要删除具有 NULL
版本 ID 的删除标记,必须在 DeleteObject
请求中将 NULL
作为版本 ID 传递。下图显示了在没有版本 ID(当前版本是一个删除标记)的情况下如何发出简单的 DeleteObject
请求,未删除任何内容,而是再添加一个具有唯一版本 ID (7498372) 的删除标记。
按照以下步骤,从 S3 存储桶中恢复文件夹之外的已删除对象,包括这些文件夹中的对象。
-
登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在存储桶列表中,请选择您想要的存储桶的名称。
-
要查看存储桶中对象的版本列表,请选择列出版本开关。您将能够看到已删除对象的删除标记。
-
要取消删除对象,您必须删除掉删除标记。选中要恢复的对象的删除标记旁边的复选框,然后选择 Delete (删除)。
-
在 Delete objects (删除对象) 页面上确认删除。
-
对于 Permanently delete objects?(永久删除对象?),输入
permanently delete
。 -
请选择 Delete objects(删除对象)。
-
注意
您无法使用 Amazon S3 控制台取消删除文件夹。您必须使用 Amazon CLI 或 SDK。例如,请参阅 Amazon 知识中心中的如何检索启用版本控制的存储桶中已被删除的 Amazon S3 对象?
永久删除“删除标记”的步骤
-
将
versionId
设置为要删除的删除标记的版本 ID。 -
发送
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
有关使用其他 Amazon SDK 的信息,请参阅 Amazon 开发人员中心