获取对象元数据
功能说明
对指定桶中的对象发送HEAD请求,获取对象的元数据信息。
方法定义
ObsClient.getObjectMetadata
请求参数
字段名 |
类型 |
约束 |
说明 |
---|---|---|---|
Bucket |
String |
必选 |
桶名。 |
Key |
String |
必选 |
对象名。 |
VersionId |
String |
可选 |
对象的版本号。 |
Origin |
String |
可选 |
预请求指定的跨域请求Origin(通常为域名)。 |
RequestHeader |
String |
可选 |
跨域请求可以使用的HTTP头域。 |
SseC |
String |
可选 |
以SSE-C方式解密对象,支持的值:
|
SseCKey |
Buffer |
可选 |
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 |
归档存储类型对象的取回状态。 |
AllowOrigin |
String |
如果请求中的Origin满足桶的CORS规则,则返回CORS规则中的AllowedOrigin。 |
AllowHeader |
String |
如果请求的AccessControlRequestHeaders满足桶的CORS规则,则返回CORS规则中的AllowedHeader。 |
AllowMethod |
String |
桶CORS规则中的AllowedMethod。 |
ExposeHeader |
String |
桶CORS规则中的ExposeHeader。 |
MaxAgeSeconds |
String |
桶CORS规则中的MaxAgeSeconds。 |
SseKms |
String |
SSE-KMS方式的算法。 |
SseKmsKey |
String |
SSE-KMS方式的主密钥。 |
SseC |
String |
SSE-C方式的算法。 |
SseCKeyMd5 |
String |
SSE-C方式的密钥的MD5值。 |
Expiration |
String |
对象的详细过期信息。 |
Metadata |
Object |
对象自定义元数据。 |
ObjectType |
String |
对象是否可被追加上传。 |
NextPosition |
String |
下次追加上传的位置。 |
代码样例
obsClient.getObjectMetadata({ Bucket:'bucketname', Key : 'objectkey' },(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('Metadata-->' + JSON.stringify(result.InterfaceResult.Metadata)); console.log('LastModified-->' + result.InterfaceResult.LastModified); console.log('StorageClass-->' + result.InterfaceResult.StorageClass); }else{ console.log('Status-->' + result.CommonMsg.Status); } } });