阿里雲OSS簡單上傳本地文件


 

上傳本地文件

# -*- coding: utf-8 -*-
import oss2

# 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州為例,其它Region請按實際情況填寫。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<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
from itertools import islice

# 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
# Endpoint以杭州為例,其它Region請按實際情況填寫。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')

for b in islice(oss2.ObjectIterator(bucket), 10):
    print(b.key)

 

如何獲取OSS文件的訪問地址?

OSS的Object地址由域名、bucketName、object組成,具體格式為:bucketName.endpoint/object。

 

 例如:杭州地域的bucket:aaa,其中有一個key為123.txt的Object,如果要通過外網訪問,拼接后的鏈接地址為: aaa.oss-cn-hangzhou.aliyuncs.com/123.txt。其中各個地域的Bucket對應的endpoint,如果Bucket的ACL權限為私有的情況下則需要在上述基礎上至少還要包含Signature,Expires,OSSAccessKeyId三個參數。

 如果Bucket綁定了自定義域名例如abc.example.com,客戶希望通過自定義域名來訪問,只需要將“aaa.oss-cn-hangzhou.aliyuncs.com”更改為abc.example.com即可。具體的自定義域名可以在下圖中的域名管理頁面中查看。


免責聲明!

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



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