我有一个100%空的S3存储桶。从未在存储桶上启用版本控制。但是,我仍然无法删除桶。我通过Console和CLI工具尝试过。在控制台上它只是说“错误”没有错误消息。从cli和api中它告诉我:“调用DeleteBucket操作时发生错误(BucketNotEmpty):您尝试删除的存储桶不为空”。我尝试了以下所有方法:
aws s3 rm s3://<bucket_name> --recursive
- &gt; BucketNotEmpty
aws s3api list-object-versions --bucket <bucket_name>
- &gt;没有输出(因为它已经是空的)
aws s3api list-multipart-uploads --bucket <bucket_name>
- &gt;没有输出(因为从未启用版本控制)
aws s3api list-objects --delimiter=/ --prefix= --bucket <bucket_name>
- &gt;没有输出
<a href="edit.php"><?php echo $row['post_date']; ?></a>
- &gt;没有输出(因为它是空的)
答案 0 :(得分:58)
我遇到了同样的问题。我能够通过进入存储桶并删除&#34; Bucket Policy&#34;来解决问题。对于水桶。之后,删除存储桶工作正常。
我通过AWS控制台为Elastic Beanstalk创建的S3存储桶(即elasticbeanstalk-us-west-2-861587641234)执行了此操作。我想创建脚本包含一个策略来防止人们意外删除存储桶。
答案 1 :(得分:5)
我有一个类似的问题,能够在等待一夜后删除桶。 这是一个非常弱的解决方案,但可能会节省你和其他一些时间来砸它。
如果在评论中的所有操作之后仍然没有删除,那么只有AWS支持才能正确修复。再一个弱的答案,但是在AWS支持下注册一张票,然后在这里发布他们的回复作为其他人的答案。
答案 2 :(得分:3)
这对我有用。我没有在存储桶上启用版本控制。当您从s3存储桶中删除对象时,它会删除一个&#39;删除标记&#39;在该对象上并将其隐藏在列表中。点击&#39;显示&#39;版本按钮,您将看到删除标记的删除对象。选择此对象(使用删除标记)并再次删除。这是永久删除。现在你的对象真的消失了,你的桶真的是空的。在此之后,我能够删除我的桶。
我想,versioning = true只表示如果你使用相同的名称上传,s3将创建该对象的版本。
答案 3 :(得分:1)
有时在尝试删除存储桶后,实际上并未将其删除,但权限将丢失。
在我的情况下,我转到“权限”标签,重新授予自己权限,然后才能将其删除
答案 4 :(得分:1)
我遇到了同样的问题,并且没有政策,因此增加了我登录并保存的电子邮件的权限。授予自己权限后,我可以删除存储桶。我也有另一个具有策略的存储桶,因此我删除了该策略,也能够删除该存储桶。
答案 5 :(得分:0)
我向公众公开了s3存储桶的权限,并允许所有人访问。然后,我能够从AWS控制台删除存储桶。
答案 6 :(得分:0)
我正在使用AWS控制台执行存储桶的删除。
遇到了同样的问题,我尝试了上述所有解决方案,但对我不起作用,然后我想出了另一种方法。 ElasticBean使用了我的存储桶,每删除一个存储桶,ElasticBean都会自动创建一个存储桶。然后,我删除了ElasticBean服务,并尝试再次删除该存储桶,但这次再次无法使用,该存储桶为空,但不允许删除。 我试图更改权限,但存储桶仍然存在。
最后,我删除了存储桶策略,然后又回来删除了存储桶,它消失了。 问题解决了
答案 7 :(得分:0)
面向面临类似问题的用户。 我尝试了@Federico解决方案仍然没有成功。删除旁边还有另一个选项“空”。
因此,我先清空存储桶,然后尝试删除,此操作奏效了。
答案 8 :(得分:0)
要删除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.
答案 9 :(得分:0)
答案 10 :(得分:-3)
我试图查看提到的许多解决方案。唯一对我有用的是通过Cyberduck删除它(我既不为它工作,也不在提倡Cyberduck,我确实使用过它并且起作用了)。这是我所做的步骤:
1-下载并安装Cyberduck。
2-单击打开连接
3-从下拉列表中选择Amazon S3(默认为FTP)
4-输入访问密钥ID和秘密访问密钥(如果没有,则需要通过AWS上的IAM在s3存储桶中创建一个)
5-您将看到S3存储桶的列表。选择要删除的文件或文件夹或存储桶,右键单击并删除。甚至0kb的文件也会显示在此处,可以删除。
希望这会有所帮助