

我们不再更新 Amazon Machine Learning 服务，也不再接受新用户使用该服务。本文档可供现有用户使用，但我们不会再对其进行更新。有关更多信息，请参阅[什么是 Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 Amazon S3 与 Amazon ML 结合使用
<a name="using-amazon-s3-with-amazon-ml"></a>

Amazon Simple Storage Service (Amazon S3) 是一种面向 Internet 的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。Amazon ML 将 Amazon S3 作为执行以下任务的主数据存储库：
+ 访问您的输入文件以创建用于训练和评估 ML 模型的数据源对象。
+ 访问您的输入文件以生成批量预测。
+ 在使用您的 ML 模型生成批量预测时，将预测文件输出到您指定的 S3 存储桶中。
+ 将 Amazon Redshift 或 Amazon Relational Database Service (Amazon RDS) 存储的数据复制到 .csv 文件中，然后将其上传到 Amazon S3。

要让 Amazon ML 执行这些任务，您必须授予 Amazon ML 访问您的 Amazon S3 数据的权限。

**注意**  
您无法将批量预测文件输出到仅接受服务器端加密文件的 S3 存储桶。通过确认在请求中没有 `Deny` 标头时，策略对 `s3:PutObject` 操作不会有 `s3:x-amz-server-side-encryption` 效果，确保您的存储桶策略允许上传未加密的文件。有关 S3 服务器端加密存储桶策略的更多信息，请参阅 [https://docs.aws.amazon.com/AmazonS3/latest/userguide/](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)中的[使用服务器端加密保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)。

## 将您的数据上传到 Amazon S3
<a name="uploading-your-data-to-amazon-s3"></a>

您必须将输入数据上传到 Amazon Simple Storage Service (Amazon S3)，因为 Amazon ML 会从 Amazon S3 位置读取数据。您可以将您的数据直接上传到 Amazon S3（例如，从您的计算机上传），也可以让 Amazon ML 将您存储在 Amazon Redshift 或 Amazon Relational Database Service (RDS) 中的数据复制到 .csv 文件，然后将文件上传到 Amazon S3。

有关从 Amazon Redshift 或 Amazon RDS 复制数据的更多信息，请分别参阅[将 Amazon Redshift 与 Amazon ML 结合使用](https://docs.aws.amazon.com/machine-learning/latest/dg/using-amazon-redshift-with-amazon-ml.html)或[将 Amazon RDS 与 Amazon ML 结合使用](https://docs.aws.amazon.com/machine-learning/latest/dg/using-amazon-rds-with-amazon-ml.html)。

本节的剩余部分介绍如何将输入数据从您的计算机直接上传到 Amazon S3。开始本节的操作过程之前，您需要将数据保存在 .csv 文件中。有关如何正确设置 .csv 文件的格式以便 Amazon ML 使用的信息，请参阅[了解 Amazon ML 的数据格式](https://docs.aws.amazon.com/machine-learning/latest/dg/understanding-the-data-format-for-amazon-ml.html)。

**将您的数据从计算机上传到 Amazon S3**

1.  登录 AWS 管理控制台并打开位于 [https://console.aws.amazon.com/s3 的 Amazon S3](https://console.aws.amazon.com/s3) 控制台。

1.  创建存储桶或选择现有的存储桶。

   1.  要创建存储桶，请选择**创建存储桶**。为您的存储桶命名，选择区域（您可以选择任何可用区域），然后选择**创建**。有关更多信息，请参阅 [Amazon Simple Storage 入门指南](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) 中的*创建存储桶*。

   1. 要使用现有的存储桶，通过在**所有存储桶**列表中选择存储桶来搜索存储桶。当存储桶名称出现后，选择该存储桶，然后选择**上传**。

1. 在**上传**对话框中，选择**添加文件**。

1. 导航到包含输入数据 .csv 文件的文件夹，然后选择**打开**。

## Permissions
<a name="w2aac16c25c12"></a>

要授权 Amazon ML 访问您的一个 S3 存储桶，您必须编辑存储桶策略。

有关授权 Amazon ML 从您在 Amazon S3 中的存储桶中读取数据的信息，请参阅[为 Amazon ML 授予从 Amazon S3 读取您的数据的权限](https://docs.aws.amazon.com/machine-learning/latest/dg/granting-amazon-ml-permissions-to-read-your-data-from-amazon-s3.html)。

有关授权 Amazon ML 将批量预测结果输出到您在 Amazon S3 中的存储桶的信息，请参阅[向 Amazon ML 授予输出预测到 Amazon S3 的权限](https://docs.aws.amazon.com/machine-learning/latest/dg/granting-amazon-ml-permissions-to-output-predictions-to-amazon-s3.html)。

有关管理 Amazon S3 资源访问权限的信息，请参阅 [Amazon S3 开发人员指南](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)。