python 操作阿里雲oss 對象存儲上傳下載文件

python 操作阿里雲對象存儲oss

  • 阿里雲賬號要有操作oss 權限
  • 安裝 OSS SDK
pip install oss2  
  • 上傳文件
# -*- coding: utf-8 -*-
import oss2
import os
# 阿里雲賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM用戶進行API訪問或日常運維,請登錄RAM控制檯創建RAM用戶。
auth = oss2.Auth('xxx', 'yyy')
# yourEndpoint填寫Bucket所在地域對應的Endpoint。以華東1(杭州)爲例,Endpoint填寫爲https://oss-cn-hangzhou.aliyuncs.com。
# 填寫Bucket名稱。
bucket = oss2.Bucket(auth, 'oss-cn-beijing.aliyuncs.com', 'ddd')

# 必須以二進制的方式打開文件。
# 填寫本地文件的完整路徑。如果未指定本地路徑,則默認從示例程序所屬項目對應本地路徑中上傳文件。
# with open('D:\\測試照片\\robot.jpg', 'rb') as fileobj:
#     # Seek方法用於指定從第1000個字節位置開始讀寫。上傳時會從您指定的第1000個字節位置開始上傳,直到文件結束。
#     fileobj.seek(1000, os.SEEK_SET)
#     # Tell方法用於返回當前位置。
#     current = fileobj.tell()
#     # 填寫Object完整路徑。Object完整路徑中不能包含Bucket名稱。
#     bucket.put_object('robot.jpg', fileobj)

bucket.put_object_from_file('demo_img/robot.jpg', 'D:\\測試照片\\robot.jpg')
  • 下載文件
# -*- coding: utf-8 -*-
import oss2

# 阿里雲賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄RAM控制檯創建RAM賬號。
auth = oss2.Auth('xxx', 'yyy')
# Endpoint以杭州爲例,其它Region請按實際情況填寫。
# 填寫Bucket名稱,例如examplebucket。
bucket = oss2.Bucket(auth, 'oss-cn-beijing.aliyuncs.com', 'ddd')

# 填寫Object完整路徑,完整路徑中不包含Bucket名稱,例如testfolder/exampleobject.txt。
# 下載Object到本地文件,並保存到指定的本地路徑D:\\localpath\\examplefile.txt。如果指定的本地文件存在會覆蓋,不存在則新建。
bucket.get_object_to_file('demo_img/robot.jpg', 'D:\\測試照片\\robot.jpg')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章