
# 获取桶的生命周期配置
#### 功能说明
获取桶的生命周期规则。
#### 方法定义
```
1. ObsClient->getBucketLifecycle(array $parameter)
2. ObsClient->getBucketLifecycleAsync(array $parameter, callable $callback)
```
#### 请求参数
| **字段名** | **类型** | **约束** | **说明** |
|:---|:---|:---|:---|
| Bucket  | string | 必选     | 桶名。    |
   
#### 返回结果
| **字段名**              ||| **类型**            | **说明**                                                                                                                                                                                                                          |
|:--|---|---|:---|:---|
| HttpStatusCode       ||| integer           | HTTP状态码。                                                                                                                                                                                                                        |
| Reason               ||| string            | HTTP文本描述。                                                                                                                                                                                                                       |
| RequestId            ||| string            | OBS服务端返回的请求ID。                                                                                                                                                                                                                  |
| Rules                ||| indexed array     | 桶生命周期规则列表。                                                                                                                                                                                                                      |
| - | Transitions       || indexed array     | 对象转换策略列表。                                                                                                                                                                                                                       |
| - | - | StorageClass   | string            | 对象转换后的存储类型。                                                                                                                                                                                                                     |
| - | - | Date           | string            | 表示对象转换的日期。                                                                                                                                                                                                                      |
| - | - | Days           | string            | 表示在对象创建时间后第几天时转换。                                                                                                                                                                                                               |
| - | Expiration        || associative array | 对象过期时间配置。                                                                                                                                                                                                                       |
| - | - | Date           | string            | 表示对象过期的日期。                                                                                                                                                                                                                      |
| - | - | Days           | integer           | 表示在对象创建时间后第几天时过期。                                                                                                                                                                                                               |
| - | ID                || string            | 规则ID。                                                                                                                                                                                                                           |
| - | Prefix            || string            | 对象名前缀，用以标识哪些对象可以匹配到当前这条规则。                                                                                                                                                                                                      |
| - | Status            || string            | 标识当前这条规则是否启用。 - Enabled：启用规则  - Disabled：禁用规则   |
| - | NoncurrentVersionTransitions || indexed array     | 历史版本对象转换策略列表。                                                                                                                                                                                                                   |
| - | - | StorageClass   | string            | 历史版本对象转换后的存储类型。                                                                                                                                                                                                                 |
| - | - | NoncurrentDays | string            | 表示对象成为历史版本后第几天时转换。                                                                                                                                                                                                              |
| - | NoncurrentVersionExpiration || associative array | 历史版本对象过期时间配置。                                                                                                                                                                                                                   |
| - | - | NoncurrentDays | integer           | 表示对象成为历史版本后第几天时过期。                                                                                                                                                                                                              |
   
#### 代码样例
```
try{
       $resp = $obsClient -> getBucketLifecycle([
              'Bucket' => 'bucketname'
       ]);
       printf("RequestId:%s\n", $resp['RequestId']);
       foreach ($resp['Rules'] as $index => $rule){
              printf("Rules[%d]\n", $index + 1);
              printf("ID:%s\n", $rule['ID']);
              printf("Prefix:%s\n", $rule['Prefix']);
              printf("Status:%s\n", $rule['Status']);
              printf("Expiration[Days]:%s\n", $rule['Expiration']['Days']);
              printf("Expiration[Date]:%s\n", $rule['Expiration']['Date']);
              printf("NoncurrentVersionExpiration[NoncurrentDays]:%s\n", $rule['NoncurrentVersionExpiration']['NoncurrentDays']);
       }
}catch (Obs\Common\ObsException $obsException){
       printf("ExceptionCode:%s\n", $obsException->getExceptionCode());              
       printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());
}
```
