

终止支持通知： Amazon 将于 2025 年 12 月 15 日终止对的支持 Amazon IoT Analytics。2025 年 12 月 15 日之后，您将无法再访问 Amazon IoT Analytics 控制台或 Amazon IoT Analytics 资源。有关更多信息，请参阅[Amazon IoT Analytics 终止支持](https://docs.amazonaws.cn/iotanalytics/latest/userguide/iotanalytics-end-of-support.html)。

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

# 创建数据集
<a name="create-dataset"></a>

 您可以通过创建 SQL 数据集或容器数据集从数据存储中检索数据。 Amazon IoT Analytics 可以查询数据来回答分析问题。虽然数据存储不是数据库，但您可以使用 SQL 表达式来查询数据并生成存储在数据集中的结果。

**Topics**
+ [查询数据](#query-data)
+ [访问查询的数据](#access-queried-data)

## 查询数据
<a name="query-data"></a>

要查询数据，您需要创建一个数据集。数据集包含用于查询数据存储的 SQL 以及在您选择的日期和时间重复该查询的可选计划。您可以使用类似于 [Amazon 计划表达式的表达式来创建可选 CloudWatch 计划](https://docs.amazonaws.cn/AmazonCloudWatch/latest/events/ScheduledEvents.html)。

运行以下 命令以创建数据集。

```
aws iotanalytics create-dataset --cli-input-json file://mydataset.json
```

其中 `mydataset.json` 文件包含以下内容。

```
{
    "datasetName": "mydataset",
    "actions": [
        {
            "actionName":"myaction",
            "queryAction": {
                "sqlQuery": "select * from mydatastore"
            }
        }
    ]
}
```

运行以下命令，通过执行查询来创建数据集内容。

```
aws iotanalytics create-dataset-content --dataset-name mydataset
```

等待几分钟，在创建完数据集内容后，便可继续。

## 访问查询的数据
<a name="access-queried-data"></a>

查询结果是以 CSV 文件格式存储的数据集内容。将通过 Amazon S3 向您提供该文件。以下示例说明了如何检查结果是否已准备就绪、文件是否已下载。

运行以下 `get-dataset-content` 命令：

```
aws iotanalytics get-dataset-content --dataset-name mydataset
```

如果数据集包含任何数据，则 `get-dataset-content` 输出在 `status` 字段中具有 `"state": "SUCCEEDED"`，如以下示例所示：

```
{
    "timestamp": 1508189965.746,
    "entries": [
        {
          "entryName": "someEntry",
          "dataURI": "https://aws-iot-analytics-datasets-f7253800-859a-472c-aa33-e23998b31261.s3.amazonaws.com/results/f881f855-c873-49ce-abd9-b50e9611b71f.csv?X-Amz-"
          
        }
    ],
    "status": {
      "state": "SUCCEEDED",
      "reason": "A useful comment."
    }
}
```

`dataURI` 是输出结果的签名 URL。它在较短的一段时间内有效 (几个小时)。根据您的工作流，您可能需要在访问内容之前始终调用 `get-dataset-content`，因为调用此命令会生成新的签名 URL。