全部产品
对象存储 OSS

PutBucket

更新时间:2017-06-07 13:26:11   分享:   

PutBucket用于创建Bucket(不支持匿名访问)。创建的Bucket所在的Region和发送请求的Endpoint所对应的Region一致。Bucket所在的数据中心确定后,该Bucket下的所有Object将一直存放在对应的地区。更多内容参见 Bucket和数据中心

请求语法

  1. PUT / HTTP/1.1
  2. Host: BucketName.oss-cn-hangzhou.aliyuncs.com
  3. Date: GMT Date
  4. x-oss-acl: Permission
  5. Authorization: SignatureValue
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <CreateBucketConfiguration>
  8. <StorageClass>Standard</StorageClass>
  9. </CreateBucketConfiguration>

细节分析

  1. 可以Put请求中的 x-oss-acl 头来设置Bucket访问权限。目前Bucket有三种访问权限:public-read-write,public-read和private。
  2. 如果请求的Bucket已经存在,并且请求者是所有者,返回200 OK成功。
  3. 如果请求的Bucket已经存在,但是不是请求者所拥有的,返回409 Conflict。错误码:BucketAlreadyExists。
  4. 如果想创建的Bucket不符合命名规范,返回400 Bad Request消息。错误码:InvalidBucketName。
  5. 如果用户发起PUT Bucket请求的时候,没有传入用户验证信息,返回403 Forbidden消息。错误码:AccessDenied。
  6. 如果PutBucket的时候发现已经超过bucket最大创建数时,默认30个,返回400 Bad Request消息。错误码:TooManyBuckets。
  7. 创建的Bucket,如果没有指定访问权限,则默认使用 Private 权限。
  8. 创建的Bucket,可以指定Bucket的存储类型,可选值为Standard和IA、Archive。

示例

请求示例:

  1. PUT / HTTP/1.1
  2. Host: oss-example.oss-cn-hangzhou.aliyuncs.com
  3. Date: Fri, 24 Feb 2017 03:15:40 GMT
  4. x-oss-acl: private
  5. Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:77Dvh5wQgIjWjwO/KyRt8dOPfo8=
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <CreateBucketConfiguration>
  8. <StorageClass>Standard</StorageClass>
  9. </CreateBucketConfiguration>

返回示例:

  1. HTTP/1.1 200 OK
  2. x-oss-request-id: 534B371674E88A4D8906008B
  3. Date: Fri, 24 Feb 2017 03:15:40 GMT
  4. Location: /oss-example
  5. Content-Length: 0
  6. Connection: keep-alive
  7. Server: AliyunOSS
本文导读目录
本文导读目录
以上内容是否对您有帮助?