华为云对象存储OBS获取对象元数据_云淘科技
功能介绍
拥有对象读权限的用户可以执行HEAD操作命令获取对象元数据,返回信息包含对象的元数据信息。
该操作支持服务端加密功能。
多版本
默认情况下,获取的是最新版本的对象元数据。如果最新版本的对象是删除标记,则返回404。如果要获取指定版本的对象元数据,请求可携带versionId消息参数。
请求消息样式
1 2 3 4 |
HEAD /ObjectName HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Date: date Authorization: authorization |
请求消息参数
请求参数说明如表1所示。
参数名称 |
描述 |
是否必选 |
---|---|---|
versionId |
对象的版本号。 类型:String |
否 |
请求消息头
该请求使用公共消息头,具体请参考表3。
另外该请求可以使用附加的消息头,具体如表2所示。
消息头名称 |
描述 |
是否必选 |
---|---|---|
Origin |
预请求指定的跨域请求Origin(通常为域名)。 类型:String |
否 |
Access-Control-Request-Headers |
实际请求可以带的HTTP头域,可以带多个头域。 类型:String |
否 |
x-obs-server-side-encryption-customer-algorithm |
SSE-C方式下使用该头域,该头域表示解密使用的算法。 类型:String 示例:x-obs-server-side-encryption-customer-algorithm:AES256 约束:需要和x-obs-server-side-encryption-customer-key, x-obs-server-side-encryption-customer-key-MD5一起使用。 |
否。当使用SSE-C方式时,必选。 |
x-obs-server-side-encryption-customer-key |
SSE-C方式下使用该头域,该头域表示解密使用的密钥。 类型:String 示例:x-obs-server-side-encryption-customer-key:K7QkYpBkM5+hca27fsNkUnNVaobncnLht/rCB2o/9Cw= 约束:该头域由256-bit的密钥经过base64-encoded得到,需要和x-obs-server-side-encryption-customer-algorithm,x-obs-server-side-encryption-customer-key-MD5一起使用。 |
否。当使用SSE-C方式时,必选。 |
x-obs-server-side-encryption-customer-key-MD5 |
SSE-C方式下使用该头域,该头域表示解密使用的密钥的MD5值。MD5值用于验证密钥传输过程中没有出错。 类型:String 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== 约束:该头域由密钥的128-bit MD5值经过base64-encoded得到,需要和x-obs-server-side-encryption-customer-algorithm,x-obs-server-side-encryption-customer-key一起使用。 |
否。当使用SSE-C方式时,必选。 |
请求消息元素
该请求消息中不使用消息元素。
响应消息样式
1 2 3 4 5 6 |
HTTP/1.1 status_code Content-Type: type Date: date Content-Length: length Etag: etag Last-Modified: time |
响应消息头
该请求的响应消息使用公共消息头,具体请参考表1。
除公共响应消息头之外,还可能使用如下表3中的消息头。
消息头名称 |
描述 |
---|---|
x-obs-expiration |
当对象单独设置了对象lifecycle,过期时间以对象lifecycle为准,该消息头用expiry-date描述对象的详细过期信息;如果对象没有设置对象lifecycle,设置了桶级别lifecycle,过期时间以桶级别lifecycle为准,该消息头用expiry-date和rule-id两个键值对描述对象的详细过期信息;否则不显示该头域。 类型:String |
x-obs-website-redirect-location |
当桶设置了Website配置,就可以设置对象元数据的这个属性,Website接入点返回301重定向响应,将请求重定向到该属性指定的桶内的另一个对象或外部的URL。 类型:String |
x-obs-version-id |
对象的版本号。如果该对象无版本号,则响应中不会出现该消息头。 类型:String 默认值:无 |
Access-Control-Allow-Origin |
当桶设置了CORS配置,如果请求的Origin满足服务端的CORS配置,则在响应中包含这个Origin。 类型:String |
Access-Control-Allow-Headers |
当桶设置了CORS配置,如果请求的headers满足服务端的CORS配置,则在响应中包含这个headers。 类型:String |
Access-Control-Max-Age |
当桶设置了CORS配置,服务端CORS配置中的MaxAgeSeconds。 类型:Integer |
Access-Control-Allow-Methods |
当桶设置了CORS配置,如果请求的Access-Control-Request-Method满足服务端的CORS配置,则在响应中包含这条rule中的Methods。 类型:String 有效值:GET、PUT、HEAD、POST 、DELETE |
Access-Control-Expose-Headers |
当桶设置了CORS配置,服务端CORS配置中的ExposeHeader。 类型:String |
x-obs-server-side-encryption |
如果服务端加密是SSE-KMS方式,响应包含该头域。 类型:String 示例:x-obs-server-side-encryption:kms |
x-obs-server-side-data-encryption |
如果服务端加密是SSE-KMS方式,且数据加密算法为SM4,响应包含该头域。 类型:String 示例:x-obs-server-side-data-encryption:SM4 |
x-obs-server-side-encryption-kms-key-id |
如果服务端加密是SSE-KMS方式,响应包含该头域,该头域表示主密钥。 类型:String 格式为: regionID:domainID(租户ID):key/key_id. 其中regionID是使用密钥所属region的ID;domainID是使用密钥所属租户的租户ID;key_id是本次加密使用的密钥ID。 示例: x-obs-server-side-encryption-kms-key-id:cn-north-4:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0 |
x-obs-server-side-encryption-customer-algorithm |
如果服务端加密是SSE-C方式,响应包含该头域,该头域表示解密使用的算法。 类型:String 示例:x-obs-server-side-encryption-customer-algorithm:AES256 |
x-obs-server-side-encryption-customer-key-MD5 |
如果服务端加密是SSE-C方式,响应包含该头域,该头域表示解密使用的密钥的MD5值。 类型:String 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== |
x-obs-storage-class |
对象为非标准存储对象时,会返回此头域,可取值为:WARM或者COLD、DEEP_ARCHIVE 类型:String |
x-obs-restore |
对象为归档或深度归档存储类型,并且处于正在恢复或已经恢复时,会返回此头域。表示对象的恢复状态:正在恢复ongoing-request=”true”;已恢复 ongoing-request=”false”, expiry-date=”Wed, 7 Nov 2012 00:00:00 GMT”。其中expiry-date表示对象恢复后的失效时间。 类型:String |
x-obs-object-type |
对象为非Normal对象时,会返回此头域,可取值为:Appendable 类型:String |
x-obs-next-append-position |
对象为Appendable对象时,会返回此头域 类型:Integer |
x-obs-uploadId |
对象为多段上传任务合并而来时,会返回此头域,头域值表示对应的多段任务ID 类型:String |
x-obs-object-lock-mode |
应用于此对象的WORM模式,目前仅支持COMPLIANCE,即合规模式,仅当对象有配置过对象级WORM保护策略或应用桶级默认WORM策略时返回,需要有GetObjectRetention权限。 类型:String 示例:x-obs-object-lock-mode:COMPLIANCE |
x-obs-object-lock-retain-until-date |
此对象的锁定过期的截止时间,格式要求为UTC时间,并符合ISO 8601标准。如:2015-07-01T04:11:15Z,仅当对象有配置过对象级WORM保护策略或应用桶级默认WORM策略时返回,需要有GetObjectRetention权限。 类型:String 示例:x-obs-object-lock-retain-until-date:2015-07-01T04:11:15Z |
响应消息元素
该请求的响应消息中不带消息元素。
错误响应消息
无特殊错误;所有错误已经包含在表2中。
请求示例
1 2 3 4 5 6 |
HEAD /object1 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:19:25 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:/cARjk81l2iExMfQqn6iT3qEZ74= |
响应示例
1 2 3 4 5 6 7 8 9 10 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D3E4BB5905C41B6E65B6 Accept-Ranges: bytes ETag: "3b46eaf02d3b6b1206078bb86a7b7013" Last-Modified: WED, 01 Jul 2015 01:19:21 GMT Content-Type: binary/octet-stream x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSD3nAiTaBoeyt9oHp9vTYtXnLDmwV6D Date: WED, 01 Jul 2015 04:19:21 GMT Content-Length: 4572 |
请求示例:当Bucket启用版本控制时获取对象元数据
HEAD /object1?versionId=G001118A49821905FFFFD28739D419DA HTTP/1.1 Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4= User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Date: WED, 01 Jul 2015 02:37:22 GMT Content-Type: application/xml
响应示例:当Bucket启用版本控制时获取对象元数据
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCShLiL70qeT0g5qpMquCeztsnr1jJmRs Accept-Ranges: bytes x-obs-request-id: 0000018A4986DDCDD24538ACF6B54255 Server: OBS ETag: \ x-obs-tagging-count: 0 Last-Modified: Thu, 31 Aug 2013 02:52:57 GMT Content-Length: 0 Date: WED, 01 Jul 2015 02:37:22 GMT Content-Type: text/plain x-obs-version-id: G001118A49821905FFFFD28739D419DA
父主题: 对象操作
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家