如果你和我一样,有很多历史的文件存储在七牛上,但如今已经不再需要使用,那么就可以考虑删除七牛的存储空间,来节省费用。
但七牛为了保证安全,所以要求必须删除所有的文件后才能删除空间,以避免误删除,所以需要一个个删除所有的文件。为了快速删除七牛存储空间的文件,我写了个简单的脚本,帮助你快速删除七牛空间下的所有文件。
具体操作可参考如下脚本,你只需要
- 在本地安装七牛 SDK :
pip install qiniu
; - 创建一个新文件
run.py
并复制下方的代码,修改其中的访问密钥和存储空间名称 - 执行
python run.py
就可以了。
# -*- coding: utf-8 -*-
# 导入七牛云 SDK 所需的模块
from qiniu import Auth
from qiniu import BucketManager, build_batch_delete
# 七牛云账号的访问密钥
access_key = '你的 ACCESS Key'
secret_key = '你的 Secret Key'
# 要清理的存储空间名称
bucket_name = '你要清空的空间名称'
# 使用 AK、SK 初始化授权对象
q = Auth(access_key, secret_key)
# 初始化存储空间管理器
bucket = BucketManager(q)
# 设置每次列举的最大条目数
limit = 1000
# 循环列举并删除存储空间中的文件
while True:
# 列举存储空间中的文件
# ret: 包含文件信息的字典
# eof: 是否已列举完所有文件
# info: 请求的状态信息
ret, eof, info = bucket.list(bucket=bucket_name)
# 从返回结果中提取文件名列表
keys = [item['key'] for item in ret['items']]
# 构建批量删除操作
ops = build_batch_delete(bucket_name, keys)
# 执行批量删除操作
ret, info = bucket.batch(ops)
# 检查删除操作是否成功
if info.status_code == 200:
print(f"success delete {len(keys)} files!")
# 判断是否已经列举完所有文件
if eof:
break
else:
continue
# 输出清理完成的提示信息
print(f"delete all files in {bucket_name}")
Code language: Python (python)
执行成功后,你会看到如下面这样的命令,接下来等他自动执行即可,你就不用做任何事情了。

当工具提示你 delete all files in 你的 kodo 名时,你就可以回到七牛控制台,删除掉空的 kodo 了。
