对象存储服务 OBS-断点续传下载(Node.js SDK):请求参数

时间:2025-02-12 15:14:02

请求参数

表1 请求参数列表

参数名称

类型

是否必选

说明

Bucket

string

必选

参数解释

桶名。

约束限制:

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

取值范围:

长度为3~63个字符。

默认取值:

Key

string

必选

参数解释:

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

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

约束限制:

取值范围:

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

默认取值:

VersionId

string

可选

参数解释:

对象的版本号。例如:G001117FCE89978B0000401205D5DC9A。

约束限制:

取值范围:

长度为32的字符串。

默认取值:

DownloadFile

string

可选

参数解释:

下载对象的本地文件全路径。当该值为空时,默认为当前程序的运行目录。

约束限制:

包含文件名,如aa/bb.txt

取值范围:

默认取值:

PartSize

number

可选

参数解释:

当前段的长度。

约束限制:

取值范围:

100KB~5GB,单位:字节。

默认取值:

102400字节

TaskNum

number

可选

参数解释:

分段下载时的最大并发数。

约束限制:

取值范围:

1~10000

默认取值:

1,即不设置则默认串行下载。

ProgressCallback

function

可选

参数解释:

获取下载进度的回调函数。

说明:

该回调函数依次包含三个参数:已下载的字节数、总字节数、已使用的时间(单位:秒)。

约束限制:

取值范围:

默认取值:

ResumeCallback

function

可选

参数解释:

获取取消断点续传控制参数的回调函数。

约束限制:

取值范围:

默认取值:

说明:
  • 该回调函数有一个参数:取消断点续传下载任务控制参数;
  • 可以调用取消断点续传下载任务控制参数的cancel方法来暂停断点续传下载任务。

EnableCheckpoint

boolean

可选

参数解释:

是否开启断点续传模式。

约束限制:

取值范围:

  • true:开启断点续传模式。
  • false:关闭断点续传模式,此时断点续传下载接口退化成对分段下载的简单封装,不会产生checkpoint文件

默认取值:

false

CheckpointFile

string

可选

参数解释:

断点续传过程中,会生成一个进度记录文件,文件中会记录段的下载进度和段的相关信息。checkpointFile参数为该记录文件的文件路径。

约束限制:

仅在断点续传模式下有效。

取值范围:

默认取值:

当该值为空时,默认为待下载的本地文件的同级目录。

IfMatch

string

可选

参数解释:

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

约束限制:

取值范围:

长度为32的字符串。

默认取值:

IfModifiedSince

string

可选

参数解释:

如果对象的修改时间晚于该参数值指定的时间,则返回对象内容,否则返回异常码。

约束限制:

该参数值必须符合http://www.ietf.org/rfc/rfc2616.txt规定的HTTP时间格式。

取值范围:

默认取值:

IfNoneMatch

string

可选

参数解释:

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

约束限制:

取值范围:

长度为32的字符串。

默认取值:

IfUnmodifiedSince

string

可选

参数解释:

如果对象的修改时间早于该参数值指定的时间,则返回对象内容,否则返回异常码。

约束限制:

该参数值必须符合http://www.ietf.org/rfc/rfc2616.txt规定的HTTP时间格式。

取值范围:

默认取值:

SseC

string

当使用SSE-C方式时,必选

参数解释:

以SSE-C方式解密对象。

约束限制:

仅支持AES256。

取值范围:

可选值:AES256。

默认取值:

SseCKey

string

当使用SSE-C方式时,必选

参数解释:

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

约束限制:

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

取值范围:

默认取值:

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