对象存储服务 OBS-分段上传-合并段(Go SDK):返回结果说明

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

返回结果说明

表4 返回结果

参数名称

参数类型

描述

output

*CompleteMultipartUploadOutput

参数解释:

接口返回信息。详情参见CompleteMultipartUploadOutput

err

error

参数解释:

接口返回错误信息。

表5 CompleteMultipartUploadOutput

参数名称

参数类型

描述

StatusCode

int

参数解释:

HTTP状态码。

取值范围:

状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码

默认取值:

RequestId

string

参数解释:

OBS服务端返回的请求ID。

默认取值:

ResponseHeaders

map[string][]string

参数解释:

HTTP响应头信息。

默认取值:

ETag

string

参数解释:

合并段后根据各个段的ETag值计算出的结果。对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,都有唯一的ETag。

约束限制:

当对象是服务端加密的对象时,ETag值不是对象的MD5值。

取值范围:

长度为32的字符串。

默认取值:

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

默认取值:

Location

string

参数解释:

合并段后得到的对象的url。

例如:https://example-Bucket.obs.regions.myhuaweicloud.com/example-Object

默认取值:

VersionId

string

参数解释:

合并段后得到的对象版本号。如果桶的多版本状态为开启,则会返回对象的版本号。

取值范围:

长度为32的字符串。

默认取值:

SseHeader

SseCHeader

SseKmsHeader

参数解释:

服务端加密头信息。SSE-C加密方式详情参见SseCHeader,SSE-KMS加密方式详情参见SseKmsHeader

EncodingType

string

参数解释:

用于指定对响应中的Key进行指定类型的编码。如果Key包含xml 1.0标准不支持的控制字符,可通过设置该参数对响应中的Key进行编码。

取值范围:

可选值为url。

默认取值:

无,不设置则不编码。

表6 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==

默认取值:

表7 SseKmsHeader

参数名称

参数类型

是否必选

描述

Encryption

string

作为请求参数时必选

参数解释:

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

取值范围:

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

默认取值:

Key

string

作为请求参数时可选

参数解释:

SSE-KMS加密方式下使用的KMS主密钥的ID值。

取值范围:

有效值支持两种格式:

  1. regionID:domainID(账号ID):key/key_id
  2. key_id

其中:

默认取值:

  • 如果用户没有提供该头域,那么默认的主密钥将会被使用。
  • 如果默认主密钥不存在,将默认创建并使用。
support.huaweicloud.com/sdk-go-devg-obs/obs_33_0515.html