有奖捉虫:云通信与企业服务文档专题,速来> HOT

简介

本文档提供关于查询对象元数据操作相关的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
查询对象元数据
查询对象的元数据信息

查询对象元数据

功能说明

查询对象的元数据信息(HEAD Object)。

方法原型

head_object(Bucket, Key, **kwargs)

请求示例

# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import os
import 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/37140
secret_key = os.environ['COS_SECRET_KEY'] # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS 支持的所有 region 列表参见 https://cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见 https://cloud.tencent.com/document/product/436/14048
scheme = '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
分块上传时,该值不是对象内容的 MD5 校验值,仅能用于检查对象唯一性
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