追加寫上傳
更新時間 2024-04-28 17:56:34
最近更新時間: 2024-04-28 17:56:34
分享文章
接口介紹
此接口用于以追加寫的方式上傳對象。區別于通過PutObject上傳的Normal Object,通過AppendObject操作上傳的對象類型為Appendable Object。
接口約束
當存儲桶開啟多版本的情況下不支持通過追加寫上傳對象。當對象處于合規保留政策保護期內時不支持追加寫操作。
請求URI
PUT /v1/{bucket}/{objectName}
路徑參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 |
|---|---|---|---|---|
| bucket | 是 | String | 桶名稱。 | testBucket |
| objectName | 是 | String | 對象名稱。 | test |
Query參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| append | 是 | String | 固定參數。 | ||
| position | 是 | Integer | 指定對象追加為位置。 每次追加寫成功后,響應消息頭會返回下一次追加的position。首次追加操作的position必須為0,后續追加操作的position是對象的當前大小。 | 48 |
注: 如果query中的參數為固定參數,可以傳參數名或傳空。
請求參數
請求頭header參數
此接口涉及的其他公共請求頭,例如Host、Date等的更多信息,請參見公共HTTP頭。
請求體body參數
必傳,對應為需要實際上傳的數據部分。
響應參數
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| x-rgw-next-append-position | Integer | 下一次請求應當提供的position,即當前對象大小。 | -- | |
| x-amz-next-append-position | Integer | 同x-rgw-next-append-position。 | -- |
請求示例
PUT /v1/testbucket/test?append&position=48 HTTP/1.1
請求頭header
Host: gdoss.xstore.daliqc.cn
Date: Wed, 28 Oct 2023 09:32:00 GMT
Authorization: authorization string
Content-Type: text/plain
Content-Length: 1145
請求體body
實際文件數據。
響應示例
HTTP/1.1 200 OK
x-amz-request-id: 0A49CE4060975EAC
x-rgw-next-append-position: 100
x-amz-next-append-position: 100
Date: Wed, 12 Oct 2009 17:50:00 GMT
ETag: "1b2cf535f27731c974343645a3985328"
狀態碼
| HTTP狀態 | 描述 |
|---|---|
| 200 | 操作成功。 |
| 400 | 上傳的文件太大。 |
| 400 | 對象的名字不合法。 |
| 403 | 用戶沒有權限執行操作。 |
| 404 | 操作指定的桶不存在。 |
| 409 | 請求參數中position的值與對象追加前的大小不一致。 |
| 409 | 對象類型不支持追加寫操作。 |
| 409 | 桶版本控制設置為enabled或suspended。 |