
# 创建桶
#### 功能说明
按照用户指定的桶名创建一个新桶。新创建桶的桶名在OBS中必须是唯一的。除同一个用户重复创建同一区域的同名桶外，其他场景重复创建同名桶均会失败。一个用户可以拥有的桶的数量不能超过100个。
#### 方法定义
```
1. ObsClient->createBucket(array $parameter)
2. ObsClient->createBucketAsync(array $parameter, callable $callback)
```
#### 请求参数
| **字段名**            | **类型** | **约束**                            | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| Bucket             | string | 必选                                | 桶名。 桶命名规则如下： - 3～63个字符，数字或字母开头，支持小写字母、数字、"-"、"."。  - 禁止使用类IP地址。  - 禁止以"-"或"."开头及结尾。  - 禁止两个"."相邻（如："my..bucket"）。  - 禁止"."和"-"相邻（如："my-.bucket"和"my.-bucket"）。   |
| ACL                | string | 可选                                | 创桶时可指定的[预定义访问策略](https://support.huaweicloud.com/api-obs_php_sdk_api_zh/obs_38_0204.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                |
| StorageClass       | string | 可选                                | 创桶时可指定的桶的[存储类型](https://support.huaweicloud.com/api-obs_php_sdk_api_zh/obs_38_0205.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| LocationConstraint | string | 如果请求的OBS服务地址所在区域为默认区域，则可为空，否则为必选。 | 桶所在的区域。 该参数定义了桶将会被创建在哪个区域，如果使用的终端节点归属于默认区域华北-北京一（cn-north-1），可以不携带此参数；如果使用的终端节点归属于其他区域，则必须携带此参数。当前有效的区域名称可从[这里](https://developer.huaweicloud.com/endpoint?OBS)查询。有关OBS区域和终端节点的更多信息，请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint?OBS)。                                                                                                                                                                                                                                          |
   
#### 返回结果
| **字段名**        | **类型**  | **说明**         |
|:---|:---|:---|
| HttpStatusCode | integer | HTTP状态码。       |
| Reason         | string  | HTTP文本描述。      |
| RequestId      | string  | OBS服务端返回的请求ID。 |
   
#### 代码样例
```
try{
       $resp = $obsClient -> createBucket([
              'Bucket' => 'bucketname',
              'ACL' => 'private',
              'StorageClass' => ObsClient::StorageClassStandard
       ]);
       printf("RequestId:%s\n", $resp['RequestId']);
}catch (Obs\Common\ObsException $obsException){
       printf("ExceptionCode:%s\n", $obsException->getExceptionCode());              
       printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());
}
```
