无法删除空S3 Bucket

Tim*_*tin 29 amazon-s3 amazon-web-services aws-cli

我有一个100%空的S3桶.从未在存储桶上启用版本控制.但是,我仍然无法删除桶.我通过Console和CLI工具尝试过.在控制台上它只是说"错误"没有错误消息.从cli和api它告诉我:"调用DeleteBucket操作时发生错误(BucketNotEmpty):你试图删除的存储桶不为空".我尝试了以下所有方法:

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用户具有管理员权限.

Fed*_*ico 81

我遇到了同样的问题.我能够通过进入存储桶并删除存储桶的"存储桶策略"来解决问题.之后,删除存储桶工作正常.

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

  • 为我工作.我认为这应该是公认的解决方案.完全相同的场景:由Elastic Beanstalk创建的存储桶 (10认同)
  • 我将存储桶详细信息内的“存储桶策略”选项卡下的删除策略从“拒绝”更改为“允许”。它将存储桶的访问状态更改为“公共”。之后我就可以删除它了。所以,这个技术是有效的。荣誉。 (2认同)

Sav*_*ita 8

这对我有用。我没有在存储桶上启用版本控制。当您从 s3 存储桶中删除对象时,它会在该对象上放置“删除标记”并将其从列表中隐藏。当您单击“显示”版本按钮时,您将看到带有删除标记的已删除对象。选择该对象(带有删除标记)并再次删除。这是永久删除。现在你的东西真的不见了,你的桶也真的空了。之后我就可以删除我的存储桶了。

我猜, versioning=true 仅意味着如果您使用相同的名称上传,s3 将创建该对象的版本。


Eri*_*ord 7

我有一个类似的问题,能够在等待一夜之后删除桶.这是一个非常弱的解决方案,但可能会节省你和其他一些时间来砸它.

如果在评论中的所有操作之后仍然没有删除,那么只有AWS支持才能正确修复.再一个弱的答案,但在AWS支持下注册一张票,然后在这里发布他们的回复作为其他人的答案.


小智 7

删除 Elastic Beanstalk 存储桶(控制台)

1. Open the Amazon S3 Management Console
2. Select the Elastic Beanstalk storage bucket.
3. Choose Properties.
4. Choose Permissions.
5. Choose Edit Bucket Policy - Allow to delete and make it public.
6. Save.
7. Choose Actions and then choose Delete Bucket.
8, Type the name of the bucket and then choose Delete.
Run Code Online (Sandbox Code Playgroud)