

# GET 存储桶生命周期（已弃用）
<a name="v1-rel-RESTBucketGETlifecycle"></a>

## 说明
<a name="v1-rel-RESTBucketGETlifecycle_Description"></a>



 

**重要**  
有关此 API 的已更新版本，请参阅 [GetBucketLifecycleConfiguration](https://docs.amazonaws.cn/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html)。如果您使用 <filter> 元素配置了存储桶生命周期，则应该会看到本主题的已更新版本。提供此主题是为了向后兼容。

返回在存储桶上设置的 `lifecycle` 配置信息。有关生命周期配置的信息，请转至《Amazon Simple Storage Service 用户指南》**中的[对象生命周期管理](https://docs.amazonaws.cn/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)。

要使用此操作，您必须拥有执行 `s3:GetLifecycleConfiguration` 操作的权限。默认情况下，存储桶拥有者拥有此权限。存储桶拥有者可以将此权限授予他人。有关权限的更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[管理对 Amazon S3 资源的访问权限](https://docs.amazonaws.cn/AmazonS3/latest/userguide/s3-access-control.html)。

## 请求
<a name="v1-rel-RESTBucketGETlifecycle-requests"></a>

### 语法
<a name="v1-rel-RESTBucketGETlifecycle-requests-syntax"></a>

```
1. GET /?lifecycle HTTP/1.1
2. Host: {{bucketname}}.s3.amazonaws.com
3. Date: {{date}}
4. Authorization: {{authorization string}} (see 对请求进行身份验证（Amazon 签名版本 4）)
```

### 请求参数
<a name="v1-rel-RESTBucketGETlifecycle-requests-request-parameters"></a>

此操作的实施不使用请求参数。

### 请求标头
<a name="v1-rel-RESTBucketGETlifecycle-requests-request-headers"></a>

此操作的实施仅使用所有操作通用的请求标头。有关更多信息，请参阅[通用请求标头](RESTCommonRequestHeaders.md)。

### 请求元素
<a name="v1-rel-RESTBucketGETlifecycle-requests-request-elements"></a>

此操作的实施不使用请求元素。

## 响应
<a name="v1-rel-RESTBucketGETlifecycle-responses"></a>

### 响应标头
<a name="v1-rel-RESTBucketGETlifecycle-responses-response-headers"></a>

此操作的实施仅使用大多数响应通用的响应标头。有关更多信息，请参阅[通用响应标头](RESTCommonResponseHeaders.md)。

### 响应元素
<a name="v1-rel-RESTBucketGETlifecycle-responses-response-elements"></a>

`GET` 的实施将返回以下响应元素。


|  名称  |  描述  | 必填 | 
| --- | --- | --- | 
|  AbortIncompleteMultipartUpload  | 用于指定未完成的分段上传何时符合中止操作条件的容器。子级：`DaysAfterInitiation`<br />类型：容器<br />原级：`Rule` | 是，如果没有为规则指定其它操作 | 
|  Date  | 您希望 Amazon S3 执行此操作的日期。有关更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[生命周期规则：基于特定日期](https://docs.amazonaws.cn/AmazonS3/latest/userguide/intro-lifecycle-rules.html#intro-lifecycle-rules-date)。<br />此日期值必须符合 ISO 8601 格式。时间始终为午夜 UTC。<br />类型：字符串<br />原级：`Expiration` 或 `Transition` | 是，如果 Days 和 ExpiredObjectDeleteMarker 不存在 | 
|  Days  | 指定对象创建后特定规则操作生效的天数。对象符合条件的时间按“创建时间 \+ 天数”计算，并将得出的时间四舍五入至次日的 UTC 午夜零点。<br />类型：与 `Transition` 结合使用时为非负整数，与 `Expiration` 结合使用时为正整数。<br />原级：`Transition` 或 `Expiration` | 是，如果 Date 和 ExpiredObjectDeleteMarker 不存在 | 
|  DaysAfterInitiation  | 指定启动分段上传后必须完成分段上传的天数。如果分段上传未在指定的天数内完成，则将符合中止操作的条件，而 Amazon S3 将取消未完成的分段上传。<br />类型：正整数<br />原级：`AbortIncompleteMultipartUpload` | 是，如果 Date 不存在 | 
|  Expiration  | 此操作指定在对象的生命周期中 Amazon S3 应采取适当过期操作的时段。过期操作仅适用于根据在子 `Date` 或 `Days` 元素中指定的时段符合条件的对象。Amazon S3 采取的操作取决于存储桶是否启用了版本控制。<br /> +  如果从未在存储桶上启用版本控制，Amazon S3 将永久删除该对象的唯一副本。 <br />+  否则，如果存储桶启用了版本控制（或暂停了版本控制），则该操作仅适用于对象的当前版本。启用版本控制或暂停版本控制的存储桶可能有同一对象的许多版本：一个当前版本和零个或零个以上非当前版本。 <br />Amazon S3 不是删除当前版本，而是通过添加删除标记作为新的当前版本，使当前版本成为非当前版本。 <br />  如果存储桶的状态为已暂停版本控制，则 Amazon S3 将创建一个版本 ID 为 `null` 的删除标记。如果您有一个版本 ID 为 `null` 的版本，则 Amazon S3 会覆盖该版本。  <br />  要为非当前对象设置过期，必须使用 `NoncurrentVersionExpiration` 操作。  <br />类型：容器<br />子级：Days 或 Date<br />原级：Rule | 是，如果指定了父标签 | 
|  ID  | 规则的唯一标识符。该值不能超过 255 个字符。<br />类型：字符串<br />原级：Rule | 否 | 
| LifecycleConfiguration  | 生命周期规则的容器。您可以添加多达 1000 个规则。<br />类型：容器<br />子级：Rule<br />原级：无 | 是 | 
| ExpiredObjectDeleteMarker | 在受版本控制的存储桶（已启用版本控制或已暂停版本控制的存储桶）上，此元素指示 Amazon S3 是否将删除存储桶中任何过期的对象删除标记。有关示例，请参阅《Amazon Simple Storage Service 用户指南》**中的[示例 8：指定过期操作以移除过期的对象删除标记](https://docs.amazonaws.cn/AmazonS3/latest/userguide/intro-lifecycle-rules.html#lifecycle-config-conceptual-ex8)。<br />类型：字符串 <br />有效值：true \| false（支持值 false，但它是无操作的，如果该值为 false，Amazon S3 不会执行任何操作）<br />原级：`Expiration` | 是，如果 Date 和 Days 不存在 | 
| NoncurrentDays  | 指定在 Amazon S3 可以执行关联的操作之前，对象为非当前对象的天数。有关计算非当前天数的信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[基于天数的生命周期规则](https://docs.amazonaws.cn/AmazonS3/latest/userguide/object-lifecycle-mgmt.html#intro-lifecycle-actions-number-of-days)。<br />类型：与 `NoncurrentVersionTransition` 结合使用时为非负整数，与 `NoncurrentVersionExpiration` 结合使用时为正整数<br />原级：`NoncurrentVersionExpiration` 或 `NoncurrentVersionTransition` | 是，前提是原级存在 | 
| NoncurrentVersionExpiration  | 指定非当前对象版本的到期时间。到期后，Amazon S3 将永久删除非当前对象版本。<br />在已启用（或已暂停）版本控制的存储桶上设置此生命周期配置操作，以请求 Amazon S3 在对象生命周期中的特定时段删除非当前对象版本。<br />类型：容器<br />子级：NoncurrentDays <br />原级：Rule | 是，如果 Rule 中没有其它操作 | 
| NoncurrentVersionTransition | 描述非当前对象何时转换为 `STANDARD_IA`、`ONEZONE_IA` 或存储类别的转换规则的容器。<br />如果存储桶启用了版本控制（或暂停了版本控制），则可以设置此操作以请求 Amazon S3 在对象生命周期中的特定时段，将非当前对象版本转换为存储类别。<br />类型：容器<br />子级：NoncurrentDays 和 StorageClass<br />原级：Rule | 是，如果 Rule 中没有其它操作 | 
|  Prefix  | 标识要应用该规则的一个或多个对象的对象键前缀。<br />类型：字符串<br />原级：Rule | 是 | 
| Rule  | 生命周期规则的容器。<br />类型：容器<br />原级：LifecycleConfiguration | 是 | 
|  Status  | 如果启用，Amazon S3 将按计划执行该规则。如果禁用，Amazon S3 将忽略该规则。<br />类型：字符串<br />原级：Rule<br />有效值：启用或禁用 | 是 | 
|  StorageClass  | 指定要将对象转换到的 Amazon S3 存储类别。<br />类型：字符串<br />原级：Transition 和 NoncurrentVersionTransition<br />有效值：`STANDARD_IA` \| `ONEZONE_IA` \|  | 是 | 
|  Transition  | 此操作在对象的生命周期中指定一个时段，在此时段内，Amazon S3 应将对象转换为 `STANDARD_IA`、`ONEZONE_IA` 或存储类别。此操作生效后，Amazon S3 的行为取决于存储桶是否启用了版本控制。<br /> +  如果从未在存储桶上启用版本控制，则 Amazon S3 将对象的唯一副本转换为指定的存储类别。 <br />+  当您的存储桶启用了版本控制（或者暂停了版本控制）时，Amazon S3 仅转换规则中标识的对象的当前版本。 <br />  启用版本控制或暂停版本控制的存储桶可能包含对象的许多版本。此操作对非当前对象版本没有任何效果。要转换非当前对象，必须使用 `NoncurrentVersionTransition` 操作。  <br />类型：容器<br />子级：Days 或 Date，以及 StorageClass<br />原级：Rule | 是，如果 Rule 中没有其它操作 | 

## 特殊错误
<a name="v1-rel-RESTBucketGETlifecycle-special-errors"></a>


| 错误代码 | 说明 | HTTP 状态代码 | SOAP 故障代码前缀 | 
| --- | --- | --- | --- | 
| NoSuchLifecycleConfiguration | 生命周期配置不存在。 | 404 未找到 | 客户端 | 

有关 Amazon S3 错误的一般信息以及错误代码列表，请参阅[错误响应](ErrorResponses.md)。

## 示例
<a name="v1-rel-RESTBucketGETlifecycle-examples"></a>

### 示例 1：检索生命周期子资源
<a name="v1-rel-RESTBucketGETlifecycle-examples-example-1-retrieve-lifecycle-subresource-"></a>

此示例是用于从指定的存储桶检索 `lifecycle` 子资源的 GET 请求，以及包含返回的生命周期配置的示例响应。

#### 示例请求
<a name="v1-rel-RESTBucketGETlifecycle-examples-example-1-retrieve-lifecycle-subresource--sample-request"></a>

```
1. GET /?lifecycle HTTP/1.1
2. Host: examplebucket.s3.amazonaws.com
3. x-amz-date: Thu, 15 Nov 2012 00:17:21 GMT
4. Authorization: {{signatureValue}}
```

#### 示例响应
<a name="v1-rel-RESTBucketGETlifecycle-examples-example-1-retrieve-lifecycle-subresource--sample-response"></a>

```
 1. HTTP/1.1 200 OK
 2. x-amz-id-2: ITnGT1y4RyTmXa3rPi4hklTXouTf0hccUjo0iCPjz6FnfIutBj3M7fPGlWO2SEWp
 3. x-amz-request-id: 51991C342C575321
 4. Date: Thu, 15 Nov 2012 00:17:23 GMT
 5. Server: AmazonS3
 6. Content-Length: 358
 7. 
 8. <?xml version="1.0" encoding="UTF-8"?>
 9. <LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
10.     <Rule>
11.         <ID>Archive and then delete rule</ID>
12.         <Prefix>projectdocs/</Prefix>
13.         <Status>Enabled</Status>
14.        <Transition>
15.            <Days>30</Days>
16.            <StorageClass>STANDARD_IA</StorageClass>
17.         </Transition>
18.         <Transition>
19.            <Days>365</Days>
20.            <StorageClass>GLACIER</StorageClass>
21.         </Transition>
22.         <Expiration>
23.            <Days>3650</Days>
24.         </Expiration>
25.     </Rule>
26. </LifecycleConfiguration>
```

## 相关资源
<a name="v1-rel-RESTBucketGETlifecycle-related-resources"></a>
+ [PutBucketLifecycleConfiguration](https://docs.amazonaws.cn/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html)
+ [DeleteBucketLifecycle](https://docs.amazonaws.cn/AmazonS3/latest/API/API_DeleteBucketLifecycle.html)