PutBucket介面用於建立Bucket(不支援匿名訪問)。

建立的Bucket所在的Region和發送請求的Endpoint所對應的Region一致。Bucket所在的資料中心確定後,該Bucket下的所有Object將一直存放在對應的地區。更多內容參見訪問網域名稱和資料中心

請求文法

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

細節分析

  • 可以通過Put請求中的 x-oss-acl頭來設定Bucket存取權限。目前Bucket有三種存取權限:public-read-write,public-read和private。
  • 如果請求的Bucket已經存在,返回409 Conflict。錯誤碼:BucketAlreadyExists。
  • 如果想建立的Bucket不符合命名規範,返回400 Bad Request消息。錯誤碼:InvalidBucketName。
  • 如果用戶發起PUT Bucket請求的時候,沒有傳入用戶驗證資訊,返回403 Forbidden消息。錯誤碼:AccessDenied。
  •  同一用戶在同一地域內最多可建立30個bucket。如果超過30個,則返回400 Bad Request消息。錯誤碼:TooManyBuckets。
  • 建立的Bucket,如果沒有指定存取權限,則預設使用 Private 許可權。
  • 建立的Bucket,可以指定Bucket的儲存類型,可選值為StandardIAArchive

樣本

請求樣本:

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

返回樣本:

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
Date: Fri, 24 Feb 2017 03:15:40 GMT
Location: /oss-example
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS