• Object Storage Service

obs
  1. Help Center
  2. Object Storage Service
  3. API Reference (Node.js SDK)
  4. Objects-Related APIs
  5. PUT Object

PUT Object

API Description

You can use this API to upload an object to a specified bucket.

Method Definition

ObsClient.putObject(parameter, callback)

Request Parameter

Field

Type

Optional or Mandatory

Description

Bucket

String

Mandatory

Bucket name

Key

String

Mandatory

Object name

ACL

String

Optional

Pre-defined access policy specified during an object creation. Possible values are:

  • ObsClient.enums.AclPrivate
  • ObsClient.enums.AclPublicRead
  • ObsClient.enums.AclPublicReadWrite
  • ObsClient.enums.AclAuthenticatedRead
  • ObsClient.enums.AclBucketOwnerRead
  • ObsClient.enums.AclBucketOwnerFullControl

StorageClass

String

Optional

Storage class specified for the to-be-created object. Possible values are:

  • ObsClient.enums.StorageClassStandard
  • ObsClient.enums.StorageClassWarm
  • ObsClient.enums.StorageClassCold

Body

String

or stream.Readable

Optional

Content of the object to be uploaded. Both character strings and instances of stream.Readable are supported.

SourceFile

String

Optional

Path to the source file of the object

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

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:

  • aws:kms

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:

  • AES256

SseCKey

Buffer

Optional

Key used to encrypt the object in SSE-C mode, which is calculated by using AES256

NOTE:
  • 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);
              }
       }
});