华为云用户手册

  • 请求示例:上传对象的同时设置ACL 1 2 3 4 5 6 7 8 9 10 11 PUT /object01 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:13:55 GMT x-obs-grant-read:id=52f24s3593as5730ea4f722483579ai7,id=a93fcas852f24s3596ea8366794f7224 Authorization: OBS H4IPJX0TQTHTHEBQQCEC:gYqplLq30dEX7GMi2qFWyjdFsyw= Content-Length: 10240 Expect: 100-continue [1024 Byte data content]
  • 请求示例:上传时配置website实现下载对象重定向 当桶设置了Website配置,您可以在上传对象时进行以下设置,设置后用户在下载对象时会重定向 1 2 3 4 5 6 7 8 9 10 11 PUT /object01 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:17:12 GMT x-obs-website-redirect-location: http://www.example.com/ Authorization: OBS H4IPJX0TQTHTHEBQQCEC:uFVJhp/dJqj/CJIVLrSZ0gpw3ng= Content-Length: 10240 Expect: 100-continue [1024 Byte data content]
  • 响应示例:在URL中携带签名并上传对象 1 2 3 4 5 6 7 8 HTTP/1.1 200 OK Server: OBS x-obs-request-id: DCD2FC9CAB78000001439A51DB2B2577 x-obs-id-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCTmxB5ufMj/7/GzP8TFwTbp33u0xhn2Z ETag: "1072e1b96b47d7ec859710068aa70d57" Date: Fri, 27 Jul 2018 10:52:31 GMT x-obs-version-id: AAABQ4q2M9_c0vycq3gAAAAAVURTRkha Content-Length: 0
  • 请求示例:桶开启多版本时上传对象 1 2 3 4 5 6 7 8 9 10 11 PUT /object01 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:17:12 GMT x-obs-storage-class: WARM Authorization: OBS H4IPJX0TQTHTHEBQQCEC:uFVJhp/dJqj/CJIVLrSZ0gpw3ng= Content-Length: 10240 Expect: 100-continue [1024 Byte data content]
  • 响应示例:上传对象的同时设置ACL 1 2 3 4 5 6 7 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BB7800000164845759E4F3B39ABEE55E ETag: "d41d8cd98f00b204e9800998ecf8427e" x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAA BCS ReVRNuas0knI+Y96iXrZA7BLUgj06Z Date: WED, 01 Jul 2015 04:13:55 GMT Content-Length: 0
  • 请求示例:上传时配置对象级WORM保护策略 PUT /object01 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:11:15 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:gYqplLq30dEX7GMi2qFWyjdFsyw= Content-Length: 10240 x-obs-object-lock-mode:COMPLIANCE x-obs-object-lock-retain-until-date:2022-09-24T16:10:25Z Expect: 100-continue [1024 Byte data content]
  • 响应示例:桶开启多版本时上传对象 1 2 3 4 5 6 7 8 HTTP/1.1 200 OK Server: OBS x-obs-request-id: DCD2FC9CAB78000001439A51DB2B2577 ETag: "d41d8cd98f00b204e9800998ecf8427e" X-OBS-ID-2: GcVgfeOJHx8JZHTHrRqkPsbKdB583fYbr3RBbHT6mMrBstReVILBZbMAdLiBYy1l Date: WED, 01 Jul 2015 04:17:12 GMT x-obs-version-id: AAABQ4q2M9_c0vycq3gAAAAAVURTRkha Content-Length: 0
  • 请求示例:上传对象时携带MD5 1 2 3 4 5 6 7 8 9 10 11 PUT /object01 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:17:50 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:uFVJhp/dJqj/CJIVLrSZ0gpw3ng= Content-Length: 10 Content-MD5: 6Afx/PgtEy+bsBjKZzihnw== Expect: 100-continue 1234567890
  • 响应示例:上传对象时携带MD5 1 2 3 4 5 6 7 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BB7800000164B165971F91D82217D105 X-OBS-ID-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAAB CS EKhBpS4BB3d SMN qMtuNxQDD9XvOw5h ETag: "1072e1b96b47d7ec859710068aa70d57" Date: WED, 01 Jul 2015 04:17:50 GMT Content-Length: 0
  • 请求示例:在URL中携带签名并上传对象 PUT /object02?AccessKeyId=H4IPJX0TQTHTHEBQQCEC&Expires=1532688887&Signature=EQmDuOhaLUrzrzRNZxwS72CXeXM%3D HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Content-Length: 1024 [1024 Byte data content]
  • 请求示例:上传指定存储类型的对象 1 2 3 4 5 6 7 8 9 10 11 PUT /object01 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:15:07 GMT x-obs-storage-class: WARM Authorization: OBS H4IPJX0TQTHTHEBQQCEC:uFVJhp/dJqj/CJIVLrSZ0gpw3ng= Content-Length: 10240 Expect: 100-continue [1024 Byte data content]
  • 响应示例:上传指定存储类型的对象 1 2 3 4 5 6 7 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BB7800000164846A2112F98BF970AA7E ETag: "d41d8cd98f00b204e9800998ecf8427e" x-obs-id-2: a39E0UgAIAABAAAQAAEAABAAAQAAEAABCTPOUJu5XlNyU32fvKjM/92MQZK2gtoB Date: WED, 01 Jul 2015 04:15:07 GMT Content-Length: 0
  • 响应示例 :上传时配置对象级WORM保护策略 1 2 3 4 5 6 7 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF2600000164364C10805D385E1E3C67 ETag: "d41d8cd98f00b204e9800998ecf8427e" x-obs-id-2: 32AAAWJAMAABAAAQAAEAABAAAQAAEAABCTzu4Jp2lquWuXsjnLyPPiT3cfGhqPoY Date: WED, 01 Jul 2015 04:11:15 GMT Content-Length: 0
  • 响应示例:上传时配置website实现下载对象重定向 1 2 3 4 5 6 7 8 HTTP/1.1 200 OK Server: OBS x-obs-request-id: DCD2FC9CAB78000001439A51DB2B2577 x-obs-id-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCTmxB5ufMj/7/GzP8TFwTbp33u0xhn2Z ETag: "1072e1b96b47d7ec859710068aa70d57" Date: WED, 01 Jul 2015 04:17:12 GMT x-obs-version-id: AAABQ4q2M9_c0vycq3gAAAAAVURTRkha Content-Length: 0
  • 功能介绍 用户在OBS系统中创建了桶之后,可以采用PUT操作的方式将对象上传到桶中。上传对象操作是指在指定的桶内增加一个对象,执行该操作需要用户拥有桶的写权限。 同一个桶中存储的对象名是唯一的。 在桶未开启多版本的情况下,如果在指定的桶内已经有相同的对象键值的对象,用户上传的新对象会覆盖原来的对象;为了确保数据在传输过程中没有遭到破坏,用户可以在请求消息头中加入Content-MD5参数。在这种情况下,OBS收到上传的对象后,会对对象进行MD5校验,如果不一致则返回出错信息。 用户还可以在上传对象时指定x-obs-acl参数,设置对象的权限控制策略。如果匿名用户在上传对象时未指定x-obs-acl参数,则该对象默认可以被所有OBS用户访问。 该操作支持服务端加密功能。 单次上传对象大小范围是[0, 5GB],如果需要上传超过5GB的大文件,需要通过多段操作来分段上传。 OBS没有文件夹的概念。为了使用户更方便进行管理数据,OBS提供了一种方式模拟文件夹:通过在对象的名称中增加“/”,例如“test/123.jpg”。此时,“test”就被模拟成了一个文件夹,“123.jpg”则模拟成“test”文件夹下的文件名了,而实际上,对象名称(Key)仍然是“test/123.jpg”。此类命名方式的对象,在控制台上会以文件夹的形式展示。当您上传此类方式命名的对象时,如果其大小不为0,控制台上会展示为空文件夹,但是存储总用量为对象大小。 对象名中包含特殊字符时需要进行URL编码,例如:#obj需要编码为%23obj。
  • 与POST上传的区别 PUT上传中参数通过请求头域传递;POST上传则作为消息体中的表单域传递。 PUT上传需在URL中指定对象名;POST上传提交的URL为桶域名,无需指定对象名。两者的请求行分别为: PUT /ObjectName HTTP/1.1 POST / HTTP/1.1 使用PUT上传请求时,消息体中如果使用POST格式,则上传到OBS中的对象会以表单形式呈现。 关于POST上传的更多详细信息,请参考POST上传。
  • 响应消息头 该请求的响应消息使用公共消息头,具体请参考表1。 除公共响应消息头之外,还可能使用如表2中的消息头。 表2 附加响应消息头 消息头名称 描述 x-obs-version-id 对象的版本号。如果桶的多版本状态为开启,则会返回对象的版本号。 类型:String x-obs-server-side-encryption 如果服务端加密是SSE-KMS方式,响应包含该头域。 类型:String 示例:x-obs-server-side-encryption:kms x-obs-server-side-encryption-kms-key-id 如果服务端加密是SSE-KMS方式,响应包含该头域,该头域表示主密钥。 类型:String 格式为: regionID:domainID(租户ID):key/key_id 其中regionID是使用密钥所属region的ID;domainID是使用密钥所属租户的租户ID;key_id是本次加密使用的密钥ID。 示例: x-obs-server-side-encryption-kms-key-id:cn-north-4:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0 x-obs-server-side-encryption-customer-algorithm 如果服务端加密是SSE-C方式,响应包含该头域,该头域表示加密使用的算法。 类型:String 示例:x-obs-server-side-encryption-customer-algorithm: AES256 x-obs-server-side-encryption-customer-key-MD5 如果服务端加密是SSE-C方式,响应包含该头域,该头域表示加密使用的密钥的MD5值。 类型:String 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== x-obs-storage-class 对象为非标准存储对象时,会返回此头域,可取值为:WARM或者COLD、DEEP_ARCHIVE 类型:String
  • 响应示例:上传对象 1 2 3 4 5 6 7 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF2600000164364C10805D385E1E3C67 ETag: "d41d8cd98f00b204e9800998ecf8427e" x-obs-id-2: 32AAAWJAMAABAAAQAAEAABAAAQAAEAABCTzu4Jp2lquWuXsjnLyPPiT3cfGhqPoY Date: WED, 01 Jul 2015 04:11:15 GMT Content-Length: 0
  • WORM 如果桶的WORM开关是开启的,则可以为对象配置WORM。您可以通过携带头域x-obs-object-lock-mode和x-obs-object-lock-retain-until-date在上传对象的同时指定对象的保护策略,如果您不携带这些头域,但配置了桶级默认WORM策略,则新上传的对象会自动应用默认策略。您还可以在上传后配置或修改对象级WORM保护策略。 在桶的WORM开关开启时,系统会自动打开多版本功能。WORM保护是基于对象版本号的,配置WORM的版本受到WORM保护,没有配置WORM的版本可正常删除。例如,test.txt 001受到WORM保护。此时再次上传同名文件,产生新的对象版本test.txt 002,test.txt 002并未配置WORM,那么test.txt 002就不受保护可以正常删除。当您下载对象时,不指定版本号下载的是最新对象,也就是test.txt 002。
  • 请求示例:上传对象 1 2 3 4 5 6 7 8 9 10 PUT /object01 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 04:11:15 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:gYqplLq30dEX7GMi2qFWyjdFsyw= Content-Length: 10240 Expect: 100-continue [1024 Byte data content]
  • 响应示例 1 2 3 4 5 6 HTTP/1.1 200 OK Server: OBS x-obs-request-id: B59500000164417839932E5A2295674C x-obs-id-2: 32AAAQAAEAABKAAQAAEAABAAAQAAEAABCStv51t2NMMx+Ou+ow7IWV4Sxo231fKe Date: Wed, 27 Jun 2018 13:39:15 GMT Content-Length: 0
  • 功能介绍 跨区域复制是指跨不同区域中的桶自动、异步地复制对象。通过激活跨区域复制,OBS可将新创建的对象及修改的对象从一个源桶复制到不同区域中的目标桶。 配置跨区域复制需要选择 IAM 委托,配置方法请参见创建IAM委托。 设置桶的跨区域复制,需要满足以下两个要求: 要求源桶和目标桶多版本状态保持一致,否则不能设置replication。如何设置桶的多版本,请参见设置桶的多版本状态。 源桶的拥有者和代理人(OBS)必须要有目标桶的写权限(目标桶需要配置BucketPolicy),同时代理人(OBS)还要有源桶的读权限。这需要通过“BucketPolicy”来实现这个权限委托。 如何设置桶策略,请参见设置桶策略。设置桶策略后,代理人(OBS)就有权限可以读取源桶的对象,也有权限将对象复制到目标桶中。
  • 请求消息头 该请求使用的消息头如下所示。 表1 设置桶的复制配置请求消息头 名称 描述 是否必选 Content-MD5 按照RFC 1864标准计算出消息体的MD5摘要字符串,即消息体128-bit MD5值经过base64编码后得到的字符串。也支持设置Content-SHA256头域,其值为消息体256-bit SHA256值经过base64编码后得到的字符串,Content-MD5和Content-SHA256二选一。 是
  • 请求消息元素 在此请求中,需要在请求的消息体中配置桶的复制配置,通知的配置信息以XML格式上传。具体的配置元素如下描述。 表2 设置桶的复制配置元素 名称 描述 是否必须 ReplicationConfiguration 复制规则的容器,最多可以达到100条规则,所有的复制配置大小可达到50KB。 类型:Container 子节点:Rule 父节点:无 是 Agency 用户创建的委托名字,最大长度为64字符。 类型:String 父节点:ReplicationConfiguration 是 Rule 一条特定复制规则信息的容器。 复制配置必须至少配置一条规则,最多能达到100条规则。 类型:Container 父节点: ReplicationConfiguration 是 ID 规则的特殊辨识符,最大长度为255字符。 类型:String 父节点:Rule 否 Status 如果Status为Disabled,这条规则会被忽略。 类型:String 父节点:Rule 有效值:Enabled,Disabled 是 Prefix 对象键值名的前缀,适配于一个或者多个对象。如果前缀配置为空,则跨区域复制规则将作用于整个桶。 最大前缀长度可达到为1024个字节,不支持重叠的前缀。 类型:String 父节点:Rule 是 Destination 目标桶信息的容器。 类型:Container 父节点:Rule 是 Bucket 存储被规则标识的对象副本的桶名称。 如果在复制配置中有多条规则,这些规则必须都要标识同一个桶作为目标桶。 类型:String 父节点:Destination 是 StorageClass 对象的存储类型。 类型:String 父节点:Destination 有效值:STANDARD|WARM|COLD 否 DeleteData 删除同步复制关键字,如果为Enabled,源桶的对象删除操作会复制到目标端。 类型:String 父节点:Destination 有效值:Enabled,Disabled(如果不设置,则默认为Disabled) 否 HistoricalObjectReplication 历史对象复制关键字,如果为Enabled,会复制符合这条规则的历史对象。 类型:String 父节点:Rule 有效值:Enabled, Disabled(如果不设置,则默认为Disabled) 否
  • 桶访问日志格式 以下所示为在目标桶生成的桶访问日志文件记录: 1 787f2f92b20943998a4fe2ab75eb09b8 bucket [13/Aug/2015:01:43:42 +0000] xx.xx.xx.xx 787f2f92b20943998a4fe2ab75eb09b8 281599BACAD9376ECE141B842B94535B REST.GET.BUCKET.LOCATION - "GET /bucket?location HTTP/1.1" 200 - 211 - 6 6 "-" "HttpClient" - - 每个桶访问日志都包含如下信息: 表2 Bucket Logging格式 名称 示例 含义 BucketOwner 787f2f92b20943998a4fe2ab75eb09b8 桶的ownerId Bucket bucket 桶名 Time [13/Aug/2015:14:43:42 +0000] 请求时间戳。格式为:[dd/MMM/yyyy:HH:mm:ss Z],即 [日/月/年:小时:分钟:秒 时区] Remote IP xx.xx.xx.xx 请求IP Requester 787f2f92b20943998a4fe2ab75eb09b8 请求者ID 当使用账号或IAM用户发起请求时,此ID为请求者所属账号的账号ID。 当使用匿名用户发起请求时,取值为Anonymous。 RequestID 281599BACAD9376ECE141B842B94535B 请求ID Operation REST.GET.BUCKET.LOCATION 操作名称 Key - 对象名 Request-URI GET /bucket?location HTTP/1.1 请求URI HTTPStatus 200 返回码 ErrorCode - 错误码 BytesSent 211 HTTP响应的字节大小 ObjectSize - 对象大小 TotalTime 6 服务端处理时间 单位:ms Turn-AroundTime 6 总请求时间 单位:ms Referer - 请求的referrer头域 User-Agent HttpClient 请求的user-agent头域 VersionID - 请求中带的versionId STSLogUrn - 联邦认证及委托授权信息 StorageClass STANDARD_IA 当前的对象存储类型 TargetStorageClass GLACIER 通过转换后的对象存储类型 DentryName 12456%2Ffile.txt 对于并行文件系统,是文件/目录的内部标识,由父目录inode编号与文件/目录名称组成,此字段最终呈现为经过URL编码后的格式。 对于对象桶,该字段为"-"。
  • 响应示例:关闭桶日志转存 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSalxuWjLa91ewuXRoIcCKZFjFgCrYn0 x-obs-request-id: 0000018A2BC32FB6D2C62C9689DD14B3 Server: OBS Content-Length: 0 Date: WED, 01 Jul 2015 02:37:22 GMT
  • 响应示例 1 2 3 4 5 6 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF26000001643663CE53B6AF31C619FD x-obs-id-2: 32AAAQAAEAABSAAkpAIAABAAAQAAEAABCT9CjuOx8cETSRbqkm35s1dL/tLhRNdZ Date: WED, 01 Jul 2015 02:40:06 GMT Content-Length: 0
  • 委托权限示例 { "Version": "1.1", "Statement": [ { "Action": [ "obs:object:PutObject" ], "Resource": [ "OBS:*:*:object:mybucketlogs/*" ], "Effect": "Allow" } ] } 关闭桶日志功能的方法是上传一个带有空的BucketLoggingStatus标签的logging文件。 默认存储类别为低频访问存储或归档存储的桶不能作为存放日志文件的桶。日志文件存放到桶中后,这些日志文件会占用空间,并按照用户存放数据同样的计费策略进行计费。 目标桶开启KMS加密时,需要在委托中授予KMS访问权限。
  • 请求消息元素 表1 请求消息元素表 名字 描述 是否必选 BucketLoggingStatus 日志状态信息的容器。 类型:Container 是 Agency 目标桶Owner通过 统一身份认证 服务创建的对OBS服务的委托的名称。 类型:String 设置logging时必选。关闭logging时勿选。 LoggingEnabled 该元素起到对日志配置管理的使能作用(呈现此元素则打开日志配置,否则关闭配置)。在此元素下,可加入具体的日志配置信息。 类型:Container 设置logging时必选。关闭logging时勿选。 Grant 是被授权者及其权限的容器。用于描述谁有什么权限来访问产生的日志文件。 类型:Container 否 Grantee 作为被授权logging权限用户的容器。 类型:Container 否 ID 被授权者的租户ID,全局唯一标识。 类型:String 否 Permission 产生的日志文件对被授权者的具体权限。 类型:String 权限有效值:FULL_CONTROL | READ | WRITE 否 TargetBucket 在生成日志时,配置日志桶的所有者可以指定一个桶用于存放产生的日志文件。需要保证配置日志文件的桶owner对存放日志文件的桶有FULL_CONTROL权限。支持多个桶生成的日志放在同一个目标桶中,如果这样做,就需要指定不同的TargetPrefix以达到为来自不同源桶的日志分类的目的。 类型:String 设置logging时必选。关闭logging时勿选。 TargetPrefix 通过该元素指定一个前缀,所有生成的日志对象的对象名都以此元素的内容为前缀。 类型:String 设置logging时必选。关闭logging时勿选。 TargetGrants 授权信息的容器。 类型:Container 否
  • 请求示例 GET /v2/workflow-authorization HTTP/1.1 Host: obs.cn-north-4.myhuaweicloud.com Authorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo= Content-Type: application/json Content-Length: 0 Date: Thu, 27 Aug 2020 12:38:10 GMT
共100000条