
# 设置桶策略
#### 功能说明
配置桶的策略，如果桶已经存在一个策略，那么当前请求中的策略将完全覆盖桶中现存的策略。
#### 方法定义
```
1. ObsClient->setBucketPolicy(array $parameter)
2. ObsClient->setBucketPolicyAsync(array $parameter, callable $callback)
```
#### 请求参数
| **字段名** | **类型** | **约束** | **说明**                                                                                             |
|:---|:---|:---|:---|
| Bucket  | string | 必选     | 桶名。                                                                                                |
| Policy  | string | 必选     | 策略信息，JSON格式的字符串。具体格式请参考[Policy格式](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0041.html)。 |
   
#### 返回结果
| **字段名**        | **类型**  | **说明**         |
|:---|:---|:---|
| HttpStatusCode | integer | HTTP状态码。       |
| Reason         | string  | HTTP文本描述。      |
| RequestId      | string  | OBS服务端返回的请求ID。 |
   
#### 代码样例
```
try{
       $resp = $obsClient -> setBucketPolicy([
              'Bucket' => 'bucketname',
              'Policy' => 'your policy'
       ]);
       printf("RequestId:%s\n", $resp['RequestId']);
}catch (Obs\Common\ObsException $obsException){
       printf("ExceptionCode:%s\n", $obsException->getExceptionCode());
       printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());
}
```
![](https://support.huaweicloud.com/api-obs_php_sdk_api_zh/public_sys-resources/notice_3.0-zh-cn.png)
**Policy**中的Resource字段包含的桶名必须和当前设置桶策略的桶名一致。
