Modifying Object Metadata
API Description
You can use this API to send a PUT request to the object in a specified bucket to modify its metadata.
Method Definition
ObsClient.setObjectMetadata
Request Parameter
Field |
Type |
Optional or Mandatory |
Description |
---|---|---|---|
Bucket |
String |
Mandatory |
Bucket name |
Key |
String |
Mandatory |
Object name |
VersionId |
String |
Optional |
Object version ID |
Origin |
String |
Optional |
Origin of the cross-domain request specified by the pre-request. Generally, it is a domain name. |
RequestHeader |
String |
Optional |
HTTP headers in the cross-domain request |
MetadataDirective |
String |
Mandatory |
Metadata operation indicator. The value can be REPLACE_NEW or REPLACE. REPLACE_NEW: If the metadata of an existing value is replaced, a value is assigned to the metadata that does not have a value. The metadata that is not specified remains unchanged. REPLACE: Use the header field carried in the current request to replace the original metadata. The metadata that is not specified (except StorageClass) will be deleted. |
CacheControl |
String |
Optional |
Specifies the cache behavior of the web page when the object is downloaded. |
ContentDisposition |
String |
Optional |
Specifies the name of the object when it is downloaded. |
ContentLanguage |
String |
Optional |
Specifies the content language format when an object is downloaded. |
ContentEncoding |
String |
Optional |
Specifies the content encoding format when an object is being uploaded. |
ContentType |
String |
Optional |
Object file type |
Expires |
String |
Optional |
Request expiration time |
Metadata |
Object |
Optional |
Customized metadata of the object |
StorageClass |
String |
Optional |
Specifies the storage class of an object. OBS provides three storage classes: Standard (STANDARD), Infrequent Access (WARM), and Archive (COLD). Therefore, values for this element can be STANDARD, WARM, and COLD. The spell of these values is case sensitive. |
WebsiteRedirectLocation |
String |
Optional |
When the bucket is configured with the website redirection, the request for obtaining the object can be redirected to another object or an external URL in the bucket. |
Returned Result (InterfaceResult)
Field |
Type |
Description |
---|---|---|
RequestId |
String |
Request ID returned by the OBS server |
MetadataDirective |
String |
Metadata operation indicator. The value can be REPLACE_NEW or REPLACE. |
CacheControl |
String |
Specifies the cache behavior of the web page when the object is downloaded. |
Content-Disposition |
String |
Object ETag |
Content-Encoding |
String |
Object version ID |
WebsiteRedirectLocation |
String |
Location where the object is redirected to, when the bucket is configured with website hosting |
StorageClass |
String |
Storage class of the object. When the storage class is Standard, the value is null. |
Content-Language |
String |
If Origin in the request meets the CORS rules of the bucket, AllowedOrigin in the CORS rules is returned. |
Expires |
String |
If AccessControlRequestHeaders in the request meets the CORS rules of the bucket, AllowedHeader in the CORS rules is returned. |
Metadata |
Object |
Customized metadata of the object |
Sample Code
const metadata = { "test": "newmeta" }; const bucketName = 'bucketname'; const objectname = 'objectkey'; obsClient.setObjectMetadata({ Bucket: bucketName, Key: objectname, ContentType: 'application/zip', StorageClass: obsClient.enums.StorageClassStandard, MetadataDirective: 'REPLACE_NEW', Metadata: metadata },(err, result) => { if(err){ console.error('Error-->' + err); }else{ if(result.CommonMsg.Status < 300){ console.log('RequestId-->' + result.InterfaceResult.RequestId); console.log('MetadataDirective-->' + result.InterfaceResult.MetadataDirective); console.log('Metadata-->' + JSON.stringify(result.InterfaceResult.Metadata)); console.log('StorageClass-->' + result.InterfaceResult.StorageClass); }else{ console.log('Status-->' + result.CommonMsg.Status); } } });
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