华为云用户手册

  • 请求消息头 该请求使用公共消息头,具体请参考表3。 表2 服务端加密请求消息头 消息头名称 消息头类型 是否必选 描述 x-obs-server-side-encryption-customer-algorithm String 否。当使用SSE-C方式时,必选,需要与初始化上传段任务使用相同的算法。 参数解释: 该头域表示加密使用的算法。 示例:x-obs-server-side-encryption-customer-algorithm:AES256 约束限制: 在SSE-C加密方式下使用该头域,该头域表示加密使用的算法。 需要和x-obs-server-side-encryption-customer-key, x-obs-server-side-encryption-customer-key-MD5一起使用。 取值范围: AES256 默认取值: 无 x-obs-server-side-encryption-customer-key String 否。当使用SSE-C方式时,必选,需要与初始化上传段任务使用相同的密钥。 参数解释: 该头域表示加密使用的密钥,该密钥用于加密对象。 示例:x-obs-server-side-encryption-customer-key:K7QkYpBkM5+hca27fsNkUnNVaobncnLht/rCB2o/9Cw= 约束限制: 仅在SSE-C加密方式下使用该头域。 该头域由256-bit的密钥经过base64-encoded得到,需要和x-obs-server-side-encryption-customer-algorithm,x-obs-server-side-encryption-customer-key-MD5一起使用。 取值范围: 无 默认取值: 无 x-obs-server-side-encryption-customer-key-MD5 String 否。当使用SSE-C方式时,必选,需要与初始化上传段任务使用相同的MD5值。 参数解释: 该头域表示加密使用的密钥的MD5值。MD5值用于验证密钥传输过程中没有出错。 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== 约束限制: 仅在SSE-C加密方式下使用该头域。 该头域由密钥的128-bit MD5值经过base64-encoded得到,需要和x-obs-server-side-encryption-customer-algorithm,x-obs-server-side-encryption-customer-key一起使用。 取值范围: 密钥ID MD5的base64值。 默认取值: 无
  • 响应消息头 该请求的响应消息使用公共消息头,具体请参考表1。 表3 附加响应消息头 消息头名称 消息头类型 描述 x-obs-server-side-encryption String 参数解释: 该头域表示服务端的加密方式。 示例:x-obs-server-side-encryption:kms 约束限制: 如果服务端加密是SSE-KMS方式,响应包含该头域。 取值范围: kms AES256 默认取值: 无 x-obs-server-side-encryption-kms-key-id String 参数描述: 当加密方式为SSE-KMS且使用指定密钥加密时,需输入密钥ID。密钥ID获取方法请参见查看密钥。 约束限制: 当您设置了x-obs-server-side-encryption头域且赋值为“kms”,即选择kms加密方式时,才能使用该头域指定加密密钥。 默认取值: 当您选择使用kms加密方式,但未设置此头域时,默认的主密钥将会被使用。如果默认主密钥不存在,系统将默认创建并使用。 x-obs-server-side-encryption-customer-algorithm String 参数解释: 该头域表示加密使用的算法。 示例:x-obs-server-side-encryption-customer-algorithm:AES256 约束限制: 如果服务端加密是SSE-C方式,响应包含该头域。 取值范围: AES256 默认取值: 无 x-obs-server-side-encryption-customer-key-MD5 String 参数解释: 该头域表示加密使用的密钥的MD5值。 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== 约束限制: 如果服务端加密是SSE-C方式,响应包含该头域。 取值范围: 密钥ID MD5的base64值。 默认取值: 无
  • 响应消息元素 该请求响应消息中通过返回消息元素,返回本次多段上传任务的多段上传任务号、桶名、对象名,供后续上传段、合并段使用,元素的具体意义如表4所示。 表4 响应消息元素 元素名称 元素类型 描述 InitiateMultipartUploadResult XML 参数解释: 描述多段上传任务的容器。 约束限制: 无 取值范围: 无 默认取值: 无 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的字符。 默认取值: 无 UploadId String 参数解释: 多段上传任务的ID,后面进行多段上传时,可利用这个ID指定多段上传任务。 约束限制: 无 取值范围: 长度大于0且不超过32的字符串。 默认取值: 无 EncodingType String 参数解释: 多段上传对象Key的编码类型。如果请求中设置了encoding-type,那响应中的Key会被编码。 约束限制: 无 取值范围: URL 默认取值: 无,不设置则不编码。
  • 响应消息头 该请求的响应消息使用公共消息头,具体请参考表1。 表3 附加响应消息头 消息头名称 消息头类型 描述 x-obs-server-side-encryption String 参数解释: 该头域表示服务端的加密方式。 示例:x-obs-server-side-encryption: kms 约束限制: 如果服务端加密是SSE-KMS方式,响应包含该头域。 取值范围: kms AES256 默认取值: 无 x-obs-server-side-encryption-kms-key-id String 参数描述: 当加密方式为SSE-KMS且使用指定密钥加密时,需输入密钥ID。密钥ID获取方法请参见查看密钥。 约束限制: 当您设置了x-obs-server-side-encryption头域且赋值为“kms”,即选择kms加密方式时,才能使用该头域指定加密密钥。 默认取值: 当您选择使用kms加密方式,但未设置此头域时,默认的主密钥将会被使用。如果默认主密钥不存在,系统将默认创建并使用。 x-obs-server-side-encryption-customer-algorithm String 参数解释: 该头域表示加密使用的算法。 示例:x-obs-server-side-encryption-customer-algorithm: AES256 约束限制: 如果服务端加密是SSE-C方式,响应包含该头域。 取值范围: AES256 默认取值: 无 x-obs-server-side-encryption-customer-key-MD5 String 参数解释: 该头域表示加密使用的密钥的MD5值。 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== 约束限制: 如果服务端加密是SSE-C方式,响应包含该头域。 取值范围: 密钥ID MD5的base64值。 默认取值: 无
  • 请求示例:初始化段的同时携带ACL 1 2 3 4 5 POST /objectkey?uploads HTTP/1.1 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Date: WED, 01 Jul 2015 05:15:43 GMT x-obs-grant-write-acp:ID=52f24s3593as5730ea4f722483579ai7,ID=a93fcas852f24s3596ea8366794f7224 Authorization: OBS AKIAIOSFODNN7EXAMPLE:VGhpcyBtZXNzYWdlIHNpZ25lZGGieSRlbHZpbmc=
  • 请求示例:初始化段 1 2 3 4 POST /objectkey?uploads HTTP/1.1 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Date: WED, 01 Jul 2015 05:14:52 GMT Authorization: OBS AKIAIOSFODNN7EXAMPLE:VGhpcyBtZXNzYWdlIHNpZ25lZGGieSRlbHZpbmc=
  • 请求消息参数 该请求需要在消息中指定参数,表明这是多段上传,参数意义如表1所示。 表1 请求消息参数 参数名称 参数类型 是否必选 描述 uploads String 是 参数解释: 表明这是多段上传任务。 约束限制: 该参数为空字符串。 如果请求未设置此参数,则为普通POST上传任务。 取值范围: 取值为空。 默认取值: 无 encoding-type String 否 参数解释: 用于指定对响应中的Key进行指定类型的编码。如果Key包含xml 1.0标准不支持的控制字符,可通过设置该参数对响应中的Key进行编码。 约束限制: 无 取值范围: URL 默认取值: 无,不设置则不编码。
  • WORM 如果桶的WORM开关是开启的,则可以在初始化多段任务时配置对象级WORM保护策略。您可以通过携带头域x-obs-object-lock-mode和x-obs-object-lock-retain-until-date在初始化多段任务的同时指定最终合并对象的保护策略,如果您不携带这些头域,但配置了桶级默认WORM策略,则合并后的对象会自动应用默认策略。您还可以在合并后配置或修改对象级WORM保护策略。 与使用PUT和POST方法上传对象不同,多段上传对x-obs-object-lock-retain-until-date头域的约束只需要您提供不晚于初始化时间的日期,而无需晚于合并多段任务的时间。应用桶级默认WORM策略时,保护的起始时间从合并时间开始计算,即合并时间+桶级默认保护期限。在合并前,多段上传任务可以被取消,不会受到WORM功能影响。
  • 功能介绍 使用多段上传特性时,用户必须首先调用创建多段上传任务接口创建任务,系统会给用户返回一个全局唯一的多段上传任务号,作为任务标识。后续用户可以根据这个标识发起相关的请求,如:上传段、合并段、列举段等,了解完整的分段上传流程请参见分段上传。创建多段上传任务不影响已有的同名对象;同一个对象可以同时存在多个多段上传任务;每个多段上传任务在初始化时可以附加消息头信息,包括acl、用户自定义元数据和通用的HTTP消息头contentType、contentEncoding等,这些附加的消息头信息将先记录在多段上传任务元数据中。 该操作支持服务端加密功能。
  • 请求示例:不带任何参数列举已初始化的段任务 1 2 3 4 5 6 GET /?uploads HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:51:21 GMT Authorization: OBS UDS IAM STUBTEST000008:XdmZgYQ+ZVy1rjxJ9/KpKq+wrU0=
  • 请求示例:带prefix和delimeter列举已初始化的段任务 例如,用户桶examplebucket中2个段任务,对象名分别为multipart-object001和part2-key02,列举段任务时,设置prefix为“multipart",delimeter设置为object001,列举已初始化的段任务。 GET /?uploads&delimiter=object001&prefix=multipart HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:51:21 GMT Authorization: OBS UDSIAMSTUBTEST000008:XdmZgYQ+ZVy1rjxJ9/KpKq+wrU0=
  • 请求消息参数 该请求可以通过在请求消息中指定参数,查询指定范围的多段上传任务,请求参数说明如表1所示。 表1 请求消息参数 参数名称 描述 是否必选 delimiter 对于名字中包含delimiter的对象的任务,其对象名(如果请求中指定了prefix,则此处的对象名需要去掉prefix)中从首字符至第一个delimiter之间的字符串将作为CommonPrefix在响应中返回。对象名包含CommonPrefix的任务被视为一个分组,作为一条记录在响应中返回,该记录不包含任务的信息,仅用于提示用户该分组下存在多段上传任务。 类型:String 否 prefix 如果请求中指定了prefix,则响应中仅包含对象名以prefix开始的任务信息。 类型:String 否 max-uploads 列举的多段任务的最大条目,取值范围为[1,1000],当超出范围时,按照默认的1000进行处理。 类型:Integer 否 key-marker 列举时返回指定的key-marker之后的多段任务。 类型:String 否 upload-id-marker 只有和key-marker一起使用才有意义, 列举时返回指定的key-marker的upload-id-marker之后的多段任务。 类型:String 否 encoding-type 对响应中的部分元素进行指定类型的编码。如果Delimiter、KeyMarker、Prefix、NextKeyMarker和Key包含xml 1.0标准不支持的控制字符,可通过设置encoding-type对响应中的Delimiter、KeyMarker、Prefix(包括CommonPrefixes中的Prefix)、NextKeyMarker和Key进行编码。 类型:String 可选值:url。 否
  • 响应消息元素 该请求的响应消息中通过消息元素返回多段上传任务,元素的具体意义如表2所示。 表2 响应消息元素 元素名称 描述 ListMultipartUploadsResult 保存List Multipart Upload请求结果的容器。 类型:Container 子节点: Bucket, KeyMarker , UploadIdMarker, NextKeyMarker, NextUploadIdMarker, MaxUploads, Delimiter, Prefix, Upload, CommonPrefixes, IsTruncated。 父节点:None。 Bucket 初始化任务所在的桶名。 类型:String 父节点: ListMultipartUploadsResult。 EncodingType 对响应中的部分元素进行指定类型的编码。如果请求中设置了encoding-type,那响应中的Delimiter、KeyMarker、Prefix(包括CommonPrefixes中的Prefix)、NextKeyMarker和Key会被编码。 类型:String 父节点:ListMultipartUploadsResult。 KeyMarker 列举时的起始对象位置。 类型:String 父节点: ListMultipartUploadsResult。 UploadIdMarker 列举时的起始UploadId位置。 类型:String 父节点: ListMultipartUploadsResult。 NextKeyMarker 如果本次没有返回全部结果,响应请求中将包含NextKeyMarker字段,用于标明接下来请求的KeyMarker值。 类型:String 父节点: ListMultipartUploadsResult。 NextUploadIdMarker 如果本次没有返回全部结果,响应请求中将包含NextUploadIdMarker元素,用于标明接下来请求的UploadMarker值。 类型:String 父节点: ListMultipartUploadsResult。 MaxUploads 返回的最大多段上传任务数目。 类型:Integer 父节点: ListMultipartUploadsResult。 IsTruncated 表明是否本次返回的Multipart Upload结果列表被截断。“true”表示本次没有返回全部结果;“false”表示本次已经返回了全部结果。 类型:Boolean。 父节点: ListMultipartUploadsResult。 Upload 保存Multipart Upload任务信息的容器。 类型:Container 子节点: Key, UploadId, InitiatorOwner, StorageClass, Initiated。 父节点: ListMultipartUploadsResult。 Key 初始化Multipart Upload任务的Object名字。 类型:String 父节点: Upload。 UploadId Multipart Upload任务的ID。 类型:String 父节点: Upload。 Initiator Multipart Upload任务的创建者。 子节点: ID。 类型:Container 父节点: Upload。 ID 创建者的DomainId。 类型:String 父节点: Initiator, Owner。 Owner 段的所有者。 类型:Container 子节点: ID 父节点: Upload。 StorageClass 表明待多段上传的对象存储类型。 类型:String 父节点: Upload。 Initiated Multipart Upload任务的初始化时间。 类型:Date。 父节点: Upload。 ListMultipartUploadsResult.Prefix 请求中带的Prefix。 类型:String 父节点: ListMultipartUploadsResult。 Delimiter 请求中带的Delimiter。 类型:String 父节点: ListMultipartUploadsResult。 CommonPrefixes 请求中带Delimiter参数时,返回消息带CommonPrefixes分组信息。 类型:Container 父节点: ListMultipartUploadsResult。 CommonPrefixes. Prefix CommonPrefixes分组信息中,表明不同的Prefix。 类型:String 父节点: CommonPrefixes。
  • 返回码 带回调参数的POST上传对象的返回码与普通POST上传对象不同。普通POST上传对象HTTP状态码是“204 No Content”。带回调参数的POST上传对象、PUT上传对象以及合并段返回结果是回调结果,如果回调成功,一般会返回“200 OK”,如果回调失败,会返回203。 表4 回调请求返回码 HTTP状态码 说明 200 OK 上传对象成功,并且回调成功。 203 Non Authoritative Information 上传对象成功,但是回调失败。
  • 请求消息样式 通过表单携带回调参数的请求消息样式与POST上传对象相同,参考POST上传。policy的内容包含失效时间和条件元素,参考基于浏览器上传的表单中携带签名。 通过policy携带回调参数的policy如下所示,比普通的policy增加了回调参数“callback”。请求消息样式与POST上传对象相同,参考POST上传。 { "expiration": "2017-12-31T12:00:00.000Z", "conditions": [ {"x-obs-acl": "public-read" }, {"x-obs-security-token": "YwkaRTbdY8g7q...." }, {"bucket": "book" }, ["starts-with", "$key", "user/"] ], "callback": [ {"url": "http://www.example.com/callback" }, {"host": "www.example.com" }, {"body": "eyJrZXkiOiIkKGtleSkiLCJoYXNoIjoiJChldGFnKSJ9"}, {"body-type": "application/json"} ] }
  • 请求示例 POST /ObjectName?name=file2&rename HTTP/1.1 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw= Date: WED, 01 Jul 2015 04:19:20 GMT
  • 响应示例 1 2 3 4 5 HTTP/1.1 204 No Content Server: OBS x-obs-request-id: 8DF400000163D3F51DEA05AC9CA066F1 x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAA BCS gkM4Dij80gAeFY8pAZIwx72QhDeBZ5 Date: WED, 01 Jul 2015 04:19:21 GMT
  • 请求示例 PUT /ObjectName?truncate&length=1000 HTTP/1.1 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw= Content-Length: 1 Date: WED, 01 Jul 2015 04:19:20 GMT
  • 响应示例 1 2 3 4 5 HTTP/1.1 204 No Content Server: OBS x-obs-request-id: 8DF400000163D3F51DEA05AC9CA066F1 x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAAB CS gkM4Dij80gAeFY8pAZIwx72QhDeBZ5 Date: WED, 01 Jul 2015 04:19:21 GMT
  • 响应示例 1 2 3 4 5 6 7 HTTP/1.1 200 Date: Wed, 08 Jul 2015 06:57:02 GMT ETag: "d41d8cd98f00b204e9800998ecf8427e" Content-Length: 0 Server: OBS x-obs-request-id: 8DF400000163D3F0FD2A03D2D30B0542 x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCTjCqTmsA1XRpIrmrJdvcEWvZyjbztd
  • 请求示例 PUT /ObjectName?modify&position=Position HTTP/1.1 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Date: Wed, 08 Jul 2015 06:57:01 GMT Content-Type: image/jpg Content-Length: 1458 Authorization: OBS H4IPJX0TQTHTHEBQQCEC:kZoYNv66bsmc10+dcGKw5x2PRrk= [1458 bytes of object data]
  • 请求示例:添加对象元数据 给对象object添加元数据:Content-Type:application/zip和x-obs-meta-test:meta。 1 2 3 4 5 6 7 8 9 PUT /object?metadata HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 14:24:33 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:Nxt SMS 0jaVxlLnxlO9awaMTn47s= x-obs-metadata-directive:REPLACE_NEW Content-Type:application/zip x-obs-meta-test:meta
  • 请求示例:删除对象元数据 对象object已存在元数据x-obs-meta-test:newmeta,Content-Type:application/zip,删除元数据x-obs-meta-test。 1 2 3 4 5 6 7 8 PUT /object?metadata HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 14:24:33 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:NxtSMS0jaVxlLnxlO9awaMTn47s= x-obs-metadata-directive:REPLACE Content-Type:application/zip
  • 请求示例:修改对象元数据 对象object已存在元数据x-obs-meta-test:testmeta,且x-obs-storage-class为WARM,将对象object的元数据x-obs-meta-test修改为newmeta,x-obs-storage-class修改为COLD。 1 2 3 4 5 6 7 8 9 PUT /object?metadata HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 14:24:33 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:NxtSMS0jaVxlLnxlO9awaMTn47s= x-obs-metadata-directive:REPLACE_NEW x-obs-meta-test:newmeta x-obs-storage-class:COLD
  • 响应示例:添加对象元数据 1 2 3 4 5 6 7 8 9 HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D3E4BB5905C41B6E65B6 Accept-Ranges: bytes x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSD3nAiTaBoeyt9oHp9vTYtXnLDmwV6D Date: WED, 01 Jul 2015 04:19:21 GMT Content-Length: 0 x-obs-metadata-directive:REPLACE_NEW x-obs-meta-test:meta
  • 响应示例:修改对象元数据 1 2 3 4 5 6 7 8 9 10 HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D3E4BB5905C41B6E65B6 Accept-Ranges: bytes x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSD3nAiTaBoeyt9oHp9vTYtXnLDmwV6D Date: WED, 01 Jul 2015 04:19:21 GMT Content-Length: 0 x-obs-metadata-directive:REPLACE_NEW x-obs-meta-test:newmeta x-obs-storage-class:COLD
  • 响应示例:删除对象元数据 1 2 3 4 5 6 7 8 HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D3E4BB5905C41B6E65B6 Accept-Ranges: bytes x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSD3nAiTaBoeyt9oHp9vTYtXnLDmwV6D Date: WED, 01 Jul 2015 04:19:21 GMT Content-Length: 0 x-obs-metadata-directive:REPLACE
  • 请求消息头 OBS支持在修改对象元数据的请求里携带HTTP协议规定的6个请求头:Cache-Control、Expires、Content-Encoding、Content-Disposition、Content-Type、Content-Language,OBS会直接将这些头域的值保存在对象元数据中,在下载对象或者HEAD对象的时候,这些保存的值将会被设置到对应的HTTP头域中返回客户端。 表2 请求消息头 消息头名称 消息头类型 是否必选 描述 x-obs-metadata-directive String 是 参数解释: 元数据操作指示符。 约束限制: 无 取值范围: REPLACE_NEW:表示对于已经存在值的元数据进行替换,不存在值的元数据进行赋值,未指定的元数据保持不变(自定义头域作替换处理)。 REPLACE:表示使用当前请求中携带的头域完整替换,未指定的元数据(本表中除x-obs-storage-class的其它元数据)会被删除。 默认取值: 无 Cache-Control String 否 参数解释: 指定对象被下载时的网页的缓存行为。 约束限制: 无 取值范围: 参见HTTP标准头域Cache-Control的取值。 默认取值: 无 Content-Disposition String 否 参数解释: 指定对象被下载时的名称。 约束限制: 无 取值范围: 参见HTTP标准头域Content-Disposition的取值。 默认取值: 无 Content-Encoding String 否 参数解释: 指定对象被下载时的内容编码格式。 约束限制: 无 取值范围: 参见HTTP标准头域Content-Encoding的取值。 默认取值: 无 Content-Language String 否 参数解释: 指定对象被下载时的内容语言格式。 约束限制: 无 取值范围: 参见HTTP标准头域Content-Language的取值。 默认取值: 无 Content-Type String 否 参数解释: 指定对象被下载时的文件类型。 约束限制: 无 取值范围: 参见HTTP标准头域Content-Type的取值。 默认取值: 无 Expires String 否 参数解释: 指定对象被下载时的网页的缓存过期时间。 注意: 此参数不用于设置对象过期时间,设置过期时间的参数请使用x-obs-expires。 约束限制: 无 取值范围: 参见HTTP标准头域Expires的取值。 默认取值: 无 x-obs-website-redirect-location String 否 参数解释: 当桶设置了Website配置,可以将获取这个对象的请求重定向到桶内另一个对象或一个外部的URL。 例如,重定向请求到桶内另一对象: x-obs-website-redirect-location:/anotherPage.html 或重定向请求到一个外部URL: x-obs-website-redirect-location:http://www.example.com/ 约束限制: 必须以“/”、“http://”或“https://”开头,长度不超过2KB。 取值范围: 无 默认取值: 无 x-obs-storage-class String 否 参数解释: 指定对象的存储类型。 示例:x-obs-storage-class: STANDARD 约束限制: 指定对象的存储类型时请注意大小写敏感。 取值范围: STANDARD WARM COLD DEEP_ARCHIVE 默认取值: 无 x-obs-meta-* String 否 参数解释: 对象的自定义元数据。OBS支持用户使用以“x-obs-meta-”开头的消息头来加入自定义的元数据,以便对对象进行自定义管理。当用户获取此对象或查询此对象元数据时,加入的自定义元数据将会在返回的消息头中出现。 示例:x-obs-meta-test: test metadata 约束限制: 所有自定义元数据大小的总和不超过8K。单个自定义元数据大小的计算方式为:每个键和值的UTF-8 编码中的字节总数。 自定义元数据的key值不区分大小写,OBS统一转为小写进行存储。value值区分大小写。 自定义元数据key-value对都必须符合US-ASCII。如果一定要使用非ASCII码或不可识别字符,需要客户端自行做编解码处理,可以采用URL编码或者Base64编码,服务端不会做解码处理。例如x-obs-meta-中文:中文经URL编码后发送,“中文”的URL编码为:%E4%B8%AD%E6%96%87,则响应为x-obs-meta-%E4%B8%AD%E6%96%87: %E4%B8%AD%E6%96%87 取值范围: 无 默认取值: 无 x-obs-expires Integer 否 参数解释: 指定对象过期时间,单位是天。过期之后对象会被自动删除。 示例:x-obs-expires:3 约束限制: 设置的天数计算出的过期时间不能早于当前时间,如10天前上传的对象,不能设置小于10的值。 取值范围: 大于0的整数值。 默认取值: 无 x-obs-tagging String 否 参数解释: 以键值对(Key-Value)的形式指定对象的标签信息,可同时设置多个标签。 示例:x-obs-tagging:TagA=A&TagB&TagC 约束限制: Key或Value包含特殊字符以及“=”、中文字符时,需要进行URL编码处理。 如果某项没有“=”,则看作Value为空字符串。 取值范围: 无 默认取值: 无
  • 响应消息头 表3 附加响应消息头 消息头名称 消息头类型 描述 x-obs-metadata-directive String 参数解释: 元数据操作指示符。 取值范围: REPLACE_NEW:表示对于已经存在值的元数据进行替换,不存在值的元数据进行赋值,未指定的元数据保持不变(自定义头域作替换处理)。 REPLACE:表示使用当前请求中携带的头域完整替换,未指定的元数据(本表中除x-obs-storage-class的其它元数据)会被删除。 默认取值: 无 Cache-Control String 参数解释: 指定对象被下载时的网页的缓存行为。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Cache-control的取值。 默认取值: 无 Content-Disposition String 参数解释: 指定对象被下载时的名称。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Content-Disposition的取值。 默认取值: 无 Content-Encoding String 参数解释: 指定对象被下载时的内容编码格式。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Content-Encoding的取值。 默认取值: 无 Content-Language String 参数解释: 指定对象被下载时的内容语言格式。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Content-Language的取值。 默认取值: 无 Expires String 参数解释: 指定对象被下载时的网页的缓存过期时间。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 参见HTTP标准头域Expires的取值。 默认取值: 无 x-obs-website-redirect-location String 参数解释: 当桶设置了Website配置,可以将获取这个对象的请求重定向到桶内另一个对象或一个外部的URL。 例如,重定向请求到桶内另一对象: x-obs-website-redirect-location:/anotherPage.html 或重定向请求到一个外部URL: x-obs-website-redirect-location:http://www.example.com/ 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 必须以“/”、“http://”或“https://”开头,长度不超过2KB。 取值范围: 无 默认取值: 无 x-obs-storage-class String 参数解释: 指定对象的存储类型。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 指定对象的存储类型时请注意大小写敏感。 取值范围: STANDARD WARM COLD DEEP_ARCHIVE 默认取值: 无 x-obs-meta-* String 参数解释: 对象的自定义元数据。OBS支持用户使用以“x-obs-meta-”开头的消息头来加入自定义的元数据,以便对对象进行自定义管理。当用户获取此对象或查询此对象元数据时,加入的自定义元数据将会在返回的消息头中出现。 约束限制: 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 所有自定义元数据大小的总和不超过8K。单个自定义元数据大小的计算方式为:每个键和值的UTF-8 编码中的字节总数。 自定义元数据的key值不区分大小写,OBS统一转为小写进行存储。value值区分大小写。 自定义元数据key-value对都必须符合US-ASCII。如果一定要使用非ASCII码或不可识别字符,需要客户端自行做编解码处理,可以采用URL编码或者Base64编码,服务端不会做解码处理。例如x-obs-meta-中文:中文经URL编码后发送,“中文”的URL编码为:%E4%B8%AD%E6%96%87,则响应为x-obs-meta-%E4%B8%AD%E6%96%87: %E4%B8%AD%E6%96%87 取值范围: 无 默认取值: 无 x-obs-expires Integer 参数解释: 对象过期时间,单位是天。 约束限制: 设置的天数计算出的过期时间不能早于当前时间,如10天前上传的对象,不能设置小于10的值。 如果请求携带了此头域,那么响应的消息中应该包含此消息头。 取值范围: 大于0的整数值。 默认取值: 无
  • 响应消息元素 该请求的响应消息中通过消息元素返回对象的ACL信息,元素的具体意义如表3所示。 表3 响应消息元素 元素名称 描述 ID 用户的DomainId。 类型:String AccessControlList 访问控制列表,记录了对该桶有访问权限的用户列表。 类型:XML Grant 用于标记用户及用户的权限。 类型:XML Grantee 记录用户信息。 类型:XML Delivered 对象ACL是否继承桶的ACL。 类型:Boolean Permission 指定的用户对该对象所具有的操作权限。 类型:String
共100000条