調用PutBucket介面建立儲存空間(Bucket)。
注意事項
要建立Bucket,您必須有
oss:PutBucket
許可權。具體操作,請參見為RAM使用者授權自訂的權限原則。同一阿里雲帳號在同一地區(Region)內最多支援建立100個Bucket。
每個地區都有對應的訪問網域名稱(Endpoint)。關於地區與訪問網域名稱對應關係的更多資訊,請參見訪問網域名稱和資料中心。
阿里雲帳號對同一個Bucket執行多次PutBucket請求時,第一次請求是建立Bucket,後續請求是修改Bucket的中繼資料(例如Bucket ACL)。多次PutBucket請求會有Bucket中繼資料覆蓋風險,請謹慎操作。
請求文法
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>
要求標頭
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
x-oss-acl | 字串 | 否 | private | 指定Bucket的存取權限ACL。取值範圍如下:
關於Bucket存取權限ACL的更多資訊,請參見設定儲存空間存取權限ACL。 |
x-oss-resource-group-id | 字串 | 否 | rg-aek27tc**** | 指定資源群組ID。
您可以通過資源管理的控制台或ListResourceGroups介面擷取資源群組ID。具體操作,請分別參見查看資源群組基本資料和ListResourceGroups。 |
x-oss-hns-status | 字串 | 否 | disabled | 指定Bucket是否開啟階層命名空間。 只能在建立Bucket時設定是否開啟階層命名空間。對於已存在的Bucket不能更改Bucket的階層命名空間狀態。
|
此介面還需要包含公用要求標頭。更多資訊,請參見公用要求標頭(Common Request Headers)。
請求元素
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
StorageClass | 字串 | 否 | Standard | 指定Bucket的儲存類型。取值範圍如下:
父節點:CreateBucketConfiguration 子節點:無 |
DataRedundancyType | 字串 | 否 | LRS | 指定Bucket的資料容災類型。取值範圍如下:
父節點:CreateBucketConfiguration 子節點:無 |
回應標頭
名稱 | 類型 | 樣本值 | 描述 |
Location | 字串 | /oss-example | Bucket的地址。由/加上Bucket名稱組成。 預設值:無 |
此介面還涉及其他公用回應標頭。更多資訊,請參見公用回應標頭(Common Response Headers)。
樣本
在預設資源群組中建立Bucket
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 qn6q**************:77Dv**************** <?xml version="1.0" encoding="UTF-8"?> <CreateBucketConfiguration> <StorageClass>Standard</StorageClass> <DataRedundancyType>LRS</DataRedundancyType> </CreateBucketConfiguration>
返回樣本
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Fri, 24 Feb 2017 03:15:40 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS Location: /oss-example
在指定資源群組中建立Bucket
請求樣本
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 x-oss-resource-group-id: rg-aek27tc******** Authorization: OSS qn6q**************:77Dv**************** <?xml version="1.0" encoding="UTF-8"?> <CreateBucketConfiguration> <StorageClass>Standard</StorageClass> </CreateBucketConfiguration>
返回樣本
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Fri, 24 Feb 2017 03:15:40 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS Location: /oss-example
SDK
此介面所對應的各語言SDK如下:
錯誤碼
錯誤碼 | HTTP狀態代碼 | 描述 |
InvalidBucketName | 400 | 建立Bucket時,定義的Bucket名稱不符合命名規範。 |
AccessDenied | 403 | 返回該錯誤的可能原因如下:
|
TooManyBuckets | 400 | 建立的Bucket數量超過上限。同一阿里雲帳號在同一地區(Region)內最多可建立100個 Bucket。 |
BucketAlreadyExists | 409 |
|