删除Bucket
更新时间:2022-10-14
删除指定Bucket
如下代码可以删除一个Bucket:
bucketName = "your_bucket";
client.delete_bucket(bucketName)
注意:
- 在删除前需要保证此Bucket下的所有Object和未完成的三步上传Part已经被删除,否则会删除失败。
- 在删除前确认该Bucket没有开通跨区域复制,不是跨区域复制规则中的源Bucket或目标Bucket,否则不能删除。
删除所有Bucket
将delete_bucket
和list_buckets
函数结合,可以删除全部Bucket,参考代码如下:
# 列出全部Bucket
buckets = client.list_buckets()['buckets']
# 遍历删除全部Bucket
buckets.each do |bucket|
while true
options = {}
res = client.list_objects(bucket['name'], options)
res['contents'].each do |object|
client.delete_object(bucket['name'], object['key'])
end
if res['isTruncated']
options[:marker] = res['nextMarker']
else
break
end
end
client.delete_bucket(bucket['name'])
end