无法删除其中包含文件的S3存储桶

时间:2018-10-30 06:04:37

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

我使用此命令删除其中的所有文件并删除存储桶本身。 aws s3 rb s3://<bucket_name> --force

它确实删除了存储桶中的文件,但出现了错误 remove_bucket failed: s3://<bucket> An error occurred (BucketNotEmpty) when calling the DeleteBucket operation: The bucket you tried to delete is not empty. You must delete all versions in the bucket.

存储桶是空的。从未启用版本控制。 但是在控制台中,单击“显示”时,我可以看到标记为“删除”的文件。

但是,--force也不应删除它们。我需要编写aws cli命令来删除s3存储桶和存储桶中的所有文件。 第一条命令只是失败。但这就是所有文档说明。

2 个答案:

答案 0 :(得分:2)

如果您运行aws s3 rb help,则会看到以下内容:

  

-force(布尔值)删除存储桶中的所有对象,包括          桶本身。请注意,版本化的对象不会在此删除          会导致存储桶删除失败的过程,因为          桶将不会为空。要删除版本化的对象,请使用s3api          带有--version-id参数的delete-object命令。

答案 1 :(得分:0)

我发现了问题。当我上传新文件时,必须设置文件的可用性。根据可用性的类型,存储桶可能会删除也可能不会删除。 如果通过CF模板执行此操作,请确保未指定“版本配置”。默认情况下,不会在启用版本控制的情况下创建s3,但如果在模板上将其指定为“挂起”,则云形成会认为该版本控制已启用,现在已被暂停。