对象存储服务 OBS-分段上传-上传段(Python SDK):请求参数

时间:2024-11-13 17:03:35

请求参数

表1 请求参数列表

参数名称

参数类型

是否必选

描述

bucketName

str

必选

参数解释

桶名。

约束限制:

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

默认取值:

objectKey

str

必选

参数解释:

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

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

取值范围:

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

默认取值:

说明:

对象链接地址格式为:https://桶名. 域名 /文件夹目录层级/对象名。如果该对象存在于桶的根目录下,则链接地址将不需要有文件夹目录层级。

partNumber

int

必选

参数解释:

段号。

取值范围:

[1,10000]

默认取值:

uploadId

str

必选

参数解释:

分段上传任务的ID。任务ID可以通过初始化分段上传任务生成。例如:000001648453845DBB78F2340DD460D8。

约束限制:

长度为32的字符串。

默认取值:

object

str

readable object

必选

参数解释:

待上传段的内容。

取值范围:

字符串或者可读对象。

说明:

如果object是可读对象(包含“read”属性),则从中读取数据,否则作为字符串处理。

默认取值:

isFile

bool

可选

参数解释:

指明object字段是否代表文件路径。

取值范围:

True:object字段代表文件路径。

False:object字段不代表文件路径。

默认取值:

False

offset

int

可选

参数解释:

源文件中某一分段的起始偏移大小。

取值范围:

非负整数,不大于待上传对象的大小,单位:字节。

默认取值:

0

partSize

int

可选

参数解释:

当前段的长度。

约束限制:

  • 上传段接口要求除最后一段以外,其他的段大小都要大于100KB。但是上传段接口并不会立即校验上传段的大小(因为不知道是否为最后一段),只有调用合并段接口时才会校验。
  • OBS 3.0的桶支持最小段的大小为100KB,OBS 2.0的桶支持最小段的大小为5MB。

取值范围:

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

默认取值:

102400字节

sseHeader

SseCHeader

可选

参数解释:

服务端加密头域。详见SseCHeader

默认取值:

isAttachMd5

bool

可选

参数解释:

是否自动计算待上传数据的MD5值。

约束限制:

isAttachMd5和md5同时使用时,忽略isAttachMd5字段。

取值范围:

True:自动计算上传数据的MD5值。

False:不自动计算上传数据的MD5值。

默认取值:

False

md5

str

可选

参数解释:

待上传段数据的MD5值(经过Base64编码),是上传段数据内容的唯一标识,可以通过该值识别对象内容是否有变化。

约束限制:

isAttachMd5和md5同时使用时,忽略isAttachMd5字段。

取值范围:

长度为32的字符串。

默认取值:

crc64

int

str

long

可选

参数解释:

待上传数据的crc64值。

约束限制:

不支持POSIX、SFS对象。

取值范围:

根据ECMA-182标准计算得出的64位CRC。

默认取值:

isAttachCrc64

bool

可选

参数解释:

是否自动计算待上传数据的crc64值。

约束限制:

不支持POSIX、SFS对象。

取值范围:

  • True表示由SDK计算crc64并提交服务端校验。
  • False不检验crc64。

默认取值:

Falsed

progressCallback

callable

可选

参数解释:

获取上传进度的回调函数。

默认取值:

说明:

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

autoClose

bool

可选

参数解释:

上传完成后,自动关闭数据流。

取值范围:

True:自动关闭数据流。

False:不自动关闭数据流。

默认取值:

True

extensionHeaders

dict

可选

参数解释:

接口的拓展头域。

取值范围:

参考自定义头域

默认取值:

表2 SseCHeader

参数名称

参数类型

是否必选

描述

encryption

str

必选

参数解释:

以SSE-C方式加密对象。

取值范围:

AES256,即高级加密标准(Advanced Encryption Standard,AES)。

默认取值:

key

str

必选

参数解释:

SSE-C方式下加密的密钥,与加密方式对应,如encryption=‘AES256’,密钥就是由AES256加密算法得到的密钥。

取值范围:

长度为32字符串。

默认取值:

support.huaweicloud.com/sdk-python-devg-obs/obs_22_1003.html