

# 使用 S3 Intelligent-Tiering
<a name="using-intelligent-tiering"></a>

您可以使用 S3 Intelligent-Tiering 存储类来自动优化存储成本。S3 Intelligent-Tiering 通过在访问模式更改时在访问层之间的细粒度对象级别上移动数据，实现自动成本节约。对于可以异步访问的数据，您可以使用Amazon Web Services 管理控制台、Amazon CLI 或 Amazon S3 API 选择在 S3 Intelligent-Tiering 存储类中启用自动归档。

## 将数据移动到 S3 Intelligent-Tiering
<a name="moving-data-to-int-tiering"></a>

有两种方法可以将数据移动到 S3 Intelligent-Tiering 中。可以通过控制台将对象直接上传到 S3 Intelligent-Tiering，也可以使用 `PUT` 操作以编程方式上传对象。有关更多信息，请参阅 [设置对象的存储类](sc-howtoset.md)。还可以配置 S3 生命周期配置，以便将对象从 S3 Standard 或 S3 Standard-Infrequent Access 转换为 S3 Intelligent-Tiering。

### 使用 Direct PUT 将数据上载到 S3 Intelligent-Tiering
<a name="moving-data-to-int-tiering-directPUT"></a>

使用 [PUT](https://docs.amazonaws.cn/AmazonS3/latest/API/API_PutObject.html) API 操作将对象上传到 S3 Intelligent-Tiering 存储类时，您可以在 [https://docs.amazonaws.cn/AmazonS3/latest/API/API_PutObject.html#API_PutObject_RequestSyntax](https://docs.amazonaws.cn/AmazonS3/latest/API/API_PutObject.html#API_PutObject_RequestSyntax) 请求标头中指定 S3 Intelligent-Tiering。

以下请求在 `myBucket` 桶中存储镜像 `my-image.jpg`。请求使用 `x-amz-storage-class` 标头来请求使用 S3 Intelligent-Tiering 存储类来存储对象。

**Example**  

```
PUT /my-image.jpg HTTP/1.1
Host: myBucket.s3.<Region>.amazonaws.com (http://amazonaws.com/)
Date: Wed, 1 Sep 2021 17:50:00 GMT
Authorization: authorization string
Content-Type: image/jpeg
Content-Length: 11434
Expect: 100-continue
x-amz-storage-class: INTELLIGENT_TIERING
```

### 使用 S3 生命周期将数据从 S3 Standard 或 S3 Standard-Infrequent Access 转换到 S3 Intelligent-Tiering
<a name="moving-data-to-int-tiering-lifecycle"></a>

您可以在 S3 生命周期配置中添加规则以指示 Amazon S3 将对象转换为一个存储类。有关支持的转换和相关约束的信息，请参阅[使用 S3 生命周期转换对象](https://docs.amazonaws.cn/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html)。

您可以在桶或前缀级别指定 S3 生命周期配置。在此 S3 生命周期配置规则中，筛选条件指定了一个键前缀 (`documents/`)。因此，此规则应用于带键名前缀 `documents/` 的对象，例如 `documents/doc1.txt` 和 `documents/doc2.txt`。该规则指定了 `Transition` 指示 Amazon S3 在对象创建 0 天后将其转换到 S3 Intelligent-Tiering 存储类的操作。在这种情况下，对象有资格在创建后的午夜 UTC 转换到 S3 Intelligent-Tiering。

**Example**  

```
<LifecycleConfiguration>
  <Rule>
    <ID>ExampleRule</ID>
    <Filter>
       <Prefix>documents/</Prefix>
    </Filter>
    <Status>Enabled</Status>
    <Transition>
      <Days>0</Days>
      <StorageClass>INTELLIGENT_TIERING</StorageClass>
    </Transition>
 </Rule>
</LifecycleConfiguration>
```

启用了版本控制的存储桶会维护一个当前对象版本，以及零个或零个以上非当前对象版本。可以为当前和非当前对象版本定义单独的生命周期规则。

有关更多信息，请参阅 [生命周期配置元素](intro-lifecycle-rules.md)。

## 启用 S3 Intelligent-Tiering 归档访问和深度归档访问带
<a name="enable-auto-archiving-int-tiering"></a>

为了在几分钟到几小时内就可以访问的数据上获得最低的存储开销，可以通过使用 Amazon Web Services 管理控制台、Amazon CLI 或 Amazon S3 API 创建一个桶、前缀或对象标签级配置性能来激活一个或两个归档访问层。

### 使用 S3 控制台
<a name="enable-auto-archiving-int-tiering-console"></a>

**要启用 S3 Intelligent-Tiering 自动归档**

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 在 **Buckets**（桶）列表中，请选择您想要的桶的名称。

1. 选择**属性**。

1. 导航到 **S3 Intelligent-Tiering 归档配置**部分并选择**创建配置**。

1. 在**归档配置设置**部分中，为 S3 Intelligent-Tiering 归档配置指定描述性配置名称。

1. 在**选择配置范围**下，选择要使用的配置范围。您也可以使用共享前缀、对象标签或两者结合，将配置范围限制为桶内的指定对象。

   1. 要限制配置的范围，请选择**使用一个或多个筛选条件限制此配置的范围**。

   1. 要使用单个前缀限制配置的范围，请在**前缀**下输入前缀。

   1. 要使用对象标签限制配置的范围，请选择**添加标签**，然后为密钥输入一个值。

1. 在**状态**下，选择**启用**。

1. 在**归档设置**部分中，选择一个或两个要启用的归档访问层。

1. 选择**创建**。

### 使用 Amazon CLI
<a name="enable-auto-archiving-int-tiering-cli"></a>

您可以使用以下 Amazon CLI 命令管理 S3 Intelligent-Tiering 生命周期配置：
+ [https://docs.amazonaws.cn/cli/latest/reference/s3api/delete-bucket-intelligent-tiering-configuration.html](https://docs.amazonaws.cn/cli/latest/reference/s3api/delete-bucket-intelligent-tiering-configuration.html)
+ [https://docs.amazonaws.cn/cli/latest/reference/s3api/get-bucket-intelligent-tiering-configuration.html](https://docs.amazonaws.cn/cli/latest/reference/s3api/get-bucket-intelligent-tiering-configuration.html)
+ [https://docs.amazonaws.cn/cli/latest/reference/s3api/list-bucket-intelligent-tiering-configurations.html](https://docs.amazonaws.cn/cli/latest/reference/s3api/list-bucket-intelligent-tiering-configurations.html)
+ [https://docs.amazonaws.cn/cli/latest/reference/s3api/put-bucket-intelligent-tiering-configuration.html](https://docs.amazonaws.cn/cli/latest/reference/s3api/put-bucket-intelligent-tiering-configuration.html)

有关设置 Amazon CLI 的说明，请参阅《Amazon S3 API 参考》**中的 [Developing with Amazon S3 using the Amazon CLI](https://docs.amazonaws.cn/AmazonS3/latest/API/setup-aws-cli.html)。

使用 Amazon CLI，您不能将配置指定为 XML 文件。您必须改为指定 JSON。以下是您可在 Amazon CLI 命令中指定的示例 XML S3 Intelligent-Tiering 生命周期配置和等效 JSON。

以下示例将 S3 Intelligent-Tiering 配置为指定桶。

**Example [https://docs.amazonaws.cn/cli/latest/reference/s3api/put-bucket-intelligent-tiering-configuration.html](https://docs.amazonaws.cn/cli/latest/reference/s3api/put-bucket-intelligent-tiering-configuration.html)**  

```
{
  "Id": "string",
  "Filter": {
    "Prefix": "string",
    "Tag": {
      "Key": "string",
      "Value": "string"
    },
    "And": {
      "Prefix": "string",
      "Tags": [
        {
          "Key": "string",
          "Value": "string"
        }
        ...
      ]
    }
  },
  "Status": "Enabled"|"Disabled",
  "Tierings": [
    {
      "Days": integer,
      "AccessTier": "ARCHIVE_ACCESS"|"DEEP_ARCHIVE_ACCESS"
    }
    ...
  ]
}
```

```
PUT /?intelligent-tiering&id=Id HTTP/1.1
Host: Bucket.s3.amazonaws.com
<?xml version="1.0" encoding="UTF-8"?>
<IntelligentTieringConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <Id>string</Id>
   <Filter>
      <And>
         <Prefix>string</Prefix>
         <Tag>
            <Key>string</Key>
            <Value>string</Value>
         </Tag>
         ...
      </And>
      <Prefix>string</Prefix>
      <Tag>
         <Key>string</Key>
         <Value>string</Value>
      </Tag>
   </Filter>
   <Status>string</Status>
   <Tiering>
      <AccessTier>string</AccessTier>
      <Days>integer</Days>
   </Tiering>
   ...
</IntelligentTieringConfiguration>
```

### 使用 PUT API 操作
<a name="enable-auto-archiving-int-tiering-api"></a>

您可以使用 [https://docs.amazonaws.cn/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html) 操作具体桶，每个桶最多 1000 个 S3 Intelligent-Tiering 配置。您可以使用共享前缀或对象标签，定义存储段中哪些对象符合归档访问层的条件。使用共享前缀或对象标签，您可以使各个指标筛选条件满足特定业务应用程序、工作流或内部组织的需求。您还可以灵活地激活归档访问层、深层归档访问层或两者结合。

## 开始使用 S3 Intelligent-Tiering
<a name="intelligent-tiering-tutorial"></a>

要了解有关如何使用 S3 Intelligent-Tiering 的更多信息，请参阅[教程：开始使用 S3 Intelligent-Tiering](https://www.amazonaws.cn/getting-started/hands-on/getting-started-using-amazon-s3-intelligent-tiering/?ref=docs_gateway/amazons3/using-intelligent-tiering.html)。