PUT Object
API Description
You can use this API to upload an object to a specified bucket.
Object-Related API functions of ObsClient are case insensitive. For example, ObsClient.putObject and ObsClient.PutObject indicate the same function.
Method Definition
ObsClient.putObject
Request Parameter
Field |
Type |
Optional or Mandatory |
Description |
---|---|---|---|
Bucket |
String |
Mandatory |
Bucket name |
Key |
String |
Mandatory |
Object name |
ACL |
String |
Optional |
Pre-defined access control policy specified for the object |
StorageClass |
String |
Optional |
Storage class specified for the object |
Body |
String or stream.Readable |
Optional |
Content of the object to be uploaded. Both character strings and instances of stream.Readable are supported. |
Offset |
Number |
Optional |
Start offset (in bytes) of a part in the source file. This field is effective when SourceFile is set and its default value is 0. |
SourceFile |
String |
Optional |
Path to the source file of the object |
ProgressCallback |
Function |
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). |
Metadata |
Object |
Optional |
Customized metadata of the object |
WebsiteRedirectLocation |
String |
Optional |
Location where the object is redirected to, when the bucket is configured with website hosting |
Expires |
Number |
Optional |
Expiration time of the object, in days |
SuccessActionRedirect |
String |
Optional |
Redirection address after the upload is successful |
ContentType |
String |
Optional |
MIME type of the object |
ContentLength |
Number |
Optional |
Object length. This field is effective when SourceFile is set. |
ContentMD5 |
String |
Optional |
MD5 value of the object (Base64-encoded). It is provided for the OBS server to verify data integrity. |
SseKms |
String |
Optional |
Algorithm used in SSE-KMS encryption. The value can be:
|
SseKmsKey |
String |
Optional |
Master key used in SSE-KMS encryption. This field can be null. |
SseC |
String |
Optional |
Algorithm used in SSE-C encryption. The value can be:
|
SseCKey |
Buffer |
Optional |
Key used to encrypt the object in SSE-C mode, which is calculated by using AES256 |
- Body and SourceFile cannot be used together.
- If both Body and SourceFile are null, the size of the uploaded object is 0 bytes.
Returned Result (InterfaceResult)
Field |
Type |
Description |
---|---|---|
RequestId |
String |
Request ID returned by the OBS server |
ETag |
String |
Object ETag |
VersionId |
String |
Object version ID |
StorageClass |
String |
Storage class of the object. When the storage class is OBS Standard, the value is null. |
SseKms |
String |
Algorithm used in SSE-KMS encryption |
SseKmsKey |
String |
Key used in SSE-KMS encryption |
SseC |
String |
Algorithm used in SSE-C encryption |
SseCKeyMd5 |
String |
MD5 value of the key used in SSE-C encryption |
Sample Code
obsClient.putObject({ Bucket : 'bucketname', Key : 'objectkey', Metadata:{meta1:'value1', meta2:'value2'}, // SourceFile : 'localfile', Body : 'Hello OBS', ContentType: 'text/plain' },(err, result) => { if(err){ console.error('Error-->' + err); }else{ if(result.CommonMsg.Status < 300){ console.log('RequestId-->' + result.InterfaceResult.RequestId); console.log('ETag-->' + result.InterfaceResult.ETag); console.log('VersionId-->' + result.InterfaceResult.VersionId); console.log('StorageClass-->' + result.InterfaceResult.StorageClass); }else{ console.log('Code-->' + result.CommonMsg.Code); console.log('Message-->' + result.CommonMsg.Message); } } });
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot