对象存储服务 OBS-修改对象元数据:请求消息头

时间:2024-10-21 15:06:42

请求消息头

OBS支持在修改对象元数据的请求里携带HTTP协议规定的6个请求头:Cache-Control、Expires、Content-Encoding、Content-Disposition、Content-Type、Content-Language,OBS会直接将这些头域的值保存在对象元数据中,在下载对象或者HEAD对象的时候,这些保存的值将会被设置到对应的HTTP头域中返回客户端。

表2 请求消息头

消息头名称

消息头类型

是否必选

描述

x-obs-metadata-directive

String

参数解释:

元数据操作指示符。

约束限制:

取值范围:

  • REPLACE_NEW:表示对于已经存在值的元数据进行替换,不存在值的元数据进行赋值,未指定的元数据保持不变(自定义头域作替换处理)。
  • REPLACE:表示使用当前请求中携带的头域完整替换,未指定的元数据(本表中除x-obs-storage-class的其它元数据)会被删除。

默认取值:

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

约束限制:

指定对象的存储类型时请注意大小写敏感。

取值范围:

  • STANDARD
  • WARM
  • COLD
  • DEEP_ARCHIVE

默认取值:

x-obs-meta-*

String

参数解释:

对象的自定义元数据。OBS支持用户使用以“x-obs-meta-”开头的消息头来加入自定义的元数据,以便对对象进行自定义管理。当用户获取此对象或查询此对象元数据时,加入的自定义元数据将会在返回的消息头中出现。

示例:x-obs-meta-test: test metadata

约束限制:

  • 所有自定义元数据大小的总和不超过8K。单个自定义元数据大小的计算方式为:每个键和值的UTF-8 编码中的字节总数。
  • 自定义元数据的key值不区分大小写,OBS统一转为小写进行存储。value值区分大小写。
  • 自定义元数据key-value对都必须符合US-ASCII。如果一定要使用非ASCII码或不可识别字符,需要客户端自行做编解码处理,可以采用URL编码或者Base64编码,服务端不会做解码处理。例如x-obs-meta-中文:中文经URL编码后发送,“中文”的URL编码为:%E4%B8%AD%E6%96%87,则响应为x-obs-meta-%E4%B8%AD%E6%96%87: %E4%B8%AD%E6%96%87

取值范围:

默认取值:

x-obs-expires

Integer

参数解释:

指定对象过期时间,单位是天。过期之后对象会被自动删除。

示例:x-obs-expires:3

约束限制:

设置的天数计算出的过期时间不能早于当前时间,如10天前上传的对象,不能设置小于10的值。

取值范围:

大于0的整数值。

默认取值:

x-obs-tagging

String

参数解释:

以键值对(Key-Value)的形式指定对象的标签信息,可同时设置多个标签。

示例:x-obs-tagging:TagA=A&TagB&TagC

约束限制:

  • Key或Value包含特殊字符以及“=”、中文字符时,需要进行URL编码处理。
  • 如果某项没有“=”,则看作Value为空字符串。

取值范围:

默认取值:

support.huaweicloud.com/api-obs/obs_04_0091.html