修改对象元数据
功能介绍
用户可以通过本接口添加、修改或删除桶中已经上传的对象的元数据。
请求消息样式
1 2 3 4 5 6 7 8 |
PUT /ObjectName?metadata HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.com Content-Type: application/xml Content-Length: length Authorization: authorization Date: date <Optional Additional Header> <object Content> |
请求消息参数
参数名称 |
参数类型 |
是否必选 |
描述 |
---|---|---|---|
versionId |
String |
否 |
参数解释: 对象的版本号。 约束限制: 无 取值范围: 长度为32的字符串。 默认取值: 无 |
请求消息头
OBS支持在修改对象元数据的请求里携带HTTP协议规定的6个请求头:Cache-Control、Expires、Content-Encoding、Content-Disposition、Content-Type、Content-Language,OBS会直接将这些头域的值保存在对象元数据中,在下载对象或者HEAD对象的时候,这些保存的值将会被设置到对应的HTTP头域中返回客户端。
消息头名称 |
消息头类型 |
是否必选 |
描述 |
---|---|---|---|
x-obs-metadata-directive |
String |
是 |
参数解释: 元数据操作指示符。 约束限制: 无 取值范围:
默认取值: 无 |
Cache-Control |
String |
否 |
参数解释: 指定对象被下载时的网页的缓存行为。 约束限制: 无 取值范围: 参见HTTP标准头域Cache-Control的取值。 默认取值: 无 |
Content-Disposition |
String |
否 |
参数解释: 指定对象被下载时的名称。 约束限制: 无 取值范围: 参见HTTP标准头域Content-Disposition的取值。 默认取值: 无 |
Content-Encoding |
String |
否 |
参数解释: 指定对象被下载时的内容编码格式。 约束限制: 无 取值范围: 参见HTTP标准头域Content-Encoding的取值。 默认取值: 无 |
Content-Language |
String |
否 |
参数解释: 指定对象被下载时的内容语言格式。 约束限制: 无 取值范围: 参见HTTP标准头域Content-Language的取值。 默认取值: 无 |
Content-Type |
String |
否 |
参数解释: 指定对象被下载时的文件类型。 约束限制: 无 取值范围: 参见HTTP标准头域Content-Type的取值。 默认取值: 无 |
Expires |
String |
否 |
参数解释: 指定对象被下载时的网页的缓存过期时间。
注意:
此参数不用于设置对象过期时间,设置过期时间的参数请使用x-obs-expires。 约束限制: 无 取值范围: 参见HTTP标准头域Expires的取值。 默认取值: 无 |
x-obs-website-redirect-location |
String |
否 |
参数解释: 当桶设置了Website配置,可以将获取这个对象的请求重定向到桶内另一个对象或一个外部的URL。 例如,重定向请求到桶内另一对象: x-obs-website-redirect-location:/anotherPage.html 或重定向请求到一个外部URL: x-obs-website-redirect-location:http://www.example.com/ 约束限制: 必须以“/”、“http://”或“https://”开头,长度不超过2KB。 取值范围: 无 默认取值: 无 |
x-obs-storage-class |
String |
否 |
参数解释: 指定对象的存储类型。 示例:x-obs-storage-class: STANDARD 约束限制: 指定对象的存储类型时请注意大小写敏感。 取值范围:
默认取值: 无 |
x-obs-meta-* |
String |
否 |
参数解释: 对象的自定义元数据。OBS支持用户使用以“x-obs-meta-”开头的消息头来加入自定义的元数据,以便对对象进行自定义管理。当用户获取此对象或查询此对象元数据时,加入的自定义元数据将会在返回的消息头中出现。 示例:x-obs-meta-test: test metadata 约束限制:
取值范围: 无 默认取值: 无 |
x-obs-expires |
Integer |
否 |
参数解释: 指定对象过期时间,单位是天。过期之后对象会被自动删除。 示例:x-obs-expires:3 约束限制: 设置的天数计算出的过期时间不能早于当前时间,如10天前上传的对象,不能设置小于10的值。 取值范围: 大于0的整数值。 默认取值: 无 |
请求消息元素
该请求消息中不使用消息元素。
响应消息样式
1 2 3 4 5 |
HTTP/1.1 status_code Date: date Content-Length: length Etag: etag Last-Modified: time |
响应消息头
消息头名称 |
消息头类型 |
描述 |
---|---|---|
x-obs-metadata-directive |
String |
参数解释: 元数据操作指示符。 取值范围:
默认取值: 无 |
Cache-Control |
String |
参数解释: 指定对象被下载时的网页的缓存行为。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Cache-control的取值。 默认取值: 无 |
Content-Disposition |
String |
参数解释: 指定对象被下载时的名称。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Content-Disposition的取值。 默认取值: 无 |
Content-Encoding |
String |
参数解释: 指定对象被下载时的内容编码格式。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Content-Encoding的取值。 默认取值: 无 |
Content-Language |
String |
参数解释: 指定对象被下载时的内容语言格式。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Content-Language的取值。 默认取值: 无 |
Expires |
String |
参数解释: 指定对象被下载时的网页的缓存过期时间。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Expires的取值。 默认取值: 无 |
x-obs-website-redirect-location |
String |
参数解释: 当桶设置了Website配置,可以将获取这个对象的请求重定向到桶内另一个对象或一个外部的URL。 例如,重定向请求到桶内另一对象: x-obs-website-redirect-location:/anotherPage.html 或重定向请求到一个外部URL: x-obs-website-redirect-location:http://www.example.com/ 约束限制:
取值范围: 无 默认取值: 无 |
x-obs-storage-class |
String |
参数解释: 指定对象的存储类型。 约束限制:
取值范围:
默认取值: 无 |
x-obs-meta-* |
String |
参数解释: 对象的自定义元数据。OBS支持用户使用以“x-obs-meta-”开头的消息头来加入自定义的元数据,以便对对象进行自定义管理。当用户获取此对象或查询此对象元数据时,加入的自定义元数据将会在返回的消息头中出现。 约束限制:
取值范围: 无 默认取值: 无 |
x-obs-expires |
Integer |
参数解释: 对象过期时间,单位是天。 约束限制:
取值范围: 大于0的整数值。 默认取值: 无 |
响应消息元素
该请求的响应消息中不带消息元素。
错误响应消息
无特殊错误;所有错误已经包含在表2中。
请求示例:添加对象元数据
给对象object添加元数据:Content-Type:application/zip和x-obs-meta-test:meta。
1 2 3 4 5 6 7 8 9 |
PUT /object?metadata HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 14:24:33 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:NxtSMS0jaVxlLnxlO9awaMTn47s= x-obs-metadata-directive:REPLACE_NEW Content-Type:application/zip x-obs-meta-test:meta |
响应示例:添加对象元数据
1 2 3 4 5 6 7 8 9 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D3E4BB5905C41B6E65B6 Accept-Ranges: bytes x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSD3nAiTaBoeyt9oHp9vTYtXnLDmwV6D Date: WED, 01 Jul 2015 04:19:21 GMT Content-Length: 0 x-obs-metadata-directive:REPLACE_NEW x-obs-meta-test:meta |
请求示例:修改对象元数据
对象object已存在元数据x-obs-meta-test:testmeta,且x-obs-storage-class为WARM,将对象object的元数据x-obs-meta-test修改为newmeta,x-obs-storage-class修改为COLD。
1 2 3 4 5 6 7 8 9 |
PUT /object?metadata HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 14:24:33 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:NxtSMS0jaVxlLnxlO9awaMTn47s= x-obs-metadata-directive:REPLACE_NEW x-obs-meta-test:newmeta x-obs-storage-class:COLD |
响应示例:修改对象元数据
1 2 3 4 5 6 7 8 9 10 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D3E4BB5905C41B6E65B6 Accept-Ranges: bytes x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSD3nAiTaBoeyt9oHp9vTYtXnLDmwV6D Date: WED, 01 Jul 2015 04:19:21 GMT Content-Length: 0 x-obs-metadata-directive:REPLACE_NEW x-obs-meta-test:newmeta x-obs-storage-class:COLD |
请求示例:删除对象元数据
对象object已存在元数据x-obs-meta-test:newmeta,Content-Type:application/zip,删除元数据x-obs-meta-test。
1 2 3 4 5 6 7 8 |
PUT /object?metadata HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 14:24:33 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:NxtSMS0jaVxlLnxlO9awaMTn47s= x-obs-metadata-directive:REPLACE Content-Type:application/zip |
响应示例:删除对象元数据
1 2 3 4 5 6 7 8 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D3E4BB5905C41B6E65B6 Accept-Ranges: bytes x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSD3nAiTaBoeyt9oHp9vTYtXnLDmwV6D Date: WED, 01 Jul 2015 04:19:21 GMT Content-Length: 0 x-obs-metadata-directive:REPLACE |