2017-01-23 226 views
9

我有一个100%空的S3存储桶。版本控制从未在存储桶中启用。但是,我仍然无法移除存储桶。我通过控制台和CLI工具尝试过。在控制台上它只是说“错误”,没有错误信息。从cli和api它告诉我:“调用DeleteBucket操作时发生错误(BucketNotEmpty):您试图删除的存储桶不是空的”。我已经尝试了所有的以下内容:无法删除空S3存储桶

aws s3 rb s3://<bucket_name> --force - > BucketNotEmpty

aws s3 rm s3://<bucket_name> --recursive - >没有输出(因为它已经空)

aws s3api list-object-versions --bucket <bucket_name> - >没有输出(因为历史版本从未启用)

aws s3api list-multipart-uploads --bucket <bucket_name> - >无输出

aws s3api list-objects --delimiter=/ --prefix= --bucket <bucket_name> - >没有输出(因为它是空的)

  • 它没有依赖关系(它不用于cloudfront或我知道的其他任何东西)。
  • 桶已空约5天。
  • 我能够用相同的IAM用户删除另一个非常相似的存储桶。另外,我的IAM用户拥有管理员权限。
+0

它空了多久? – Alden

+0

已经空了大约五天@Alden –

+1

我会用AWS支持打开一张票 –

回答

3

我有一个类似的问题,并能够在等待过夜后删除存储桶。 这是一个非常薄弱的​​解决方案,但可能会节省您和其他一些时间的冲击。

如果在注释中的所有操作之后它仍然没有被删除,有些事情只有AWS支持可以正确解决。再次弱弱的答案,但注册与AWS支持票,然后发布他们的答复在这里作为其他人的答案。

3

这是为我工作的。我没有在存储桶上启用版本控制。当您从s3存储桶中删除一个对象时,它会在该对象上放置一个“删除标记”并将其从列表中隐藏起来。当你点击'显示'版本按钮时,你会看到你删除的对象与删除标记。选择此对象(使用删除标记)并再次删除。这是一个永久删除。现在你的目标真的消失了,你的水桶真的是空的。在此之后,我可以删除我的存储桶。

我想,versioning = true只意味着如果您上传的是相同的名称,s3会创建该对象的版本。

1

有时在尝试删除存储桶后,它并未实际删除,但权限已丢失。

就我而言,我去了“权限”选项卡,再授予的权限给自己,然后可以将其删除

3

我面临同样的问题。我可以通过进入存储桶并删除存储桶的“存储桶策略”来解决问题。之后,删除存储桶正常工作。

我通过AWS控制台为Elastic Beanstalk创建的S3存储桶(即elasticbeanstalk-us-west-2-861587641234)执行了此操作。我想象创建脚本包含一个策略,以便用户不会意外删除存储桶。