調用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>
當您在OSS ON云盒中調用該接口時,您需要將Host替換為云盒Endpoint。更多信息,請參見云盒Endpoint。
當您調用該接口創建無地域屬性Bucket時,您需要將Host中的外網Endpoint(例如oss-cn-hangzhou.aliyuncs.com)替換為
oss-rg-china-mainland.aliyuncs.com
。更多信息,請參見存儲空間地域屬性。
請求頭
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
x-oss-acl | 字符串 | 否 | private | 指定Bucket的訪問權限ACL。取值范圍如下:
關于Bucket訪問權限ACL的更多信息,請參見設置存儲空間訪問權限ACL。 |
x-oss-resource-group-id | 字符串 | 否 | rg-aek27tc**** | 指定資源組ID。
您可以通過資源管理的控制臺或ListResourceGroups接口獲取資源組ID。具體操作,請分別參見查看資源組基本信息和ListResourceGroups。 說明 創建無地域屬性Bucket時不支持配置資源組。 |
此接口還需要包含公共請求頭。更多信息,請參見公共請求頭(Common Request Headers)。
請求元素
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
StorageClass | 字符串 | 否 | Standard | 指定Bucket的存儲類型。取值范圍如下:
父節點:CreateBucketConfiguration 子節點:無 |
DataRedundancyType | 字符串 | 否 | LRS | 指定Bucket的數據容災類型。取值范圍如下:
說明 在OSS ON云盒使用場景中,不支持使用此選項。 父節點: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 |
|