我需要删除其中包含一些对象的 S3 存储桶:
aws s3 rb --force s3://ansible.prod-us-east
remove_bucket failed: s3://ansible.prod-us-east 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.
我也尝试过这个:
aws s3api delete-bucket --bucket "ansible.prod-us-east" --region "us-east-1"
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.
错误表明存储桶已满。但是当我在命令行上列出它或查看控制台中的存储桶时,存储桶已经是空的。
当我尝试从控制台删除存储桶时,出现同样的错误。存储桶是空的,但错误表明存储桶已满,我无法删除该存储桶。
我怎样才能完成这件事?
错误表明存储桶已满。但当我把它列在
命令行或在控制台中查看存储桶 存储桶是
已经空了。
它是一个版本化的存储桶。在 AWS 控制台中,默认情况下,版本是隐藏的。您可以选择显示版本化对象并删除标记。要在 CLI 中查看版本,
aws s3api list-object-versions --bucket ansible.prod-us-east
要删除该存储桶,必须先删除所有版本和删除标记。完成此操作更容易boto3
than aws-cli
.
#!/usr/bin/env python
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('ansible.prod-us-east')
bucket.object_versions.all().delete()
bucket.delete()
Try this,如果你想完成这件事aws s3api
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)