

# 在对象上使用 Amazon S3 Select 的示例
<a name="using-select"></a>

**重要**  
不再向新客户提供 Amazon S3 Select。Amazon S3 Select 的现有客户可以像往常一样继续使用该功能。[了解详情](https://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/) 

您可以使用 S3 Select，通过 Amazon S3 控制台、REST API 和 AWS SDK 从一个对象中选择内容。

有关 S3 Select 支持的 SQL 函数的更多信息，请参阅[SQL 函数](s3-select-sql-reference-sql-functions.md)。

## 使用 S3 控制台
<a name="s3-select-objects-console"></a>

**在 Amazon S3 控制台中选择对象中的内容**

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

1. 在左侧导航窗格中，选择**存储桶**。

1. 选择包含您想要从中选择内容的对象的桶，然后选择对象的名称。

1. 选择**对象操作**，然后选择**使用 S3 Select 进行查询**。

1. 根据输入数据的格式配置**输入设置**。

1. 根据要接收的输出的格式配置**输出设置**。

1. 要从所选对象中提取记录，请在 **SQL 查询**下输入 SELECT SQL 命令。有关如何编写 SQL 命令的更多信息，请参阅[Amazon S3 Select 的 SQL 参考](s3-select-sql-reference.md)。

1. 输入 SQL 查询后，选择**运行 SQL 查询**。然后，在**查询结果**下，您可以看到 SQL 查询的结果。

## 使用 REST API
<a name="SelectObjectContentUsingRestApi"></a>

您可以使用 AWS SDK 从对象中选择内容。然而，如果您的应用程序需要它，则可以直接发送 REST 请求。有关请求和响应格式的更多信息，请参阅 [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html)。

## 使用 AWS SDK
<a name="SelectObjectContentUsingSDK"></a>

您可以使用 Amazon S3 Select 通过 `selectObjectContent` 方法选择对象的一些内容。如果此方法成功，它将返回 SQL 表达式的结果。

------
#### [ Java ]

要将 Amazon S3 Select 与适用于 Java 的 AWS SDK 结合使用，可以返回对象（包含以 CSV 格式存储的数据）中存储的每条记录的第一列的值。还可以请求返回 `Progress` 和 `Stats` 消息。必须提供有效的存储桶名称和包含 CSV 格式的数据的对象。

要将 Amazon S3 Select 与适用于 Java 的 AWS SDK 结合使用，可以返回对象（包含以 CSV 格式存储的数据）中存储的每条记录的第一列的值。还可以请求返回 `Progress` 和 `Stats` 消息。必须提供有效的存储桶名称和包含 CSV 格式的数据的对象。

有关如何将 Amazon S3 Select 与适用于 Java 的 AWS SDK 结合使用的示例，请参阅《Amazon S3 API Reference》**中的 [Select content from an object](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_SelectObjectContent_section.html)。

------
#### [ JavaScript ]

有关将 适用于 JavaScript 的 AWS SDK 与 S3 `SelectObjectContent` API 操作一起使用从 Amazon S3 中存储的 JSON 和 CSV 文件中选择记录的 JavaScript 示例，请参阅博客文章[在 适用于 JavaScript 的 AWS SDK 中引入对 Amazon S3 Select 的支持](https://aws.amazon.com/blogs/developer/introducing-support-for-amazon-s3-select-in-the-aws-sdk-for-javascript/)。

------
#### [ Python ]

有关使用 SQL 查询来搜索通过使用 S3 Select 以逗号分隔值（CSV）文件形式加载到 Amazon S3 中的数据的 Python 示例，请参阅博客文章[使用 Amazon S3 Select 在没有服务器或数据库的情况下查询数据](https://aws.amazon.com/blogs/storage/querying-data-without-servers-or-databases-using-amazon-s3-select/)。

------