Upload Part

最近更新时间:2020-02-17 14:56:34

Upload Part


Description

This operation will upload a block in the block upload task.

Before you upload any block, you must start a block upload task. After you send a startup request, KS3 will give you a unique upload ID. Each time you upload a block, you need to include the upload ID in the request.

The number of blocks can be any one of 1 to 10000 inclusive. Block ordinal is used to identify a block and its location at the time of object creation. If you upload a new block and use the previously used serial number, the previous block will be overwritten. When the total size of all blocks is greater than 5M, except that the last block has no size limit, the size of other blocks shall be more than 5MB. When the total size of all blocks is less than 5M, except for the last block without size limit, the size of other blocks is required to be more than 100k. If the above requirements are not met, 413 status code will be returned.

To ensure that the data is not damaged during transmission, please use the Content-MD5 header. When using this header, KS3 will automatically calculate MD5 and verify it according to MD5 provided by the user. If it does not match, an error message will be returned

Attention When you start to upload in blocks and start to upload in blocks, you must complete or give up the upload task to terminate the charges caused by storage.

Request

Syntax

PUT /{ObjectKey}?partNumber={PartNumber}&uploadId={UploadId} HTTP/1.1
Host: {BucketName}.{endpoint}
Date: {date}
Content-Length: {Size}
Authorization: {SignatureValue}

Attention:

Request Parameters

The request does not use the request parameter.

Request Headers

The interface can use all common request headers. For more information, please click Common Request Headers

Name Description Required
Content-Length Indicates the size of the object, in bytes. For more information, please click http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html## sec14.13
Type:String
Default:None
Constraints:None
Yes
Content-MD5 base64 encrypts MD5 information, 128 bits, for object integrity verification.
Type:String
Default:None
Constraints:None
No
Expect When you use 100-continue, the request body will not be sent until the confirmation is received. If the header is rejected, the request body will not be sent
Type:String
Default:None
Valid Value:100-continue
Constraints:None
No

Request Elements

The interface does not use the requested content.

Response

Response Headers

This interface can use all common response headers. For more information, please click Common Response Headers

Name Description
x-kss-server-side-encryption If server-side encryption is used to store object, the response will contain the header, and the value is the encryption algorithm used.
Type:String
x-kss-server-side-encryption-customer-algorithm If the server uses the encryption key provided by the user for encryption, the response will include the header to confirm the decryption algorithm used when the request is decrypted.
Type:String
Valid Value:AES256
x-kss-server-side-encryption-customer-key-MD5 If the server uses the encryption key provided by the user for encryption, the response will include the header to provide the data consistency verification information of the encryption key provided by the user when the request is decrypted.
Type:String

Response Elements

The interface does not use response content.

Special Errors

Error Code Description HTTP Status Code SOAP Prefix of Error Code
NoSuchUpload The specified chunk upload task does not exist. It may be that the upload ID is invalid, or the block upload task has been completed or abandoned. 404 Not Found Client

Examples

Sample Request

PUT /my-video.rm ?partNumber=2 &uploadId= 1aa9cfad5e2e405c8f27965feb8b60cc HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyun.com
Date: Mon, 1 Nov 2010 20:34:56 GMT
Content-Length: 10485760
Content-MD5: pUNXr/BjKK5G2UKvaRRrOA==
Authorization: authorization string

part data omitted

Sample Response

HTTP/1.1 200 OK
Date: Mon, 1 Nov 2010 20:34:56 GMT
ETag: "b54357faf0632cce46e942fa68356b38"
Content-Length: 0
Connection: keep-alive
Server: Tengine

Interface Detail Analysis

  • UploadId is obtained during initialization of block upload
  • PartNumber needs to be an ascending sequential number in a range of 1 to 10000. Otherwise, when Complete Multipart Upload, KS3 may return an incorrect status code.

金山云,开启您的云计算之旅

注册有礼