更新时间:2026-03-13 GMT+08:00
分享

obs_put_properties

表1 obs_put_properties

参数名称

参数类型

是否必选

描述

content_type

char *

必选

参数解释:

指定对象被下载时的文件类型。

约束限制:

取值范围:

参见HTTP标准头域Content-Type的取值。

默认取值:

md5

char *

必选

参数解释:

对象数据的MD5值(经过Base64编码),提供给OBS服务端,校验数据完整性。OBS服务端会将该MD5值与对象数据计算出的MD5值进行对比,如果不匹配则上传失败,返回HTTP 400错误。

约束限制:

对象数据的MD5值必须经过Base64编码。如果不设置对象的MD5值,OBS服务端会忽略对对象数据的MD5值校验。

取值范围:

按照RFC 1864标准计算出消息体的MD5摘要字符串,即消息体128-bit MD5值经过Base64编码后得到的字符串。

示例:n58IG6hfM7vqI4K0vnWpog==

默认取值:

cache_control

char *

必选

参数解释:

指定对象被下载时的网页的缓存行为。

约束限制:

取值范围:

参见HTTP标准头域Cache-Control的取值。

默认取值:

content_disposition_filename

char *

必选

参数解释:

指定对象被下载时的名称。假设设置为test.txt则相当于添加了Content-Disposition: attachment; filename=test.txt头域

约束限制:

取值范围:

参见HTTP标准头域Content-Disposition的取值。

默认取值:

content_encoding

char *

必选

参数解释:

指定对象被下载时的内容编码格式。

约束限制:

取值范围:

参见HTTP标准头域Content-Encoding的取值。

默认取值:

website_redirect_location

char *

必选

参数解释:

当桶设置了Website配置,可以将获取这个对象的请求重定向到桶内另一个对象或一个外部的URL。

例如,重定向请求到桶内另一对象:

x-obs-website-redirect-location:/anotherPage.html

或重定向请求到一个外部URL:

x-obs-website-redirect-location:http://www.example.com/

约束限制:

必须以“/”、“http://”或“https://”开头,长度不超过2KB。

取值范围:

默认取值:

get_conditions

obs_get_conditions *

可选

参数解释:

指定复制对象时的一系列参数。

约束限制:

取值范围:

默认取值:

start_byte

uint64_t

可选

参数解释:

指定复制对象的起始位置。

取值范围:

[0~对象长度-1),单位:字节。

默认取值:

0(即从对象的第一个字节开始复制)

byte_count

uint64_t

可选

参数解释:

指定复制的长度。

取值范围:

  • 取值必须大于0。
  • 如果“start_byte+byte_count”大于对象长度-1,实际仍取对象长度-1,单位为字节。

默认取值:

upload_limit

uint64_t

可选

参数解释:

对单链接请求的带宽限制。

取值范围:

[819200,838860800],单位 bit/s。

默认取值:

expires

int64_t

可选

参数解释:

OBS请求中Expires头的值。指定Object被下载时的网页的缓存过期时间。

默认取值:

obs_expires

int64_t

可选

参数解释:

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

约束限制:

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

取值范围:

大于0的整数值。

默认取值:

canned_acl

obs_canned_acl

可选

参数解释:

权限控制策略。

约束限制:

取值范围:

默认取值:

az_redundancy

obs_az_redundancy

可选

参数解释:

指定复制对象时的一系列参数。

约束限制:

取值范围:

多AZ或单AZ。
  • 单AZ: OBS_REDUNDANCY_1AZ
  • 3AZ: OBS_REDUNDANCY_3AZ

默认取值:

meta_data_count

int

可选

参数解释:

meta_data数组中元素的个数。

约束限制:

取值范围:

默认取值:

meta_data

obs_name_value*

可选

参数解释:

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

约束限制

  • 如果请求携带了此头域,那么响应的消息中应该包含此消息头。
  • 所有自定义元数据大小的总和不超过8KB。单个自定义元数据大小的计算方式为:每个键和值的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

取值范围:

默认取值:

metadata_action

metadata_action_indicator

可选

参数解释:

元数据操作指示符。

取值范围:

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

默认取值:

server_callback

obs_upload_file_server_callback

可选

参数解释:

