更新时间:2023-02-21 GMT+08:00

获取对象元数据

功能说明

对指定桶中的对象发送HEAD请求,获取对象的元数据信息。

方法定义

ObsClient.getObjectMetadata

请求参数

字段名

类型

约束

说明

Bucket

String

必选

桶名。

Key

String

必选

对象名。

RequestDate

String

Date

可选

指定请求时间。

说明:

当为String类型时,必须符合ISO8601或RFC822规范。

VersionId

String

可选

对象的版本号。

SseC

String

可选

以SSE-C方式解密对象,支持的值:

  • AES256

SseCKey

String

可选

SSE-C方式下解密的密钥,由AES256算法算出。

返回结果(InterfaceResult)

字段名

类型

说明

RequestId

String

OBS服务端返回的请求ID。

LastModified

String

对象的最近一次修改时间。

ContentLength

String

对象数据的长度。

ContentType

String

对象的MIME类型。

ETag

String

对象的ETag值。

VersionId

String

对象的版本号。

WebsiteRedirectLocation

String

当桶设置了Website配置,该参数指明对象的重定向地址。

StorageClass

String

对象的存储类型,当对象存储类型是标准存储时,该值为空。

Restore

String

归档存储类型对象的恢复状态。

Expiration

String

对象的详细过期信息。

Metadata

Object

对象自定义元数据。需要在桶的CORS配置中增加允许响应中可返回的附加头域。例如,新增x-obs-meta-property1以获取自定义元数据property1。

ObjectType

String

对象是否可被追加上传。

NextPosition

String

下次追加上传的位置。

代码样例

obsClient.getObjectMetadata({
       Bucket:'bucketname',
       Key : 'objectkey'
},function (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('ContentLength-->' + result.InterfaceResult.ContentLength);
                     console.log('Expiration-->' + result.InterfaceResult.Expiration);
                     console.log('LastModified-->' + result.InterfaceResult.LastModified);
                     console.log('StorageClass-->' + result.InterfaceResult.StorageClass);
              }else{
                     console.log('Code-->' + result.CommonMsg.Status);
              }
       }
});