Uploading a Part
API Description
After a multipart upload is initialized, you can use this API to upload a part to a specified bucket by using the multipart upload ID. Except for the part last uploaded whose size ranges from 0 to 5 GB, sizes of the other parts range from 100 KB to 5 GB. The upload part ID ranges from 1 to 10000.
Method Definition
ObsClient.uploadPart(bucketName, objectKey, partNumber, uploadId, object, isFile, partSize, offset, sseHeader, isAttachMd5, md5, progressCallback, autoClose)
Request Parameters
|
Field |
Type |
Optional or Mandatory |
Description |
|---|---|---|---|
|
bucketName |
str |
Mandatory |
Bucket name |
|
objectKey |
str |
Mandatory |
Object name |
|
partNumber |
int |
Mandatory |
Part number, which ranges from 1 to 10000 |
|
uploadId |
str |
Mandatory |
Multipart upload ID |
|
object |
str or readable object |
Mandatory |
Part content to be uploaded |
|
isFile |
bool |
Optional |
Whether object indicates the file path. The default value is False. |
|
offset |
int |
Optional |
Start offset (in bytes) of a part in the source file. The default value is 0. |
|
partSize |
int |
Optional |
Size (in bytes) of a part in the source file. The default value is the file size minus offset. |
|
sseHeader |
Optional |
Header for server-side encryption |
|
|
isAttachMd5 |
bool |
Optional |
Whether to automatically calculate the MD5 value of the data to be uploaded. If md5 is configured, this field will be ignored |
|
md5 |
str |
Optional |
Base64-encoded MD5 value of the part to be uploaded. It is provided for the OBS server to verify data integrity. |
|
progressCallback |
callable |
Optional |
Callback function for obtaining the upload progress
NOTE:
This callback function contains the following parameters in sequence: number of uploaded bytes, total bytes, and used time (unit: second). |
|
autoClose |
bool |
Optional |
After the upload is complete, data flow is automatically closed. The default value is True. |
- If isAttachMd5 and md5 are used at the same time, isAttachMd5 is ignored.
- If isFile is True, object indicates the path to the file to be uploaded. If isFile is False and object is a readable object that contains the read attribute, data can be read from the object, otherwise the object content is a character string.
Returned Results
|
Type |
Description |
|---|---|
|
SDK common result object |
|
GetResult.body Type |
Description |
|---|---|
|
Response result of the request for uploading a part |
Sample Code
try:
resp = obsClient.uploadPart('bucketname', 'objectkey', 'partNumber', 'uploadid', 'Hello OBS')
if resp.status < 300:
print('requestId:', resp.requestId)
print('etag:', resp.body.etag)
else:
print('errorCode:', resp.errorCode)
print('errorMessage:', resp.errorMessage)
except:
import traceback
print(traceback.format_exc())
Last Article: Initializing a Multipart Upload
Next Article: Listing Uploaded Parts
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.