码迷,mamicode.com
首页 > 编程语言 > 详细

python使用阿里云oss-sdk

时间:2020-04-27 11:37:05      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:返回   public   object   方式   使用   span   hub   set   地址   

安装

pip install oss2

安装验证

>>> import oss2
>>> oss2.__version__
‘‘2.8.0‘‘
上面的输出表明您已经成功安装了Python SDK 2.8.0。

创建存储空间

import oss2
auth = oss2.Auth(‘<yourAccessKeyId>‘, ‘<yourAccessKeySecret>‘)

bucket = oss2.Bucket(auth, ‘<your Endpoint >‘, ‘<yourBucketName>‘)
bucket.create_bucket(oss2.models.BUCKET_ACL_PRIVATE) # 设置为存储空间为私有读写权限

访问权限设置

  • 私有:BUCKET_ACL_PRIVATE
  • 公共读:BUCKET_ACL_PUBLIC_READ
  • 公共读写 :BUCKET_ACL_PUBLIC_READ_WRITE

简单上传文件

  • 上传本地文件
import oss2

# 登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth(‘<yourAccessKeyId>‘, ‘<yourAccessKeySecret>‘)
bucket = oss2.Bucket(auth, ‘<your Endpoint >‘, ‘<yourBucketName>‘)

# 必须以二进制的方式打开文件,因为需要知道文件包含的字节数。
with open(‘<yourLocalFile>‘, ‘rb‘) as fileobj:
    # Seek方法用于指定从第1000个字节位置开始读写。上传时会从您指定的第1000个字节位置开始上传,直到文件结束。
    fileobj.seek(1000, os.SEEK_SET)
    # Tell方法用于返回当前位置。
    current = fileobj.tell()
    bucket.put_object(‘<yourObjectName>‘, fileobj)
  • 网络流上传
# -*- coding: utf-8 -*-
import oss2
import requests


auth = oss2.Auth(‘<yourAccessKeyId>‘, ‘<yourAccessKeySecret>‘)
bucket = oss2.Bucket(auth, ‘<your Endpoint >‘, ‘<yourBucketName>‘)

# requests.get返回的是一个可迭代对象(Iterable),此时Python SDK会通过Chunked Encoding方式上传。
input = requests.get(‘http://www.aliyun.com‘)
bucket.put_object(‘<yourObjectName>‘, input)

put_object返回对象的resp.response.url为该文件的访问地址

python使用阿里云oss-sdk

标签:返回   public   object   方式   使用   span   hub   set   地址   

原文地址:https://www.cnblogs.com/luochunxi/p/12785271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
分享档案
周排行
mamicode.com排行更多图片
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!