获取对象元数据
功能说明
对指定桶中的对象发送HEAD请求,获取对象的元数据信息。
方法定义
1. ObsClient->getObjectMetadata(array $parameter) 2. ObsClient->getObjectMetadataAsync(array $parameter, callable $callback)
请求参数
字段名 |
类型 |
约束 |
说明 |
---|---|---|---|
Bucket |
string |
必选 |
桶名。 |
Key |
string |
必选 |
对象名。 |
VersionId |
string |
可选 |
对象的版本号。 |
Origin |
string |
可选 |
预请求指定的跨域请求Origin(通常为域名)。 |
RequestHeader |
string |
可选 |
跨域请求可以使用的HTTP头域。 |
SseC |
string |
可选 |
以SSE-C方式解密对象,支持的值:
|
SseCKey |
string |
可选 |
SSE-C方式下解密的密钥,由AES256算法算出。 |
返回结果
字段名 |
类型 |
说明 |
---|---|---|
HttpStatusCode |
integer |
HTTP状态码。 |
Reason |
string |
HTTP文本描述。 |
RequestId |
string |
OBS服务端返回的请求ID。 |
LastModified |
string |
对象的最近一次修改时间。 |
ContentLength |
integer |
对象数据的长度。 |
ContentType |
string |
对象的MIME类型。 |
ETag |
string |
对象的ETag值。 |
VersionId |
string |
对象的版本号。 |
WebsiteRedirectLocation |
string |
当桶设置了Website配置,该参数指明对象的重定向地址。 |
StorageClass |
string |
对象的存储类型,当对象存储类型是标准存储时,该值为空。 |
Restore |
string |
归档存储类型对象的取回状态。 |
AllowOrigin |
string |
如果请求中的Origin满足桶的CORS规则,则返回CORS规则中的AllowedOrigin。 |
AllowHeader |
string |
如果请求的RequestHeader满足桶的CORS规则,则返回CORS规则中的AllowedHeader。 |
AllowMethod |
string |
桶CORS规则中的AllowedMethod。 |
ExposeHeader |
string |
桶CORS规则中的ExposeHeader。 |
MaxAgeSeconds |
integer |
桶CORS规则中的MaxAgeSeconds。 |
SseKms |
string |
SSE-KMS方式的算法。 |
SseKmsKey |
string |
SSE-KMS方式的主密钥。 |
SseC |
string |
SSE-C方式的算法。 |
SseCKeyMd5 |
string |
SSE-C方式的密钥的MD5值。 |
Expiration |
string |
对象的详细过期信息。 |
Metadata |
associative array |
对象自定义元数据。 |
代码样例
try { $resp = $obsClient->getObjectMetadata( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey' ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] ); printf ( "ETag:%s\n", $resp ['ETag'] ); printf ( "VersionId:%s\n", $resp ['VersionId'] ); printf ( "ContentLength:%s\n", $resp ['ContentLength'] ); printf ( "LastModified:%s\n", $resp ['LastModified'] ); printf ( "Expiration:%s\n", $resp ['Expiration'] ); printf ( "StorageClass:%s\n", $resp ['StorageClass'] ); } catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () ); }