阿里云OSS之九大使用技巧之六:删除一个有大量Object的bucket
http://dev.aliyun.com/read.php?tid=19
有一天,也许你只是看着自己的一个bucket不爽,想删除它。但OSS服务出于保护数据的考虑会温柔地通知你:这个bucket里面还有数据,不能删除它。打开这个bucket一看,成千上万的文件在那里等着你去删。一个一个删,肯定太stupid了。这里教你一个小方法:先获取Object列表,再使用批量删除接口。在Python的SDK中已经封装好了与之对应的接口:
object_list = []
while true:
object_list = my_store.list_objects(bucket_name)
if len(object_list) != 0:
my_store.batch_delete_objects(bucket_name, object_list)
else:
break
这样,删除几万个文件,也就是几十个请求的事情,不但节省了请求次数,更为我们节省了大量的宝贵时间。
from oss_api import *
from oss_xml_handler import *
HOST="oss.aliyuncs.com"
ACCESS_ID = "122******"
SECRET_ACCESS_KEY = "456**********"
oss = OssAPI(HOST, ACCESS_ID, SECRET_ACCESS_KEY)
object_list = [23524]
while true:
object_list = my_store.list_objects(hongg)
if len(object_list) != 0:
my_store.batch_delete_objects(hongg, 23524)
else:
break
-------------------------
-------------------------
-------------------------
移到这里来了:
https://github.com/qhgongzi/ossBox
下载那个ossBox0.3.1.rar
-------------------------
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。