批量下载与空间备份
您好,批量下载,空间备份可以通过以下两种方式实现:
1.调用list接口,遍历空间,获得空间内的文件信息,然后下载。代码逻辑是先调用list接口获得文件名的集合,再与空间域名拼接成url,循环调用download方法下载文件。
https://developer.qiniu.com/kodo/api/1284/list
https://developer.qiniu.com/kodo/manual/1232/download-process
以python为例:
# -*- coding: utf-8 -*-
from qiniu import Auth
from qiniu import BucketManager
import requests
import os
access_key = ''
secret_key = ''
q = Auth(access_key, secret_key)
bucket = BucketManager(q)
bucket_name = 'your_bucket_name'
# 前缀
prefix = None
# 列举条目
limit = 200
# 列举出除'/'的所有文件以及以'/'为分隔的所有前缀
delimiter = None
# 标记
marker = None
path = '/somedir/'
ret, eof, info = bucket.list(bucket_name, prefix, marker, limit, delimiter)
for i in ret['items']:
print(i['key'])
base_url = 'your_bucket_domain/'+i['key']
print(base_url)
#如果空间有时间戳防盗链或是私有空间,可以调用该方法生成私有链接
private_url = q.private_download_url(base_url, expires=100)
print(private_url)
r = requests.get(private_url)
if r.content:
if not os.path.exists(path):
os.makedirs(path)
file = open(path + i['key'], "wb")
file.write(r.content)
file.flush()
file.close()
2.下载备份工具:
http://developer.qiniu.com/docs/v6/tools/qshell.html 使用qdownload命令
文档反馈
(如有产品使用问题,请 提交工单)