帮助与文档

我们为你提供丰富、详尽的使用指南以及产品文档

对象元数据

对象元数据是附属于对象的数据结构,不能脱离对象独立存在。

用户可以更改的对象元数据有两类: 标准 HTTP 头和自定义元数据。

在创建对象时,用户可以在请求头(HTTP request headers)中附带(header field name)支持的标准 HTTP 头和前缀为“ x-qs-meta- ”的键值对,这些键值对即为自定义元数据。当用户在获取对象时,服务端会返回(和创建对象时)相同的标准 HTTP 头和前缀为“ x-qs-meta- ”的响应头(HTTP response headers)。

复制源对象到目标对象时,默认情况下,会将源对象的附带元数据复制给目标对象。

移动源对象到目标对象时,会保留源对象的附带元数据不变。

删除对象时,对象的附带元数据也会被删除。

支持的标准 HTTP 头

Header Name Type Description Required
Cache-Control String 指定请求和响应遵循的缓存机制。了解更多信息见 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9 No
Content-Disposition String 指定对象下载时的默认文件名。了解更多信息见 http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1 No
Content-Encoding String 指定对象的内容编码类型。了解更多信息见 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11 No
Expires String 响应过期的日期和时间。了解更多信息见 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21 No

对自定义元数据的限制

自定义元数据的有效字符集:

  • key 只能由英文字母、数字、连接符(-)和英文句号(.)组成。
  • value 只能由 printable ASCII 字符 组成, 即 code points 32 到 126(包括 126)。

在此限制下,如果 value 中带有 Non-printable ASCII 或 Non-ASCII 字符,用户可以使用 rfc2047 或者 percent encoding 来对其编码。也可以选择其他编码方式,只要编码后的字符集是 printable ASCII 字符即可。

自定义元数据总大小不能超过 2KB;key 长度不能超过 512 字节(不包括前缀 x-qs-meta- )。

由于 HTTP headers field name 不区分大小写,所以自定义元数据的 key 也不区分大小写。

如何创建对象元数据

Header Name Type Description
标准 HTTP 头 None 请查看 支持的标准 HTTP 头
x-qs-meta-* String 请求头前缀为“ x-qs-meta- ”的那些键值对即为自定义元数据,大小及有效字符集限制见 对自定义元数据的限制

如何复制或替换对象元数据

Header Name Type Description
标准 HTTP 头 None 请查看 支持的标准 HTTP 头
x-qs-meta-* String 请求头前缀为“ x-qs-meta- ”的那些键值对即为自定义元数据,大小及有效字符集限制见 对自定义元数据的限制
x-qs-metadata-directive String 默认是 COPY , 有效选项是 COPYREPLACE 。只有 PUT Copy Object API 时,此请求头有效。默认行为是复制源对象的标准 HTTP 头和自定义元数据给目标对象,选项为 REPLACE 时,会用请求头中支持的标准 HTTP 头和前缀为 x-qs-meta- 的键值对作为目标对象的附带元数据。

如何获取对象元数据

Header Name Type Description
标准 HTTP 头 None 若对象附有支持的标准 HTTP 头, 服务端会返回这些响应头。
x-qs-meta-* String 若对象附有自定义元数据,服务端会返回以 x-qs-meta- 为前缀的键值对响应头。

如何通过 HTML 表单创建对象元数据

Header Name Type Description Required  
标准 HTTP 头 None 请查看 支持的标准 HTTP 头 No  
x-qs-meta-* String 若对象附有自定义元数据,服务端会返回以 x-qs-meta- 为前缀的键值对响应头。 表单项前缀为 x-qs-meta- 的那些键值对即为自定义元数据,大小及有效字符集限制见 对自定义元数据的限制 No

支持对象元数据的 API 列表

API Description
GetObject 获取对象时,如果该对象附有标准 HTTP 头或自定义元数据,服务端会返回 如何获取对象元数据 一节中定义的响应头。
HeadObject 获取对象元信息时,如果该对象附有标准 HTTP 头或自定义元数据,服务端会返回 如何获取对象元数据 一节中定义的响应头。
PutObject 当向存储空间上传一个对象时,可以指定 如何创建对象元数据 一节中定义的请求头来创建对象元数据。
PutObject - Copy 当复制一个源对象到目标对象时,可以使用 如何复制或替换对象元数据 一节中定义的请求头来复制源对象的标准 HTTP 头和自定义元数据给目标对象,或用请求头的标准 HTTP 头和自定义元数据做目标对象的标准 HTTP 头和自定义元数据。
PutObject - Move 当移动一个源对象到目标对象,Move 后源对象的标准 HTTP 头和自定义元数据保留。
PostObject 当通过 HTML 表单的方式上传一个对象时,可以使用 如何通过 HTML 表单创建对象元数据 一节中定义的表单项来创建对象元数据。
InitiateMultipartUpload 当初始化一个分段上传时,可以使用 如何创建对象元数据 一节中定义的请求头来创建对象元数据。