对象存储服务 OBS-下载对象-限定条件下载(Go SDK):请求参数说明

时间:2024-10-23 16:32:24

请求参数说明

表1 请求参数列表

参数名称

参数类型

是否必选

描述

input

*GetObjectInput

必选

参数解释:

限定条件下载请求参数,详情参考GetObjectInput

extensions

extensionOptions

可选

参数解释:

拓展配置项。通过调用拓展配置项为对应请求配置额外的拓展请求头,详情参考extensionOptions

表2 GetObjectInput

参数名称

参数类型

是否必选

描述

Bucket

string

必选

参数解释

桶名。

约束限制:

  • 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。
  • 桶命名规则如下:
    • 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
    • 禁止使用IP地址。
    • 禁止以“-”或“.”开头及结尾。
    • 禁止两个“.”相邻(如:“my..bucket”)。
    • 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
  • 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。

默认取值:

Key

string

必选

参数解释:

对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。

例如,您对象的访问地址为examplebucket.obs.cn-north-4. myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

ResponseCacheControl

string

可选

参数解释:

指定OBS返回请求中Cache-Control头的值。指定Object被下载时的网页的缓存行为。

默认取值:

ResponseContentDisposition

string

可选

参数解释:

指定OBS返回请求中Content-Disposition头的值。指定Object被下载时的名称。

默认取值:

ResponseContentEncoding

string

可选

参数解释:

指定OBS返回请求中Content-Encoding头的值。指定Object被下载时的内容编码格式。

默认取值:

ResponseContentLanguage

string

可选

参数解释:

指定OBS返回请求中Content-Language头的值。指定Object被下载时的内容语言格式。

默认取值:

ResponseContentType

string

可选

参数解释:

指定OBS返回请求中Content-Type头的值。指定Object文件类型。

默认取值:

ResponseExpires

string

可选

参数解释:

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

默认取值:

VersionId

string

可选

参数解释:

对象的版本号,用于获取指定版本号的对象。例如:G001117FCE89978B0000401205D5DC9。

取值范围:

长度为32的字符串。

默认取值:

无,如果不设置则默认获取最新版本的对象。

ImageProcess

string

可选

参数解释:

图片处理参数,描述针对对象的图片处理命令或处理样式。例如如果想表示对图片依次进行缩放、旋转,取值:image/resize,m_fixed,w_100,h_100/rotate,90。

取值范围:

命令方式:image/命令参数。

样式方式:style/样式名称。

详细参数说明参见处理图片

默认取值:

如果不输入处理命令,将返回原图。

RangeStart

int64

可选

参数解释:

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

取值范围:

0~对象长度,单位:字节。

默认取值:

0,即从对象的第一个字节开始下载。

RangeEnd

int64

可选

参数解释:

指定下载对象的结束位置。

取值范围:

  • 取值必须大于RangeStart。
  • 如果该值大于对象长度-1,实际仍取对象长度-1,单位为字节。

默认取值:

IfMatch

string

可选

参数解释:

指定一个预设的Etag值,如果下载对象的ETag值与该参数值相同,则返回对象内容,否则返回错误。

取值范围:

长度为32的字符串。

默认取值:

IfNoneMatch

string

可选

参数解释:

指定一个预设的Etag值,如果下载对象的ETag值与该参数值不相同,则返回对象内容,否则返回错误。

取值范围:

长度为32的字符串。

默认取值:

IfModifiedSince

time.Time

可选

参数解释:

如果对象在指定的时间后有修改,则返回对象内容,否则返回错误。

约束限制:

日期格式必须为ISO8601的格式。 例如:2018-01-01T00:00:00.000Z,表示如果最后修改时间晚于2018-01-01T00:00:00.000Z则返回对象内容,否则返回错误。

代码示例:time.Now().Add(time.Duration(24) * time.Hour)

默认取值:

IfUnmodifiedSince

time.Time

可选

参数解释:

如果对象在指定的时间后没有修改,则返回对象内容,否则返回错误。

约束限制:

日期格式必须为ISO8601的格式。 例如:2018-01-01T00:00:00.000Z,表示如果最后修改时间早于2018-01-01T00:00:00.000Z则返回对象内容,否则返回错误。

代码示例:time.Now().Add(time.Duration(24) * time.Hour)

默认取值:

SseHeader

SseCHeader

可选

参数解释:

服务端解密头信息,详见SseCHeader

约束限制:

如果客户端的对象上传时,使用了客户提供的加密密钥进行服务端加密,当下载对象时,同样也必须在消息中提供密钥。

表3 SseCHeader

参数名称

参数类型

是否必选

描述

Encryption

string

作为请求参数时必选

参数解释:

表示服务端加密是SSE-C方式。对象使用SSE-C加密方式。

取值范围:

可选值:AES256,即选择SSE-C方式加密对象。

默认取值:

Key

string

作为请求参数时必选

参数解释:

SSE-C方式下加密使用的密钥,该密钥用于加密对象。

约束限制:

该头域由256bit的密钥经过Base64编码得到,示例:K7QkYpBkM5+hca27fsNkUnNVaobncnLht/rCB2o/9Cw=

默认取值:

KeyMD5

string

作为请求参数时可选

参数解释:

SSE-C方式下加密使用密钥的MD5值,该值用于验证密钥传输过程中是否出错。

约束限制:

由密钥值经过MD5加密再经过Base64编码后得到,示例:4XvB3tbNTN+tIEVa0/fGaQ==

默认取值:

support.huaweicloud.com/sdk-go-devg-obs/obs_23_0504.html