服务端回调相关参数。

约束限制:

取值范围:

默认取值:

表2 obs_get_conditions

参数名称

参数类型

是否必选

描述

start_byte

uint64_t

可选

参数解释:

指定下载对象的起始位置。

取值范围:

[0~对象长度-1),单位:字节。

默认取值:

0(即从对象的第一个字节开始下载)

byte_count

uint64_t

可选

参数解释:

指定下载的长度。

取值范围:

  • 取值必须大于0。
  • 如果“start_byte+byte_count”大于对象长度-1,实际仍取对象长度-1,单位为字节。

默认取值:

download_limit

uint64_t

可选

参数解释:

对单链接请求的带宽限制。

取值范围:

[819200,838860800],单位 bit/s。

默认取值:

if_modified_since

int64_t

可选

参数解释:

如果对象在指定的时间后有修改,则请求成功,否则返回错误。

if_not_modified_since

int64_t

可选

参数解释:

如果对象在指定的时间后没有修改,则请求成功,否则返回错误。

if_match_etag

char *

可选

参数解释:

指定一个预设的Etag值,如果下载或复制对象的ETag值与该参数值相同,则请求成功,否则返回错误。

取值范围:

长度为32的字符串。

默认取值:

if_not_match_etag

char *

可选

参数解释:

指定一个预设的Etag值,如果下载或复制对象的ETag值与该参数值不相同,则请求成功,否则返回错误。

取值范围:

长度为32的字符串。

默认取值:

image_process_config

image_process_configure *

可选

参数解释:

图片处理相关参数。

约束限制:

取值范围:

默认取值:

表3 metadata_action_indicator

枚举值

说明

OBS_NO_METADATA_ACTION

默认的无效值。

OBS_REPLACE

表示使用当前请求中携带的头域完整替换,未指定的元数据会被删除。

OBS_REPLACE_NEW

表示对于已经存在值的元数据进行替换,不存在值的元数据进行赋值,未指定的元数据保持不变(自定义元数据作替换处理)。

表4 obs_upload_file_server_callback

参数名称

参数类型

是否必选

描述

callback_url

char *

必选

参数解释:

对象上传成功之后,OBS向此url发送回调请求,请求方法为POST。

支持设置多个url,以英文分号(;)分隔,最多支持10个。

callbackUrl需要做url编码。例如:“http://www.example.com/中文?key=中文名”需要编码成“http://www.example.com/%E4%B8%AD%E6%96%87?key=%E4%B8%AD%E6%96%87%E5%90%8D”。

约束限制:

取值范围:

默认取值:

callback_host

char *

可选

参数解释:

发起回调请求的Host头域的值,如果不设置,会使用callbackUrl解析出来的Host。

约束限制:

取值范围:

默认取值:

callback_body

char *

必选

参数解释:

发起回调请求的body体。body体格式必须符合callbackBodyType中设置的媒体类型。

回调body体支持系统变量和自定义变量,系统变量如回调body体支持的系统变量表所示,自定义变量就是以x:开头的变量。例如:key=$(key)&hash=$(etag)&fileid=$(x:fileid),其中变量key、etag是系统变量,x:fileid是自定义变量。如果用户上传的对象是图片,可以在参数中设置imageInfo.width和imageInfo.height表示该图片的宽高。例如:key=$(key)&hash=$(etag)&w=$(imageInfo.width)&h=$(imageInfo.height)。

约束限制:

取值范围:

默认取值:

callback_body_type

char *

可选

参数解释:

发起回调请求的Content-Type头域的值。支持application/x-www-form-urlencoded、application/json。如果不设置,默认为

application/json。

约束限制:

取值范围:

默认取值:

表5 image_process_configure

参数名称

参数类型

是否必选

描述

image_process_mode

image_process_mode_type

可选

参数解释:

图片处理参数头。

约束限制:

取值范围:

默认取值:

cmds_stylename

char *

可选

参数解释:

图片处理相关参数。

约束限制:

取值范围:

默认取值:

表6 image_process_mode_type

枚举值

说明

obs_image_process_invalid_mode

默认的无效值。

obs_image_process_cmd

图片处理参数以image开头。

obs_image_process_style

图片处理参数以style开头。

相关文档