对象存储服务 OBS-下载对象(Harmony SDK):请求参数

时间:2024-11-07 21:25:59

请求参数

表1 请求参数列表

参数名称

参数类型

是否必选

描述

input

GetObjectInput

必选

参数解释:

下载对象接口入参,详见GetObjectInput

表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的字符串。

默认取值:

VersionId

string

可选

参数解释:

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

取值范围:

长度为32的字符串。

默认取值:

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

SaveByType

SaveByType

可选

参数解释:

文件下载时的保存路径。

取值范围:

可选择的数据类型选项参见SaveByType

默认取值:

SaveFilePath

string

可选

参数解释:

指定下载路径。

约束限制:

格式需要在cacheDir路径下,示例如下

getContext(this).cacheDir + '/folder/filename'
须知:

如果指定该参数,SaveByType 参数会被忽略掉。

默认取值:

Range

string

可选

参数解释:

获取对象时,获取在Range范围内的对象内容。如果Range不合法则忽略此字段获取整个对象。

取值范围:

  • Range是一个范围,它的起始值最小为0,最大为对象长度减1。Range范围的起始值为必填项,如果Range只包含起始值,表示获取起始值到对象长度减1这个区间的对象内容。

    bytes=byte_range

    示例1:bytes=0-4

    示例2:bytes=1024

    示例3:bytes=10-20,30-40(表示多个区间)

  • 携带Range头域后,响应消息的ETag仍是对象的ETag,而不是Range范围内对象的ETag。

取值范围:

Range是一个范围,它的起始值最小为0,最大为对象长度减1。

默认取值:

SseC

string

作为请求参数时必选

参数解释:

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

取值范围:

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

默认取值:

SseCKey

string

作为请求参数时必选

参数解释:

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

约束限制:

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

默认取值:

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被下载时的网页的缓存过期时间。

默认取值:

ImageProcess

string

可选

参数解释:

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

取值范围:

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

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

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

默认取值:

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

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)

默认取值:

表3 SaveByType

常量名

原始值

说明

TEXT

string

文本格式

ARRAY_BUFFER

array_buffer

二进制格式

OBJECT

object

对象格式

FILE

file

文件格式。

  • 如果包含IfUnmodifiedSince并且不符合或者包含IfMatch并且不符合,抛出异常中HTTP状态码为:412 precondition failed。
  • 如果包含IfModifiedSince并且不符合或者包含IfNoneMatch并且不符合,抛出异常中HTTP状态码为:304 Not Modified。
support.huaweicloud.com/sdk-harmony-devg-obs/obs_34_0404.html