python使用阿里雲oss-sdk


python使用阿里雲oss-python-sdk

安裝

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為該文件的訪問地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM