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

AppendObject

調用AppendObject接口用于以追加寫的方式上傳文件(Object)。通過AppendObject操作創建的Object類型為Appendable Object,而通過PutObject上傳的ObjectNormal Object。

版本控制

在目標Bucket處于開啟或暫停版本控制狀態下,對Appendable類型Object執行相關操作時,有如下注意事項:

  • 僅允許對當前版本為Appendable類型的Object執行追加上傳(AppendObject)操作,且OSS不會為該Appendable類型的Object生成歷史版本。

    對當前版本為Appendable類型的Object執行PutObjectDeleteObject操作時,OSS會將該Appendable類型的Object保留為歷史版本,但該Object不允許繼續追加。

  • 不支持對非Appendable類型的Object,包括Normal Object、刪除標記(Delete Marker)等執行AppendObject操作。

使用限制

  • 通過AppendObject方式最后生成的Object大小不得超過5 GB。

  • 處于保留策略(WORM)保護期的Object不支持AppendObject操作。

  • AppendableObject不支持指定CMK ID進行服務端KMS加密。

請求語法

POST /ObjectName?append&position=Position HTTP/1.1
Content-Length:ContentLength
Content-Type: ContentType
Host: BucketName.oss.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

當您在OSS ON云盒中調用該接口時,您需要將Host替換為云盒Endpoint。更多信息,請參見云盒Endpoint

請求頭

名稱

類型

是否必選

示例值

描述

Cache-control

字符串

no-cache

指定該Object的網頁緩存行為。更多信息,請參見RFC2616

默認值:無

Content-Disposition

字符串

attachment;filename=oss_download.jpg

指定該Object被下載時的名稱。更多信息,請參見RFC2616

默認值:無

Content-Encoding

字符串

utf-8

指定該Object的內容編碼格式。更多信息,請參見RFC2616

默認值:無

Content-MD5

字符串

ohhnqLBJFiKkPSBO1eNaUA==

Content-MD5是一串由MD5算法生成的值,該請求頭用于檢查消息內容是否與發送時一致。

獲取Content-MD5值:對消息內容(不包括頭部)執行MD5算法,獲得128比特位數字,然后對該數字進行base64編碼。

默認值:無

限制:無

Expires

GMT

Wed, 08 Jul 2015 16:57:01 GMT

過期時間。更多信息,請參見RFC2616

默認值:無

x-oss-server-side-encryption

字符串

AES256

指定服務器端加密方式。

合法值:

  • AES256:使用OSS完全托管密鑰進行加解密(SSE-OSS)。

  • KMS:使用KMS托管密鑰進行加解密。

  • SM4:國密SM4算法。

說明

OSS ON云盒使用場景中,僅支持AES256。

x-oss-object-acl

字符串

private

指定Object的訪問權限。

取值:

  • default(默認):Object遵循所在存儲空間的訪問權限。

  • private:Object是私有資源。只有Object的擁有者和授權用戶有該Object的讀寫權限,其他用戶沒有權限操作該Object。

  • public-read:Object是公共讀資源。只有Object的擁有者和授權用戶有該Object的讀寫權限,其他用戶只有該Object的讀權限。請謹慎使用該權限。

  • public-read-write:Object是公共讀寫資源。所有用戶都有該Object的讀寫權限。請謹慎使用該權限。

關于訪問權限的更多信息,請參見設置Object ACL

x-oss-storage-class

字符串

Standard

指定Object的存儲類型。

對于任意存儲類型的Bucket,如果上傳Object時指定此參數,則此次上傳的Object將存儲為指定的類型。例如在IA類型的Bucket中上傳Object時,如果指定x-oss-storage-classStandard,則該Object直接存儲為Standard。

取值:

  • Standard:標準存儲

  • IA:低頻訪問

  • Archive:歸檔存儲

關于存儲類型的更多信息,請參見存儲類型概述

重要
  • 該請求頭僅在首次追加操作時設置生效,后續追加操作不生效。

  • Appendable類型生成的Object,不支持以任何形式轉換為冷歸檔存儲(Cold Archive)或者深度冷歸檔存儲(Deep Cold Archive)類型。

  • OSS ON云盒使用場景中,僅支持Standard類型。

x-oss-meta-*

字符串

x-oss-meta-location

創建AppendObject時可以添加x-oss-meta-*,繼續追加時不可以攜帶此參數。如果配置以x-oss-meta-*為前綴的參數,則該參數視為元數據。

元數據大小限制:一個Object可以包含多個元數據,但所有的元數據總大小不能超過8 KB。

元數據命名規則:支持短劃線(-)、數字、英文字母(a~z)。英文字符的大寫字母會被轉成小寫字母,不支持下劃線(_)在內的其他字符。

x-oss-tagging

字符串

TagA=A

以鍵值對(Key-Value)的形式指定Object的標簽信息,可同時設置多個標簽,例如TagA=A&TagB=B

重要
  • 該請求頭僅在首次追加操作時設置生效,后續追加操作不生效。

  • KeyValue需進行URL編碼。其中,Key為必選項,Value為可選項,即Object標簽信息可設置為TagA&TagB=B

關于此接口涉及的其他公共請求頭的更多信息,請參見公共請求頭(Common Request Headers)

請求參數

重要

appendposition均為CanonicalizedResource,需要包含在簽名中。

名稱

類型

是否必選

示例值

描述

append

字符串

不涉及

用于指定AppendObject操作。每次執行AppendObject都會更新該Object的最后修改時間。

position

字符串

0

用于指定從何處進行追加。 每次操作成功后,響應消息頭x-oss-next-append-position會標明下一次追加的position。

首次追加操作的position必須為0,后續追加操作的positionObject的當前大小。例如,第一次AppendObject請求指定position值為0,content-length65536,則第二次AppendObject需要指定position65536。

  • position值為0,且不存在同名Object時,則AppendObjectPutObject請求類似,即允許設置x-oss-server-side-encryption等請求頭。如果加入了正確的x-oss-server-side-encryption頭,那么后續的AppendObject響應頭部也會包含x-oss-server-side-encryption頭。后續如需更改元數據,可以使用CopyObject接口。

  • position值正確的情況下,對已存在的Appendable Object追加一個大小為0的內容,該操作不會改變Object的狀態。

響應頭

響應消息頭

類型

示例

描述

x-oss-next-append-position

64位整型

1717

下一次請求應當提供的position,即當前Object大小。

AppendObject執行成功,或者因positionObject大小不匹配而引起的409錯誤時,會返回此消息頭。

x-oss-hash-crc64ecma

64位整型

3231342946509354535

表明Object64CRC值。該64CRCECMA-182標準計算得出。

關于此接口涉及的其他公共響應頭的更多信息,請參見公共響應頭(Common Response Headers)

CRC64的計算方式

Appendable ObjectCRC64采用ECMA-182標準。您可以使用以下方法進行計算:

  • Boost CRC模塊的方式計算

    typedef boost::crc_optimal<64, 0x42F0E1EBA9EA3693ULL, 0xffffffffffffffffULL, 0xffffffffffffffffULL, true, true> boost_ecma;
    uint64_t do_boost_crc(const char* buffer, int length)
    {
        boost_ecma crc;
        crc.process_bytes(buffer, length);
        return crc.checksum();
    }
  • Python crcmod的方式計算

    do_crc64 = crcmod.mkCrcFun(0x142F0E1EBA9EA3693L, initCrc=0L, xorOut=0xffffffffffffffffL, rev=True)
    print do_crc64(“123456789”)

和其他操作的關系

其他操作

關系描述

PutObject

如果對一個已經存在的Appendable Object進行PutObject操作,該Appendable Object會被新的Object覆蓋,類型轉換為Normal Object。

HeadObject

Appendable Object執行HeadObject操作會返回x-oss-next-append-position、x-oss-hash-crc64ecma以及x-oss-object-type。Appendable Objectx-oss-object-typeAppendable。

GetBucket (ListObjects)

GetBucket請求的響應中,會將Appendable ObjectType設為Appendable。

示例

  • 請求示例

    POST /oss.jpg?append&position=0 HTTP/1.1 
    Host: oss-example.oss.aliyuncs.com 
    Cache-control: no-cache 
    Expires: Wed, 08 Jul 2015 16:57:01 GMT 
    Content-Encoding: utf-8 
    x-oss-storage-class: Archive
    Content-Disposition: attachment;filename=oss_download.jpg 
    Date: Wed, 08 Jul 2015 06:57:01 GMT 
    Content-Type: image/jpg 
    Content-Length: 1717 
    Authorization: OSS qn6q**************:77Dv****************  
    [1717 bytes of object data]

    返回示例

    HTTP/1.1 200 OK
    Date: Wed, 08 Jul 2015 06:57:01 GMT
    ETag: "0F7230CAA4BE94CCBDC99C550000****"
    Connection: keep-alive
    Content-Length: 0  
    Server: AliyunOSS
    x-oss-hash-crc64ecma: 14741617095266562575
    x-oss-next-append-position: 1717
    x-oss-request-id: 559CC9BDC755F95A6448****
  • 版本控制請求示例

    對于開啟版本控制的Bucket,AppendObject的響應Header中會返回x-oss-version-id,其值為當前版本Object的版本ID。

    POST /example?append&position=0 HTTP/1.1 
    Host: versioning-append.oss.aliyuncs.com 
    Date: Tue, 09 Apr 2019 03:59:33 GMT
    Content-Length: 3
    Content-Type: application/octet-stream
    Authorization: OSS qn6q**************:77Dv****************

    返回示例

    HTTP/1.1 200 OK
    Date: Tue, 09 Apr 2019 03:59:33 GMT
    ETag: "2776271A4A09D82CA518AC5C0000****"
    Connection: keep-alive
    Content-Length: 0  
    Server: AliyunOSS
    x-oss-version-id: CAEQGhiBgIC_k6aV5RgiIGI3YTY2ZmMzYWJlMzQ3YjM4YTljOTk5YjUyZGF****
    x-oss-hash-crc64ecma: 3231342946509354535
    x-oss-next-append-position: 47
    x-oss-request-id: 5CAC18A5B7AEADE01700****

SDK

此接口所對應的各語言SDK如下:

錯誤碼

錯誤代碼

HTTP 狀態碼

說明

ObjectNotAppendable

409

對一個非Appendable Object進行AppendObject操作。

PositionNotEqualToLength

409

  • position的值和當前Object的長度不一致。

    您可以通過響應頭x-oss-next-append-position得到下一次position,并再次進行請求。由于并發的關系,即使把position的值設置為x-oss-next-append-position,該請求依然可能因為PositionNotEqualToLength而失敗。

  • position值為0時,如果沒有同名Appendable Object,或者同名Appendable Object長度為0,該請求成功;其他情況均視為positionObject長度不匹配的情形,返回此錯誤碼。

InvalidArgument

400

x-oss-storage-classx-oss-object-acl等值設置無效。

FileImmutable

409

Bucket內的數據處于被保護狀態時,如果您嘗試刪除或修改這些數據,將返回此錯誤碼。

KmsServiceNotEnabled

403

使用KMS加密算法時,沒有在控制臺預先開通密鑰管理服務KMS。