批量下载与空间备份

最近更新时间:2017-08-30 17:43:45

您好,批量下载,空间备份可以通过以下两种方式实现:

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命令

以上内容是否对您有帮助?
  • 提交工单