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

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

注意事項(xiàng)

  • 本文以華東1(杭州)外網(wǎng)Endpoint為例。如果您希望通過(guò)與OSS同地域的其他阿里云產(chǎn)品訪問(wèn)OSS,請(qǐng)使用內(nèi)網(wǎng)Endpoint。關(guān)于OSS支持的Region與Endpoint的對(duì)應(yīng)關(guān)系,請(qǐng)參見(jiàn)訪問(wèn)域名和數(shù)據(jù)中心

  • 本文以O(shè)SS域名新建OSSClient為例。如果您希望通過(guò)自定義域名、STS等方式新建OSSClient,請(qǐng)參見(jiàn)初始化。

  • 要追加上傳,您必須有oss:PutObject權(quán)限。具體操作,請(qǐng)參見(jiàn)為RAM用戶授權(quán)自定義的權(quán)限策略。

  • 當(dāng)文件不存在時(shí),調(diào)用AppendObject接口會(huì)創(chuàng)建一個(gè)追加類(lèi)型文件。

  • 當(dāng)文件已存在時(shí):

    • 如果文件為追加類(lèi)型文件,且設(shè)置的追加位置和文件當(dāng)前長(zhǎng)度相等,則直接在該文件末尾追加內(nèi)容。

    • 如果文件為追加類(lèi)型文件,但是設(shè)置的追加位置和文件當(dāng)前長(zhǎng)度不相等,則拋出PositionNotEqualToLength異常。

    • 如果文件為非追加類(lèi)型文件時(shí),例如通過(guò)簡(jiǎn)單上傳的文件類(lèi)型為Normal的文件,則拋出ObjectNotAppendable異常。

示例代碼

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

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

# 從環(huán)境變量中獲取訪問(wèn)憑證。運(yùn)行本代碼示例之前,請(qǐng)確保已設(shè)置環(huán)境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# yourEndpoint填寫(xiě)B(tài)ucket所在地域?qū)?yīng)的Endpoint。以華東1(杭州)為例,Endpoint填寫(xiě)為https://oss-cn-hangzhou.aliyuncs.com。
# 填寫(xiě)B(tài)ucket名稱(chēng)。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

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

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

相關(guān)文檔

  • 關(guān)于追加上傳的完整示例代碼,請(qǐng)參見(jiàn)GitHub示例。

  • 關(guān)于追加上傳的API接口說(shuō)明,請(qǐng)參見(jiàn)AppendObject。