对象存储oss

pip3 install oss2

如果安装失败

sudo python3 -m pip install --upgrade pip

上传文件

import oss2
auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
bucket = oss2.Bucket(auth, Endpoint, Bucket)
oss2.resumable_upload(bucket,  yourObjectName, yourLocalFile)

Endpoint(地域节点)和Bucket( 域名)
这2个参数决定了:您上传文件的最终访问地址。
例如我的Endpoint=‘https://oss-cn-shenzhen.aliyuncs.com’,Bucket=‘mb’
这个地址就是:‘https://mb.oss-cn-shenzhen.aliyuncs.com’;
bucket实际上就是你的oss项目在阿里云上的名字,范围是全体阿里云用户的oss,所以大家的bucket名字是存在着竞争关系的。
endpoint就是你申请好的oss项目的物理服务器。选择了不同的区域,就会有不同的endpoint
yourObjectName,云服务器完整路径,不包含Bucket和Endpoint
yourLocalFile,本地文件的完整路径
上传文件支持断点续传

import sys
def percentage(consumed_bytes, total_bytes):
    if total_bytes:
        rate = int(100 * (float(consumed_bytes) / float(total_bytes)))
        print('\r{0}% '.format(rate), end='')
        sys.stdout.flush()
import oss2
auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
bucket = oss2.Bucket(auth, Endpoint, Bucket)
oss2.resumable_upload(bucket, yourObjectName, yourLocalFile,
                                      store=oss2.ResumableStore(root='/tmp'),
                                      # 指定当文件长度大于或等于可选参数multipart_threshold(默认值为10 MB)时,则使用分片上传。
                                      multipart_threshold=100 * 1024,
                                      # 设置分片大小,单位为字节,取值范围为100 KB~5 GB。默认值为100 KB。
                                      part_size=100 * 1024,
                                      # 设置上传回调进度函数。
                                      progress_callback=percentage,
                                      # 如果使用num_threads设置并发上传线程数,请将oss2.defaults.connection_pool_size设置为大于或等于并发上传线程数。默认并发上传线程数为1。
                                      num_threads=4)

下载文件和上传文件类似,只是函数不同resumable_download和resumable_upload

import sys
def percentage(consumed_bytes, total_bytes):
    if total_bytes:
        rate = int(100 * (float(consumed_bytes) / float(total_bytes)))
        print('\r{0}% '.format(rate), end='')
        sys.stdout.flush()
import oss2
auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
bucket = oss2.Bucket(auth, Endpoint, Bucket)
oss2.resumable_download(bucket, yourObjectName, yourLocalFile,
                                      store=oss2.ResumableStore(root='/tmp'),
                                      # 指定当文件长度大于或等于可选参数multipart_threshold(默认值为10 MB)时,则使用分片上传。
                                      multipart_threshold=100 * 1024,
                                      # 设置分片大小,单位为字节,取值范围为100 KB~5 GB。默认值为100 KB。
                                      part_size=100 * 1024,
                                      # 设置上传回调进度函数。
                                      progress_callback=percentage,
                                      # 如果使用num_threads设置并发上传线程数,请将oss2.defaults.connection_pool_size设置为大于或等于并发上传线程数。默认并发上传线程数为1。
                                      num_threads=4)

官方帮助文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值