PUT Object
API Description
You can use this API to upload an object to a specified bucket.
![](https://support.huaweicloud.com/eu/api-obs_nodejs_sdk_api_en/public_sys-resources/note_3.0-en-us.png)
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 |
![](https://support.huaweicloud.com/eu/api-obs_nodejs_sdk_api_en/public_sys-resources/note_3.0-en-us.png)
- 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.