腾讯云对象存储获取数据元信息
数据元信息(Object Meta)是对上传到腾讯云对象存储的文件的属性描述,分为两种:系统定义的Meta 和 User Meta(用户自定义元信息)。数据元信息可以在各种方式上传时或者拷贝文件时进行设置。
系统定义的Metadata每个Object都有一组Metadata信息,Metadata用来标识Object的属性如日期、内容长度等信息,这些Metadata信息用于Object管理。
系统定义的Metadata也分为用户可修改和用户不可修改两种。其中如Object的固有属性如创建日期、内容长度、上次修改时间、MD5码等为不可修改的Metadata。如Content-Type、Cache-Control、storage-class等Metadata,用户在创建Object时或者根据需要可以修改这些Metadata的值。系统定义的Metadata的详细描述参见下表:
是否可被 用户修改 |
|||
---|---|---|---|
Cache- Control |
String |
下载Object的Cache设置,常见的可取值为private、no-cache、 max-age、must-revalidate。 |
是 |
Content- Disposition |
String |
设置浏览器是否下载,可取值为inline、 attachment; "filename=download.txt"。 |
是 |
Content- MD5 |
String |
RFC2616定义的HTTP请求内容的MD5摘要,可以通过携带该 字段来验证保存在BOS侧的文件和用户预期的文件是否一致。 |
否 |
Content- Length |
Long Int | 返回Object的数据大小。 | 否 |
Content- Type |
String | Object的类型及编码方式。 | 是 |
Expires | String | 设置下载Object时的缓存失效时间。 | 是 |
ETag | String | Object的HTTP协议实体标签。 | 否 |
x-bce- storage- class |
String |
标准存储返回STANDARD,低频存储返回STANDARD_IA, 冷存储返回COLD,归档存储返回ARCHIVE。 |
否 |
x-bce- object-type |
String |
标识Object是Appendable还是普通的,Appendale的Object 可以追加写,普通的不能。归档存储不支持Appendable。 |
否 |
用户自定义的Metadata为了便于用户对Object进行更多描述。腾讯云对象存储中规定所有以x-bce-meta-为前缀的参数,则视为用户自定义的Metadata,比如x-bce-meta-tag。一个Object可以有若干个用户自定义Metadata。这些自定义Metadata会在下载GetObject或者HeadObject的时候在HTTP头部中返回。
说明:
- PUT请求头的大小限制为8KB。在PUT请求标头中,用户定义的Metadata的大小限制为2KB。
操作方式
腾讯云对象存储支持多种SDK获取Object的元信息,具体如下:
- Java SDK
- Python SDK
- PHP SDK
- C++ SDK
示例
以Java SDK为例
String EndPoint = "bj.bce.bos.com"public static void GetObjectMeta(BosClient bosClient, String bucketname, String objectkey) { ObjectMetadata objectMetadata; objectMetadata = bosClient.getObjectMetadata(bucketname, objectkey); System.out.println(objectMetadata.getContentType()); System.out.println(objectMetadata.getUserMetadata()); }