简介
本文介绍对象存储 COS 通过 Python  SDK 实现查询对象元数据的示例代码和描述。
注意事项
相关示例
功能名称  | 描述  | 示例代码  | 
查询对象元数据  | 提供了查询对象元数据的功能。  | 
使用案例
功能说明
查询对象的元数据信息(HEAD Object)。
方法原型
head_object(Bucket, Key, **kwargs)
请求示例
# -*- coding=utf-8from qcloud_cos import CosConfigfrom qcloud_cos import CosS3Clientimport sysimport osimport logging# 正常情况日志级别使用 INFO,需要定位时可以修改为 DEBUG,此时 SDK 会打印和服务端的通信信息logging.basicConfig(level=logging.INFO, stream=sys.stdout)# 1. 设置用户属性, 包括 secret_id, secret_key, region 等。Appid 已在 CosConfig 中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成secret_id = os.environ['COS_SECRET_ID'] # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140secret_key = os.environ['COS_SECRET_KEY'] # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket# COS 支持的所有 region 列表参见 https://cloud.tencent.com/document/product/436/6224token = None # 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见 https://cloud.tencent.com/document/product/436/14048scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)client = CosS3Client(config)response = client.head_object(Bucket='examplebucket-1250000000',Key='exampleobject')print(response)
全部请求参数示例
response = client.head_object(Bucket='examplebucket-1250000000',Key='exampleobject',VersionId='string',IfModifiedSince='Wed, 28 Oct 2020 20:30:00 GMT')
参数说明
参数名称  | 参数描述  | 类型  | 是否必填  | 
Bucket  | Bucket 名称,由 BucketName-APPID 构成  | String  | 是  | 
Key  | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名  examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg | String  | 是  | 
VersionId  | 开启版本控制后,指定对象的具体版本  | String  | 否  | 
IfModifiedSince  | 在指定时间后被修改才返回,时间格式为 GMT  | String  | 否  | 
返回结果说明
获取对象的元信息,类型为 dict:
{'ETag': '"9a4802d5c99dafe1c04da0a8e7e166bf"','Last-Modified': 'Wed, 28 Oct 2014 20:30:00 GMT','Cache-Control': 'max-age=1000000','Content-Type': 'application/octet-stream','Content-Disposition': 'attachment; filename="filename.jpg"','Content-Encoding': 'gzip','Content-Language': 'zh-cn','Content-Length': '16807','Expires': 'Wed, 28 Oct 2019 20:30:00 GMT','Connection': 'keep-alive','Accept-Ranges': 'bytes','Server': 'tencent-cos','Date': 'Wed, 28 Oct 2019 20:20:00 GMT','x-cos-meta-test': 'test','x-cos-version-id': 'MTg0NDUxODMzMTMwMDM2Njc1ODA','x-cos-hash-crc64ecma': '1220413902487941276','x-cos-request-id': 'NTg3NzQ3ZmVfYmRjMzVfMzE5N182NzczMQ=='}
参数名称  | 参数描述  | 类型  | 
ETag  | String  | |
Last-Modified  | 对象最后修改时间  | String  | 
Cache-Control  | 缓存策略, HTTP 标准头部  | String  | 
Content-Type  | 内容类型,HTTP 标准头部  | String  | 
Content-Disposition  | 文件名称,HTTP 标准头部  | String  | 
Content-Encoding  | 编码格式,HTTP 标准头部  | String  | 
Content-Language  | 语言类型,HTTP 标准头部  | String  | 
Content-Length  | 对象大小  | String  | 
Expires  | 缓存过期时间, HTTP 标准头部  | String  | 
Connection  | 连接方式,HTTP 标准头部  | String  | 
Accept-Ranges  | 范围请求标识,HTTP 标准头部  | String  | 
Server  | 服务端标识,HTTP 标准头部  | String  | 
Date  | 请求日期,HTTP 标准头部  | String  | 
x-cos-meta-*  | 用户自定义的对象元数据, 必须以 x-cos-meta 开头,否则会被忽略  | String  | 
x-cos-hash-crc64ecma  | 文件的 CRC64 校验码  | String  | 
x-cos-version-id  | 开启版本控制后,对象的版本号  | String  | 
x-cos-request-id  | 请求 ID  | String  |