
# 设置桶的生命周期配置
#### 功能说明
配置桶的生命周期规则，实现定时删除桶中对象的功能。
#### 方法定义
```
1. ObsClient->setBucketLifecycle(array $parameter)
2. ObsClient->setBucketLifecycleAsync(array $parameter, callable $callback)
```
#### 请求参数
| **字段名**              ||| **类型**                                                                            | **约束**        | **说明**                                                                                                                                                                                                                                             |
|:--|---|---|:---|:---|:---|
| Bucket               ||| string                                                                            | 必选            | 桶名。                                                                                                                                                                                                                                                |
| Rules                ||| indexed array                                                                     | 必选            | 桶生命周期规则列表。                                                                                                                                                                                                                                         |
| - | Transitions       || indexed array                                                                     | 可选            | 对象转换策略列表。                                                                                                                                                                                                                                          |
| - | - | StorageClass   | string                                                                            | 必选            | 对象转换后的[存储类型](https://support.huaweicloud.com/api-obs_php_sdk_api_zh/obs_38_0205.html)。 说明： 不支持"标准存储"类型。                                                                               |
| - | - | Date           | string 或 \\DateTime      | 如果没有设置Days则必选 | 表示对象转换的日期。该值必须兼容ISO8601格式（例如：2018-01-01T00:00:00Z），而且必须是UTC午夜0点。                                                                                                                                                                                   |
| - | - | Days           | integer                                                                           | 如果没有设置Date则必选 | 表示在对象创建时间后第几天时转换，正整数。                                                                                                                                                                                                                              |
| - | Expiration        || associative array                                                                 | 可选            | 对象过期时间配置。                                                                                                                                                                                                                                          |
| - | - | Date           | string 或 \\DateTime | 如果没有设置Days则必选 | 表示对象过期的日期。该值为字符串时必须兼容ISO8601格式（例如：2018-01-01T00:00:00Z），而且必须是UTC午夜0点。                                                                                                                                                                              |
| - | - | Days           | integer                                                                           | 如果没有设置Date则必选 | 表示在对象创建时间后第几天时过期，正整数。                                                                                                                                                                                                                              |
| - | ID                || string                                                                            | 可选            | 规则ID，由不超过255个字符的字符串组成。                                                                                                                                                                                                                             |
| - | Prefix            || string                                                                            | 必选            | 对象名前缀，用以标识哪些对象可以匹配到当前这条规则。可为空字符串，代表匹配桶内所有对象。                                                                                                                                                                                                       |
| - | Status            || string                                                                            | 必选            | 标识当前这条规则是否启用，支持的值： - Enabled：启用规则  - Disabled：禁用规则   |
| - | NoncurrentVersionTransitions || indexed array                                                                     | 可选            | 历史版本对象转换策略列表。                                                                                                                                                                                                                                      |
| - | - | StorageClass   | string                                                                            | 必选            | 历史版本对象转换后的[存储类型](https://support.huaweicloud.com/api-obs_php_sdk_api_zh/obs_38_0205.html)。                                                                                                                                                         |
| - | - | NoncurrentDays | integer                                                                           | 必选            | 表示对象成为历史版本后第几天时转换，正整数。                                                                                                                                                                                                                             |
| - | NoncurrentVersionExpiration || associative array                                                                 | 可选            | 历史版本对象过期时间配置。                                                                                                                                                                                                                                      |
| - | - | NoncurrentDays | integer                                                                           | 必选            | 表示对象成为历史版本后第几天时过期，正整数。                                                                                                                                                                                                                             |
   
![](https://support.huaweicloud.com/api-obs_php_sdk_api_zh/public_sys-resources/note_3.0-zh-cn.png)
Transitions、Expiration、NoncurrentVersionTransitions、NoncurrentVersionExpiration不能全为空。
#### 返回结果
| **字段名**        | **类型**  | **说明**         |
|:---|:---|:---|
| HttpStatusCode | integer | HTTP状态码。       |
| Reason         | string  | HTTP文本描述。      |
| RequestId      | string  | OBS服务端返回的请求ID。 |
   
#### 代码样例
```
try{
       $resp = $obsClient -> setBucketLifecycle([
              'Bucket' => 'bucketname',
              'Rules' => [
                     ['ID' => 'rule1', 'Prefix' => 'prefix1', 'Status' => 'Enabled', 'Expiration' => ['Days' => 60], 'NoncurrentVersionExpiration' => ['NoncurrentDays' => 60]],
                     ['ID' => 'rule2', 'Prefix' => 'prefix2', 'Status' => 'Enabled', 'Expiration' => ['Date' => '2018-12-31T00:00:00Z']]
              ]
       ]);
       printf("RequestId:%s\n", $resp['RequestId']);
}catch (Obs\Common\ObsException $obsException){
       printf("ExceptionCode:%s\n", $obsException->getExceptionCode());
       printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());
}
```
