

# S3 生命周期配置的示例
<a name="lifecycle-configuration-examples"></a>

此部分提供 S3 生命周期配置的示例。每个示例演示如何在各个示例方案中指定 XML。

**Topics**
+ [在创建后的一天内归档所有对象](#lifecycle-config-ex1)
+ [临时禁用生命周期规则](#lifecycle-config-conceptual-ex2)
+ [在对象的生命周期内逐步将存储类降级](#lifecycle-config-conceptual-ex3)
+ [指定多个规则](#lifecycle-config-conceptual-ex4)
+ [为启用了版本控制的存储桶指定生命周期规则](#lifecycle-config-conceptual-ex6)
+ [在启用了版本控制的存储桶中移除到期对象删除标记](#lifecycle-config-conceptual-ex7)
+ [用于中止分段上传的生命周期配置](#lc-expire-mpu)
+ [使没有数据的非当前对象到期](#lc-size-rules)
+ [示例：支持转换小于 128 KB 的对象](#lc-small-objects)

## 在创建后的一天内归档所有对象
<a name="lifecycle-config-ex1"></a>

每个 S3 生命周期规则都包含一个筛选条件，该筛选条件可用于确定存储桶中适用 S3 生命周期规则的一部分对象。以下 S3 生命周期配置显示了如何指定筛选条件的示例。
+ 在此 S3 生命周期配置规则中，筛选条件指定了一个键前缀 (`tax/`)。因此，此规则应用于带键名前缀 `tax/` 的对象，例如 `tax/doc1.txt` 和 `tax/doc2.txt`。

  此规则指定两个指示 Amazon S3 完成以下任务的操作：
  + 在对象创建 365 天（一年）后将其转换为 S3 Glacier Flexible Retrieval 存储类。
  + 在对象创建 3650 天（10 年）后将其删除（`Expiration` 操作）。

  ```
  <LifecycleConfiguration>
    <Rule>
      <ID>Transition and Expiration Rule</ID>
      <Filter>
         <Prefix>tax/</Prefix>
      </Filter>
      <Status>Enabled</Status>
      <Transition>
        <Days>365</Days>
        <StorageClass>GLACIER</StorageClass>
      </Transition>
      <Expiration>
        <Days>3650</Days>
      </Expiration>
    </Rule>
  </LifecycleConfiguration>
  ```

  您可以为每个操作指定一个日期，而不用以创建后的天数的形式指定对象期限。但是，您不能在同一规则中同时使用 `Date` 和 `Days`。
+ 如果希望 S3 生命周期规则应用于存储桶中的所有对象，请指定一个空前缀。在下面的配置中，该规则指定了一个 `Transition` 操作，该操作将指示 Amazon S3 在创建后 0 天将对象转移到 S3 Glacier Flexible Retrieval 存储类。此规则意味着对象在创建后有资格在世界标准时间午夜归档到 S3 Glacier Flexible Retrieval。有关生命周期约束的更多信息，请参阅 [转换的约束和注意事项](lifecycle-transition-general-considerations.md#lifecycle-configuration-constraints)。

  ```
  <LifecycleConfiguration>
    <Rule>
      <ID>Archive all object same-day upon creation</ID>
      <Filter>
        <Prefix></Prefix>
      </Filter>
      <Status>Enabled</Status>
      <Transition>
        <Days>0</Days>
        <StorageClass>GLACIER</StorageClass>
      </Transition>
    </Rule>
  </LifecycleConfiguration>
  ```
+ 您可以在筛选条件中指定零或一个键名前缀以及零或多个对象标签。以下示例代码将 S3 生命周期规则应用于带 `tax/` 键前缀的一部分对象以及包含具有特定键和值的两个标签的对象。在指定多个筛选条件时，您必须按下面所示包含 `<And>`（Amazon S3 会应用逻辑 `AND` 以将指定筛选条件组合起来）。

  ```
  ...
  <Filter>
     <And>
        <Prefix>tax/</Prefix>
        <Tag>
           <Key>key1</Key>
           <Value>value1</Value>
        </Tag>
        <Tag>
           <Key>key2</Key>
           <Value>value2</Value>
        </Tag>
      </And>
  </Filter>
  ...
  ```

  
+ 您可以仅基于标签筛选对象。例如，以下 S3 生命周期规则应用于具有两个指定标签的对象（该规则未指定任何前缀）。

  ```
  ...
  <Filter>
     <And>
        <Tag>
           <Key>key1</Key>
           <Value>value1</Value>
        </Tag>
        <Tag>
           <Key>key2</Key>
           <Value>value2</Value>
        </Tag>
      </And>
  </Filter>
  ...
  ```

  

**重要**  
当您在 S3 生命周期配置中有多个规则时，对象可能变得符合条件可在同一天执行多个 S3 生命周期操作。在这种情况下，Amazon S3 遵循以下一般规则：  
永久删除优先于转换。
转换优先于[删除标记](DeleteMarker.md)的创建。
当对象有资格进行 S3 Glacier Flexible Retrieval 和 S3 Standard-IA（或 S3 One Zone-IA）转换时，Amazon S3 将选择 S3 Glacier Flexible Retrieval 转换。
 有关示例，请参阅 [重叠的筛选条件和冲突的生命周期操作的示例](lifecycle-conflicts.md#lifecycle-config-conceptual-ex5)。



## 临时禁用生命周期规则
<a name="lifecycle-config-conceptual-ex2"></a>

可以使用 `status` 元素临时禁用 S3 生命周期规则。如果您想在不覆盖现有规则的情况下测试新规则或排查配置问题，这可能很有用。以下 S3 生命周期配置指定了两个规则：
+ 规则 1 指示 Amazon S3 在带 `logs/` 前缀的对象创建后立即将其转换为 S3 Glacier Flexible Retrieval 存储类。
+ 规则 2 指示 Amazon S3 在带 `documents/` 前缀的对象创建后立即将其转换为 S3 Glacier Flexible Retrieval 存储类。

在此配置中，启用了规则 1 但禁用了规则 2。Amazon S3 忽略禁用的规则。

```
<LifecycleConfiguration>
  <Rule>
    <ID>Rule1</ID>
    <Filter>
      <Prefix>logs/</Prefix>
    </Filter>
    <Status>Enabled</Status>
    <Transition>
      <Days>0</Days>
      <StorageClass>GLACIER</StorageClass>
    </Transition>
  </Rule>
  <Rule>
    <ID>Rule2</ID>
    <Filter>
      <Prefix>documents/</Prefix>
    </Filter>
    <Status>Disabled</Status>
    <Transition>
      <Days>0</Days>
      <StorageClass>GLACIER</StorageClass>
    </Transition>
  </Rule>
</LifecycleConfiguration>
```

## 在对象的生命周期内逐步将存储类降级
<a name="lifecycle-config-conceptual-ex3"></a>

在本示例中，您使用 S3 生命周期配置在对象的生命周期内逐步将存储类降级。级别降低可帮助减少存储成本。有关定价的更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。

以下 S3 生命周期配置指定了应用于带键名前缀 `logs/` 的对象的规则。该规则指定了以下操作：
+ 两个转换操作：
  + 在对象创建 30 天后将其转换为 S3 Standard-IA 存储类。
  + 在对象创建 90 天后将其转换为 S3 Glacier Flexible Retrieval 存储类。
+ 一个过期操作，指示 Amazon S3 在对象创建一年后将其删除。

```
<LifecycleConfiguration>
  <Rule>
    <ID>example-id</ID>
    <Filter>
       <Prefix>logs/</Prefix>
    </Filter>
    <Status>Enabled</Status>
    <Transition>
      <Days>30</Days>
      <StorageClass>STANDARD_IA</StorageClass>
    </Transition>
    <Transition>
      <Days>90</Days>
      <StorageClass>GLACIER</StorageClass>
    </Transition>
    <Expiration>
      <Days>365</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>
```

**注意**  
如果所有 S3 生命周期操作都应用于同一组对象（由筛选条件标识），您可以使用一个规则来描述这些操作。或者，您也可以添加多个规则，每个规则指定一个不同的筛选条件。

**重要**  
当您在 S3 生命周期配置中有多个规则时，对象可能变得符合条件可在同一天执行多个 S3 生命周期操作。在这种情况下，Amazon S3 遵循以下一般规则：  
永久删除优先于转换。
转换优先于[删除标记](DeleteMarker.md)的创建。
当对象有资格进行 S3 Glacier Flexible Retrieval 和 S3 Standard-IA（或 S3 One Zone-IA）转换时，Amazon S3 将选择 S3 Glacier Flexible Retrieval 转换。
 有关示例，请参阅 [重叠的筛选条件和冲突的生命周期操作的示例](lifecycle-conflicts.md#lifecycle-config-conceptual-ex5)。

## 指定多个规则
<a name="lifecycle-config-conceptual-ex4"></a>



如果您希望不同的对象有不同的 S3 生命周期操作，则可以指定多个规则。以下 S3 生命周期配置有两个规则：
+ 规则 1 应用于带键名前缀 `classA/` 的对象。它指示 Amazon S3 在对象创建一年后将其转换为 S3 Glacier Flexible Retrieval 存储类，并在对象创建 10 年后使它们过期。
+ 规则 2 应用于带键名前缀 `classB/` 的对象。它指示 Amazon S3 在对象创建 90 天后将其转换为 S3 Standard-IA 存储类，并在对象创建 1 年后将其删除。

```
<LifecycleConfiguration>
    <Rule>
        <ID>ClassADocRule</ID>
        <Filter>
           <Prefix>classA/</Prefix>        
        </Filter>
        <Status>Enabled</Status>
        <Transition>        
           <Days>365</Days>        
           <StorageClass>GLACIER</StorageClass>       
        </Transition>    
        <Expiration>
             <Days>3650</Days>
        </Expiration>
    </Rule>
    <Rule>
        <ID>ClassBDocRule</ID>
        <Filter>
            <Prefix>classB/</Prefix>
        </Filter>
        <Status>Enabled</Status>
        <Transition>        
           <Days>90</Days>        
           <StorageClass>STANDARD_IA</StorageClass>       
        </Transition>    
        <Expiration>
             <Days>365</Days>
        </Expiration>
    </Rule>
</LifecycleConfiguration>
```

**重要**  
当您在 S3 生命周期配置中有多个规则时，对象可能变得符合条件可在同一天执行多个 S3 生命周期操作。在这种情况下，Amazon S3 遵循以下一般规则：  
永久删除优先于转换。
转换优先于[删除标记](DeleteMarker.md)的创建。
当对象有资格进行 S3 Glacier Flexible Retrieval 和 S3 Standard-IA（或 S3 One Zone-IA）转换时，Amazon S3 将选择 S3 Glacier Flexible Retrieval 转换。
 有关示例，请参阅 [重叠的筛选条件和冲突的生命周期操作的示例](lifecycle-conflicts.md#lifecycle-config-conceptual-ex5)。

## 为启用了版本控制的存储桶指定生命周期规则
<a name="lifecycle-config-conceptual-ex6"></a>

假设您有一个启用了版本控制的存储桶，这意味着对于每个对象，您都有一个当前版本以及零个或零个以上的非当前版本。（有关 S3 版本控制的更多信息，请参阅 [使用 S3 版本控制保留对象的多个版本](Versioning.md)。） 

在下面的示例中，您想要保留一年的历史记录，然后保留 5 个非当前版本。S3 生命周期配置支持保留任何对象的 1 至 100 个版本。请注意，在 Amazon S3 可以使给定版本到期之前，必须存在超过 5 个较新的非当前版本。Amazon S3 将永久删除超过要保留的指定数量的任何其它非当前版本。要进行删除，必须同时超过 `NoncurrentDays` 和 `NewerNoncurrentVersions` 的值。

为了节省存储开销，您希望在非现行的版本成为非现行（假设这些非现行的对象是不需要实时访问的冷数据）后 30 天将非现行的版本移至 S3 Glacier Flexible Retrieval。此外，您还期望在对象创建 90 天后降低当前版本的访问频率，因此您可能会选择将这些对象移动到 S3 Standard-IA 存储类。

```
 1. <LifecycleConfiguration>
 2.     <Rule>
 3.         <ID>sample-rule</ID>
 4.         <Filter>
 5.            <Prefix></Prefix>
 6.         </Filter>
 7.         <Status>Enabled</Status>
 8.         <Transition>
 9.            <Days>90</Days>
10.            <StorageClass>STANDARD_IA</StorageClass>
11.         </Transition>
12.         <NoncurrentVersionTransition>      
13.             <NoncurrentDays>30</NoncurrentDays>      
14.             <StorageClass>GLACIER</StorageClass>   
15.         </NoncurrentVersionTransition>    
16.        <NoncurrentVersionExpiration>     
17.             <NewerNoncurrentVersions>5</NewerNoncurrentVersions>
18.             <NoncurrentDays>365</NoncurrentDays>    
19.        </NoncurrentVersionExpiration> 
20.     </Rule>
21. </LifecycleConfiguration>
```

## 在启用了版本控制的存储桶中移除到期对象删除标记
<a name="lifecycle-config-conceptual-ex7"></a>



已启用版本控制的存储桶的每个对象有一个当前版本，以及零个或多个非当前版本。在删除对象时，请注意以下几点：
+ 如果您在删除请求中未指定版本 ID，Amazon S3 将添加一个删除标记，而不是删除对象。当前对象版本将变为非当前版本，然后删除标记将变为当前版本。
+ 如果在删除请求中指定了版本 ID，Amazon S3 将永久删除对象版本（不会创建删除标记）。
+ 包含零个非当前版本的删除标记称为*过期对象删除标记*。

此示例演示了可在存储桶中创建过期对象删除标记的场景，以及如何使用 S3 生命周期配置指示 Amazon S3 删除过期对象删除标记。

假设您编写了一个 S3 生命周期配置，该配置使用 `NoncurrentVersionExpiration` 操作以在对象变为非当前版本 30 天之后移除这些非当前版本，并保留 10 个非当前版本，如下面的示例所示。请注意，在 Amazon S3 可以使给定版本到期之前，必须存在超过 10 个较新的非当前版本。Amazon S3 将永久删除超过要保留的指定数量的任何其它非当前版本。要进行删除，必须同时超过 `NoncurrentDays` 和 `NewerNoncurrentVersions` 的值。

```
<LifecycleConfiguration>
    <Rule>
        ...
        <NoncurrentVersionExpiration>     
            <NewerNoncurrentVersions>10</NewerNoncurrentVersions>
            <NoncurrentDays>30</NoncurrentDays>    
        </NoncurrentVersionExpiration>
    </Rule>
</LifecycleConfiguration>
```

`NoncurrentVersionExpiration` 操作不应用于当前的对象版本。它只会移除非当前版本。

对于当前对象版本，您可以根据当前对象版本是否遵循了明确定义的生命周期，通过以下方式管理其生命周期：
+ **当前对象版本遵循明确定义的生命周期。**

  在这种情况下，您可以将 S3 生命周期配置与 `Expiration` 操作结合使用，以指示 Amazon S3 移除当前版本，如以下示例所示。

  ```
  <LifecycleConfiguration>
      <Rule>
          ...
          <Expiration>
             <Days>60</Days>
          </Expiration>
          <NoncurrentVersionExpiration>     
              <NewerNoncurrentVersions>10</NewerNoncurrentVersions>
              <NoncurrentDays>30</NoncurrentDays>    
          </NoncurrentVersionExpiration>
      </Rule>
  </LifecycleConfiguration>
  ```

  在此示例中，Amazon S3 将在每个当前对象版本创建 60 天之后通过为其添加删除标记来移除它们。这过程会使当前对象版本变为非当前版本，并使删除标记变为当前版本。有关更多信息，请参阅 [使用 S3 版本控制保留对象的多个版本](Versioning.md)。
**注意**  
不能在同一规则中同时指定 `Days` 和 `ExpiredObjectDeleteMarker` 标签。当您指定 `Days` 标记时，Amazon S3 将于删除标记过旧而无法满足年限条件时自动执行 `ExpiredObjectDeleteMarker` 清理。要在删除标记成为唯一版本时立刻清理，只能使用 `ExpiredObjectDeleteMarker` 标签创建单独的规则。

  同一 S3 生命周期配置中的 `NoncurrentVersionExpiration` 操作将在对象变为非当前对象 30 天后删除它们。因此，在此示例中，所有对象版本在对象创建 90 天后被永久删除。请注意，在此示例中，在 Amazon S3 可以使给定版本到期之前，必须存在超过 10 个较新的非当前版本。Amazon S3 将永久删除超过要保留的指定数量的任何其它非当前版本。要进行删除，必须同时超过 `NoncurrentDays` 和 `NewerNoncurrentVersions` 的值。

  虽然您可以在此过程中创建过期的对象删除标记，但 Amazon S3 会为您检测并移除过期对象删除标记。
+ **当前对象版本没有明确定义的生命周期。**

  在这种情况下，您可以在不需要对象时手动删除它们，从而创建具有一个或多个非当前版本的删除标记。如果使用 `NoncurrentVersionExpiration` 操作的 S3 生命周期配置删除了所有非当前版本，则您现在会获得过期对象删除标记。

  特别针对这种情况，S3 生命周期配置提供了 `Expiration` 操作，让您可以请求移除过期对象删除标记。

  

  ```
  <LifecycleConfiguration>
      <Rule>
         <ID>Rule 1</ID>
          <Filter>
            <Prefix>logs/</Prefix>
          </Filter>
          <Status>Enabled</Status>
          <Expiration>
             <ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker>
          </Expiration>
          <NoncurrentVersionExpiration>     
              <NewerNoncurrentVersions>10</NewerNoncurrentVersions>
              <NoncurrentDays>30</NoncurrentDays>    
          </NoncurrentVersionExpiration>
      </Rule>
  </LifecycleConfiguration>
  ```

通过在 `Expiration` 操作中将 `ExpiredObjectDeleteMarker` 元素设为 `true`，您可以指示 Amazon S3 移除过期对象删除标记。

**注意**  
当您使用 `ExpiredObjectDeleteMarker` S3 生命周期操作时，该规则无法指定基于标签的筛选条件。

## 用于中止分段上传的生命周期配置
<a name="lc-expire-mpu"></a>

您可以使用 Amazon S3 的分段上传 REST API 操作来在分段中上载大型对象。有关分段上传的更多信息，请参阅 [在 Amazon S3 中使用分段上传来上传和复制对象](mpuoverview.md)。

通过使用 S3 生命周期配置，当分段上传在指定的启动后的天数内未完成时，您可以指示 Amazon S3 停止未完成的分段上传（通过在规则中指定的键名称前缀确定）。当 Amazon S3 中止分段上传时，它将删除与分段上传关联的所有分段。此流程通过确保您没有包含存储在 Amazon S3 中的分段的未完成分段上传，从而帮助控制存储成本。

**注意**  
当您使用 `AbortIncompleteMultipartUpload` S3 生命周期操作时，该规则无法指定基于标签的筛选条件。

下面是使用 `AbortIncompleteMultipartUpload` 操作指定规则的示例 S3 生命周期配置。此操作将指引 Amazon S3 在分段上传启动 7 天后停止未完成的分段上传。

```
<LifecycleConfiguration>
    <Rule>
        <ID>sample-rule</ID>
        <Filter>
           <Prefix>SomeKeyPrefix/</Prefix>
        </Filter>
        <Status>rule-status</Status>
        <AbortIncompleteMultipartUpload>
          <DaysAfterInitiation>7</DaysAfterInitiation>
        </AbortIncompleteMultipartUpload>
    </Rule>
</LifecycleConfiguration>
```

## 使没有数据的非当前对象到期
<a name="lc-size-rules"></a>

您可以创建仅根据对象的大小转换对象的规则。您可以指定最小大小（`ObjectSizeGreaterThan`）或最大大小（`ObjectSizeLessThan`），也可以指定一个对象大小范围，单位为字节。当使用多个筛选条件（如前缀和大小规则）时，必须将筛选条件包装在 `<And>` 元素中。

```
<LifecycleConfiguration>
  <Rule>
    <ID>Transition with a prefix and based on size</ID>
    <Filter>
       <And>
          <Prefix>tax/</Prefix>
          <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan>
       </And>   
    </Filter>
    <Status>Enabled</Status>
    <Transition>
      <Days>365</Days>
      <StorageClass>GLACIER</StorageClass>
    </Transition>
  </Rule>
</LifecycleConfiguration>
```

当通过同时使用 `ObjectSizeGreaterThan` 和 `ObjectSizeLessThan` 元素指定范围时，最大对象大小必须大于最小对象大小。当使用多个筛选条件时，必须将筛选条件包装在 `<And>` 元素中。以下示例显示了如何指定范围在 500 字节到 64000 字节之间的对象。指定范围时，`ObjectSizeGreaterThan` 和 `ObjectSizeLessThan` 筛选条件不包含所指定的值。有关更多信息，请参阅 [Filter 元素](intro-lifecycle-rules.md#intro-lifecycle-rules-filter)。

```
<LifecycleConfiguration>
    <Rule>
        ...
          <And>
             <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan>
             <ObjectSizeLessThan>64000</ObjectSizeLessThan>
          </And>
    </Rule>
</LifecycleConfiguration>
```

您还可以创建规则，专门使没有数据的非当前对象过期，包括在启用版本控制的存储桶中创建的非当前删除标记对象。以下示例使用 `NoncurrentVersionExpiration` 操作，在对象变为非当前版本 30 天之后移除这些非当前版本，并保留 10 个非当前对象版本。本示例还使用 `ObjectSizeLessThan` 元素来只筛选没有数据的对象。

请注意，在 Amazon S3 可以使给定版本到期之前，必须存在超过 10 个较新的非当前版本。Amazon S3 将永久删除超过要保留的指定数量的任何其它非当前版本。要进行删除，必须同时超过 `NoncurrentDays` 和 `NewerNoncurrentVersions` 的值。

```
<LifecycleConfiguration>
  <Rule>
    <ID>Expire noncurrent with size less than 1 byte</ID>
    <Filter>
       <ObjectSizeLessThan>1</ObjectSizeLessThan>
    </Filter>
    <Status>Enabled</Status>
    <NoncurrentVersionExpiration>     
       <NewerNoncurrentVersions>10</NewerNoncurrentVersions>
       <NoncurrentDays>30</NoncurrentDays>
    </NoncurrentVersionExpiration>
  </Rule>
</LifecycleConfiguration>
```

## 示例：支持转换小于 128 KB 的对象
<a name="lc-small-objects"></a>

Amazon S3 对生命周期配置应用默认行为，来防止将小于 128 KB 的对象转换到任何存储类。可以通过向配置中添加最小大小 (`ObjectSizeGreaterThan`) 或最大大小 (`ObjectSizeLessThan`) 筛选条件来指定更小的大小，从而支持转换更小的对象。以下示例支持将任何小于 128 KB 的对象转换到 S3 Glacier Instant Retrieval 存储类：

```
<LifecycleConfiguration>
  <Rule>
    <ID>Allow small object transitions</ID>
    <Filter>
          <ObjectSizeGreaterThan>1</ObjectSizeGreaterThan>
    </Filter>
    <Status>Enabled</Status>
    <Transition>
      <Days>365</Days>
      <StorageClass>GLACIER_IR</StorageClass>
    </Transition>
  </Rule>
</LifecycleConfiguration>
```

**注意**  
2024 年 9 月，Amazon S3 更新了小对象的默认转换行为，如下所示：  
**更新了默认转换行为** — 从 2024 年 9 月起，默认行为禁止将小于 128 KB 的对象转换到任何存储类。
**之前的默认转换行为**：在 2024 年 9 月之前，默认行为仅支持将小于 128 KB 的对象转换到 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 存储类别。
2024 年 9 月之前创建的配置将保留之前的转换行为，除非您对其进行修改。也就是说，如果您创建、编辑或删除规则，则配置的默认转换行为会更改为更新的行为。如果使用案例需要，则可以更改默认转换行为，以便小于 128 KB 的对象将转换到 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive。为此，请在 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) 请求中使用可选 `x-amz-transition-object-size-minimum-default` 标头。

以下示例说明如何在 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) 请求中使用 `x-amz-transition-object-size-minimum-default` 标头，来将 `varies_by_storage_class` 默认转换行为应用于 S3 生命周期配置。此行为支持将小于 128 KB 的对象转换到 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类别。默认情况下，所有其它存储类都将阻止小于 128 KB 的转换。您仍然可以使用自定义筛选条件来更改任何存储类的最小转换大小。自定义筛选条件始终优先于默认转换行为：

```
HTTP/1.1 200
x-amz-transition-object-size-minimum-default: varies_by_storage_class
<?xml version="1.0" encoding="UTF-8"?>
...
```