【问题标题】:Can't Delete Empty S3 Bucket无法删除空 S3 存储桶
【发布时间】:2017-06-08 07:04:20
【问题描述】:

我有一个 100% 空的 S3 存储桶。从未在存储桶上启用版本控制。但是,我仍然无法移除存储桶。我已经通过控制台和 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 用户拥有管理员权限。

【问题讨论】:

  • 空了多久了?
  • 它已经空了大约五天了@Alden
  • 我会通过 AWS 支持开一张票
  • 我敢打赌它不是真的空的。 aws s3api list-multipart-uploads 将显示任何从未取消的废弃分段上传。它们超时......永远不会,除非您在存储桶生命周期策略中配置超时。检查这个?
  • 对于任何感兴趣的人,我今天尝试删除存储桶只是为了它(我们最终完全绕过了这个)。不知何故,它神奇地起作用了。我没有对这个存储桶进行任何更改,所以我开始认为存在一些潜在的错误。

标签: amazon-web-services amazon-s3 aws-cli


【解决方案1】:

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

我通过 AWS 控制台为 Elastic Beanstalk 创建的 S3 存储桶(即 elasticbeanstalk-us-west-2-861587641234)执行此操作。我想创建脚本包含一个防止人们意外删除存储桶的策略。

【讨论】:

  • 在我的例子中,我将DeletionPolicy 设置为Retain for BucketPolicy,这导致存储桶无法删除。
  • 我将存储桶详细信息内的存储桶策略选项卡下的删除策略从“拒绝”更改为“允许”。它将存储桶的访问状态更改为“公共”。之后,我能够删除它。所以,这种技术是有效的。赞一个。
  • 关于此主题的 AWS 文档并在此处删除您由 EB 创建的 S3 存储桶:docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.S3.html
  • @bkunzi01 - 广泛搜索解决方案,最后,SO 评论将我指向正确的 AWS 文档,说明了很多关于 AWS 文档可用性的信息。
【解决方案2】:

我遇到了类似的问题,并且在等待一夜后能够删除存储桶。 这是一个非常薄弱的​​解决方案,但可以节省您和其他人的时间。

如果在 cmets 中的所有操作后仍未删除,则有些问题只有 AWS 支持才能正确修复。同样是一个弱答案,但向 AWS 支持注册一张票,然后在此处发布他们的回复作为其他人的答案。

【讨论】:

    【解决方案3】:

    删除 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.
    

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

        适用于面临类似问题的用户。 我尝试了@Federico 解决方案仍然没有成功。删除旁边还有一个“空”选项。

        所以我先清空了bucket,然后尝试delete,成功了。

        【讨论】:

        • 这对我也有用。但是,即使桶里没有文件,我们也需要清空桶,这不是很奇怪吗?
        • @RBT 是的,这就是我之前的想法,我想这是一种删除与该存储桶关联的隐藏引用的方法。
        【解决方案6】:

        有时在尝试删除存储桶后,它实际上并没有被删除,而是失去了权限。

        就我而言,我转到“权限”选项卡,重新授予自己权限,然后能够将其删除

        【讨论】:

          【解决方案7】:

          我遇到了同样的问题并且没有政策,因此为我登录并保存的电子邮件添加了权限。在授予自己权限后,我能够删除存储桶。我还有另一个包含策略的存储桶,因此我删除了该策略并且也能够删除该存储桶。

          【讨论】:

          • 我刚刚选择了存储桶,转到策略选项卡并删除了策略。那让我删除存储桶。
          【解决方案8】:

          我将 s3 存储桶权限公开,并授予所有人访问权限。然后我就可以从 AWS 控制台中删除 Bucket。

          【讨论】:

            【解决方案9】:

            我正在使用 AWS 控制台执行存储桶的删除。

            遇到了同样的问题,我尝试了上述所有解决方案,但都没有为我工作,然后我想出了另一种方法。 我的存储桶被 ElasticBean 使用,每当我删除存储桶时,ElasticBean 都会自动创建一个。然后我删除了 ElasticBean 服务并尝试再次删除存储桶但这次没有再次工作,存储桶为空但不允许删除。 我尝试更改权限,但存储桶仍然存在。

            最后我删除了存储桶策略,然后回来删除了存储桶,它就消失了。 问题解决了

            【讨论】:

              【解决方案10】:

              我在删除 Elastic Beanstalk 存储桶时遇到问题。 请按照以下步骤操作:

              1. Select the Elastic Beanstalk storage bucket.
              2. Choose Permissions.
              3. Delete the bucket policy
              4. Save.
              

              如果你的bucket是空的,你可以删除bucket。

              【讨论】:

                【解决方案11】:

                我尝试查看提到的许多解决方案。唯一对我有用的是通过 Cyber​​duck 删除它(我既不为 Cyber​​duck 工作也不在推广 Cyber​​duck,我真的使用它并且它有效)。以下是我所做的步骤:

                1 - 下载并安装 Cyber​​duck。

                2 - 点击打开连接

                3 - 从下拉列表中选择 Amazon S3(默认为 FTP)

                4 - 输入您的访问密钥 ID 和秘密访问密钥(如果您没有,则需要通过 AWS 上的 IAM 在您的 s3 存储桶上创建一个)

                5 - 您将看到您的 S3 存储桶列表。选择要删除的文件或文件夹或存储桶,右键删除。即使是 0kb 的文件也会显示在此处并且可以删除。

                希望对你有帮助

                【讨论】:

                  猜你喜欢
                  • 2014-11-03
                  • 2017-11-16
                  • 2012-05-16
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多