我想使用 Amazon Simple Storage Service(Amazon S3)控制台或 AWS 命令行界面(AWS CLI)删除 Amazon S3 桶。我拥有该桶的全部权限或根权限,但是我的删除请求失败了,桶仍然可用。
简述
如果 S3 桶包含大量对象,那么您将无法在 Amazon S3 控制台中删除该桶。如果带有版本控制的 S3 桶包含对象或对象版本,那么您将无法使用 AWS CLI 删除该桶。有关详细信息,请参阅删除桶。
**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新的 AWS CLI 版本。
要删除一个 S3 桶,请先暂停版本控制(如果您之前已启用此功能)。然后,创建生命周期规则,使桶中的对象在一天后过期。在您删除所有对象后,就可以删除这个桶了。
解决方案
**警告:**以下过程将永久删除您的 S3 桶中的所有数据。从桶中删除数据后,您将无法恢复这些数据。在继续操作之前,请检查桶中的所有对象和数据,确定您已不再需要它们。
要暂停版本控制,然后创建生命周期规则以删除桶中的对象,请执行以下步骤:
- 打开 Amazon S3 控制台。
- 选择要删除的桶。
- 如果您为桶开启了版本控制,请暂停版本控制。
- 选择管理选项卡。
- 在生命周期规则下,选择创建生命周期规则。
- 在生命周期规则名称中,输入生命周期规则的名称。
- 要在整个桶上运行该规则,请选择此规则适用于桶中的所有对象。要在某个前缀上运行规则,请选择使用一个或多个过滤器限制此规则的范围。然后,在前缀下输入前缀名称。
- 在生命周期规则操作下,选择以下选项:
将对象的当前版本设为过期
永久删除对象的先前版本
删除过期的删除标记对象或未完成的分段上传。
- 对于将对象的当前版本设为过期,在创建对象以来的天数下输入 1。
- 对于永久删除对象的先前版本,在对象变为先前版本以来的天数下输入 1。
- 对于删除过期的删除标记对象或未完成的分段上传,请选择删除未完成的分段上传。然后,输入 1 以指定天数。
- 选择创建规则。
**注意:**即使您收到“This rule has prefix(es) that are overlapping with (previous_rule_name)”的错误消息,您仍然可以保存该规则。
生命周期规则在午夜(世界标准时间,UTC)前后运行。生命周期规则运行后,系统不会立即删除对象,但生命周期规则会将其标记为删除。标记为删除的对象不会产生账单费用。有关更多信息,请参阅即将过期的对象。
如果桶中有大量对象,则在 Amazon S3 控制台中,这些对象可能会继续显示几天。带有版本控制的 Amazon S3 桶更有可能出现此情况。如果桶具有版本控制,则 Amazon S3 会在删除对象的当前版本后创建删除标记。删除标记至少存在一天后,生命周期规则才会清理删除标记。因此,生命周期规则可能需要几天时间才能检测到删除标记并将其删除。
在生命周期规则完全删除所有对象(包括删除标记和任何非当前版本对象)后,您就可以删除这个桶了。
相关信息
管理存储生命周期