对象存储

  • 对象存储 > 常见问题 > 其他 >数据迁移 >批量下载与空间备份

    批量下载与空间备份

    最近更新时间: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命令

    以上内容是否对您有帮助?
  • Qvm free helper
    Close