PutBucket
创建一个新的桶,桶名称(BucketName)全局唯一,如果有重复,则按照该桶是否属于调用者,返回BucketAlreadyOwnedByYou或者BucketAlreadyExist两种错误码。
请求语法
PUT / HTTP/1.1
Host: bucketname.cos.chinac.com
Date: GMT Date
x-cos-acl: Permission
Authorization: SignatureValue
细节分析
- 可以在Put请求中的“x-cos-acl”头来设置Bucket访问权限。目前Bucket有两种种访问权限:public-read和private
- 当用户创建Bucket时指定了桶的数据中心,如bucketname.cos-cn-suzhou.chinac.com,表明桶的数据中心在杭州
- 一旦创建桶成功,不允许修改桶所在的数据中心
- 如果请求的Bucket已经存在,但是不是请求者所拥有的,返回409 Conflict。错误码:BucketAlreadyExist
- 如果想创建的Bucket不符合命名规范,返回400 Bad Request消息。错误码:InvalidBucketName
- 如果用户发起PUT Bucket请求的时候,没有传入用户验证信息,返回403 Forbidden消息。错误码:AccessDenied
- 如果PutBucket的时候发现已经超过Bucket最大创建数10时,返回400 Bad Request消息。错误码:TooManyBuckets
- 创建的Bucket,如果没有指定访问权限,则默认使用“private”权限
示例
Request
PUT / HTTP/1.1
Host: test-bucket.cos.chinac.com
Date: Fri, 24 Feb 2012 03:15:40 GMT
x-cos-acl: private
Authorization: COS qn6qrrqxo2oawuk53otfjbyc:77Dvh5wQgIjWjwO/KyRt8dOPfo8=
Response
HTTP/1.1 200 OK
Date: Fri, 24 Feb 2012 03:15:40 GMT
Content-Type: application/octet-stream
Content-Length: 0
Connection: keep-alive
Server: COS
x-cos-request-id: 534B371674E88A4D8906008B