日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Python追加上傳

追加上傳是指通過AppendObject方法在已上傳的追加類型文件(Appendable Object)末尾直接追加內容。

注意事項

  • 本文以華東1(杭州)外網Endpoint為例。如果您希望通過與OSS同地域的其他阿里云產品訪問OSS,請使用內網Endpoint。關于OSS支持的RegionEndpoint的對應關系,請參見OSS地域和訪問域名

  • 本文以OSS域名新建OSSClient為例。如果您希望通過自定義域名、STS等方式新建OSSClient,請參見初始化

  • 要追加上傳,您必須有oss:PutObject權限。具體操作,請參見RAM用戶授權自定義的權限策略

  • 當文件不存在時,調用AppendObject接口會創建一個追加類型文件。

  • 當文件已存在時:

    • 如果文件為追加類型文件,且設置的追加位置和文件當前長度相等,則直接在該文件末尾追加內容。

    • 如果文件為追加類型文件,但是設置的追加位置和文件當前長度不相等,則拋出PositionNotEqualToLength異常。

    • 如果文件為非追加類型文件時,例如通過簡單上傳的文件類型為Normal的文件,則拋出ObjectNotAppendable異常。

示例代碼

以下代碼用于追加上傳文件:

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"

# 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
region = "cn-hangzhou"

# yourBucketName填寫存儲空間名稱。
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# 如需在追加上傳時設置相關Headers,請參考如下示例代碼。
# headers = dict()
# 指定該Object的網頁緩存行為。
# headers['Cache-Control'] = 'no-cache'
# 指定該Object被下載時的名稱。
# headers['Content-Disposition'] = 'oss_MultipartUpload.txt'
# 指定該Object的內容編碼格式。
# headers['Content-Encoding'] = 'utf-8'
# 該請求頭用于檢查消息內容是否與發送時一致。
# headers['Content-MD5'] = 'ohhnqLBJFiKkPSBO1eNaUA=='
# 指定過期日期。
# headers['Expires'] = 'Wed, 08 Jul 2022 16:57:01 GMT'
# 指定Object的訪問權限ACL。此處指定為OBJECT_ACL_PRIVATE,表示私有訪問權限。
# headers['x-oss-object-acl'] = oss2.OBJECT_ACL_PRIVATE
# 指定追加上傳時是否覆蓋同名Object。
# headers['x-oss-forbid-overwrite'] = 'true'
# 指定服務器端加密方式。此處指定為OSS完全托管密鑰進行加密(SSE-OSS)。
# headers[OSS_SERVER_SIDE_ENCRYPTION] = SERVER_SIDE_ENCRYPTION_AES256
# 指定Object的存儲類型。
# headers['x-oss-storage-class'] = oss2.BUCKET_STORAGE_CLASS_STANDARD
# 創建AppendObject時可以添加x-oss-meta-*,繼續追加時不可以攜帶此參數。如果配置以x-oss-meta-*為前綴的參數,則該參數視為元數據。
# headers['x-oss-meta-author'] = 'Alice'
# result = bucket.append_object(exampledir/exampleobject.txt, 0, 'content of first append', headers=headers)

# 設置首次上傳的追加位置(Position參數)為0。
# 填寫不能包含Bucket名稱在內的Object完整路徑,例如exampledir/exampleobject.txt。
result = bucket.append_object('exampledir/exampleobject.txt', 0, 'content of first append')
# 如果不是首次上傳,可以通過bucket.head_object方法或上次追加返回值的next_position屬性,獲取追加位置。
bucket.append_object('<yourObjectName>', result.next_position, 'content of second append')        

相關文檔

  • 關于追加上傳的完整示例代碼,請參見GitHub示例

  • 關于追加上傳的API接口說明,請參見AppendObject