又拍云云存储python上传脚本实战

运维干货 2年前 (2022) 导航君
280 0 0

又拍云云存储python上传脚本实战

注册又拍云账号

注册可以点击我《《,注册完并且实名,加入又拍云联盟可以有免费一个月10G云存储使用

使用又拍云api接口

  • 点击创建服务
    又拍云云存储python上传脚本实战
  • 创建一个新的授权操作员
    又拍云云存储python上传脚本实战

使用python脚本实现上传

  • cat push_file_to_upyun.py
# -*- coding: utf-8 -*-

import upyun,sys
from upyun import FileStore
from upyun import print_reporter

# 并行上传

if len(sys.argv) != 3:
    print("输入错误")
    print("例子:python2.7 push_file_to_upyun.py showdoc 20220417-html.tar.gz")
    sys.exit(2)

# 需要填写自己的存储服务名,操作员名,密码
service = ""
username = ""
password = ""

# 需要填写上传文件的本地路径和云存储路径
local_file = "/data/backup/" + sys.argv[2]
remote_file = sys.argv[1] + '/' + sys.argv[2]
up = upyun.UpYun(service, username, password, timeout=30, endpoint=upyun.ED_AUTO)

# created iterator of file
def file_iterator(file):
    with open(file, 'rb') as f:
        while True:
            chunk_data = f.read(10*1024*1024) # block size
            if chunk_data == b'':
                break
            yield chunk_data
uploader = up.init_multi_uploader(remote_file,
                            part_size=10*1024*1024,  # block_size 分片大小10M
                            headers={'X-Upyun-Multi-Type':'application/octet-stream'},
                             ) # 上传文件的 MIME 类型,默认 application/octet-stream,建议自行设置。
i = 0
for chunk_data in file_iterator(local_file):
    uploader.upload(i, chunk_data)
    i += 1
else:
    res = uploader.complete()
    print("Done!")

说明:
service = "" #对应服务名
username = "" ##操作员
password = "" ##密码

使用说明

  • 在/data/backup 目录下放文件
  • 执行 python2.7 push_file_to_upyun.py showdoc 20220417-html.tar.gz
  • showdoc --》远程分级目录,自动创建
  • 20220417-html.tar.gz --》 本地/data/backup的文件
版权声明:导航君 发表于 2022年5月24日 下午11:30。
转载请注明:又拍云云存储python上传脚本实战 | 第八网址导航

相关文章

暂无评论

暂无评论...