

终止支持通知： 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)。

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

# 入门 Amazon IoT Analytics （控制台）
开始使用（控制台）

使用本教程创建所需的 Amazon IoT Analytics 资源（也称为组件），以发现有关物联网设备数据的有用见解。

**备注**  
如果您在以下教程中输入大写字符，则 Amazon IoT Analytics 会自动将其更改为小写字符。
 Amazon IoT Analytics 控制台具有一键入门功能，用于创建频道、管道、数据存储和数据集。登录 Amazon IoT Analytics 控制台后即可找到此功能。  
本教程将引导您完成创建 Amazon IoT Analytics 资源的每个步骤。

按照以下说明创建 Amazon IoT Analytics 频道、管道、数据存储和数据集。本教程还向您展示了如何使用 Amazon IoT Core 控制台发送要采集到 Amazon IoT Analytics的消息。

**Topics**
+ [

## 登录 Amazon IoT Analytics 控制台
](#quickstart-console-signin)
+ [

## 创建通道
](#quickstart-create-channel)
+ [

## 创建数据存储
](#quickstart-create-datastore)
+ [

## 创建管道
](#quickstart-create-pipeline)
+ [

## 创建数据集
](#quickstart-create-dataset)
+ [

## 使用发送消息数据 Amazon IoT
](#send-iotcore-messages)
+ [

## 查看 Amazon IoT 消息的进度
](#check-iotcore-messages)
+ [

## 访问查询结果
](#access-query-results)
+ [

## 探索您的数据
](#explore-data)
+ [

## 笔记本模板
](#notebook-templates)

## 登录 Amazon IoT Analytics 控制台


要开始使用，您必须有一个 Amazon 帐户。如果您已经有一个 Amazon 帐户，请导航到[https://console.aws.amazon.com/iotanalytics/](https://console.amazonaws.cn/iotanalytics/)。

如果您没有 Amazon 帐户，请按照以下步骤创建一个。

**创建 Amazon 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.amazonaws.cn/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 Amazon Web Services 账户，就会创建*Amazon Web Services 账户根用户*一个。根用户有权访问该账户中的所有 Amazon Web Services 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

1. 登录 Amazon Web Services 管理控制台 并导航到[https://console.aws.amazon.com/iotanalytics/](https://console.amazonaws.cn/iotanalytics/)。

## 创建通道


通道收集并存档未处理的、非结构化的原始 IoT 设备数据。按照以下步骤创建您的通道。

**创建通道**

1. 在 “[https://console.aws.amazon.com/iotanalytics/](https://console.amazonaws.cn/iotanalytics/)**准备数据 Amazon IoT Analytics**” 部分中，选择**查看频道**。  
![\[“使用准备数据 Amazon IoT Analytics” 的屏幕截图。\]](http://docs.amazonaws.cn/iotanalytics/latest/userguide/images/prepare-your-data.png)
**提示**  
也可以从导航窗格中选择 **通道**。

1. 在 **Channels** (通道) 页面上，选择 **Create channel** (创建通道)。

1. 在**指定通道详情**页面上，输入有关通道的详细信息。

   1. 输入唯一且易于识别的通道名称。

   1. （可选）在**标签**中，将一个或多个自定义标签（键值对）添加到通道中。标签有助于标识您为 Amazon IoT Analytics创建的资源。

   1. 选择**下一步**。

1. Amazon IoT Analytics 将未经处理的原始物联网设备数据存储在亚马逊简单存储服务 (Amazon S3) 存储桶中。您可以选择自己的 Amazon S3 存储桶，您可以访问和管理该存储桶， Amazon IoT Analytics 也可以为您管理 Amazon S3 存储桶。

   1. 在本教程中，对于**存储类型**，选择**服务托管存储**。

   1. 对于**选择原始数据的存储时间**，选择**无限期**。

   1. 选择**下一步**。

1. 在**配置源**页面上，输入 Amazon IoT Analytics 要从中收集消息数据的信息 Amazon IoT Core。

   1. 输入 Amazon IoT Core 主题筛选条件，例如`update/environment/dht1`。在本教程的后面部分，您将使用此主题筛选条件向通道发送消息数据。

   1. 在 **IAM 角色** 区域中，选择 **新建**。在 **创建新角色**窗口中，输入角色的 **名称**，然后选择 **创建角色**。这会自动创建附加了相应策略的角色。

   1. 选择**下一步**。

1. 检查您的选择，然后选择**创建渠道**。

1. 确认您的新通道显示在**通道**页面上。

## 创建数据存储


数据存储接收并存储您的消息数据。数据存储不是数据库。相反，数据存储是 Amazon S3 存储桶中可扩展且可查询的存储库。您可以为来自不同设备或位置的消息使用多个数据存储。或者，您可以根据管道配置和要求筛选消息数据。

按照以下步骤创建数据存储。

**创建数据存储**

1. 在[https://console.aws.amazon.com/iotanalytics/](https://console.amazonaws.cn/iotanalytics/)**准备数据使用 Amazon IoT Analytics**部分中，选择**查看数据存储**。

1. 在 **数据存储** 页面上，选择 **创建数据存储**。

1. 在**指定数据存储详细信息**页面上，输入数据存储相关的基本信息。

   1. 在**数据存储 ID** 中，输入唯一的数据存储 ID。该 ID 在创建后无法更改。

   1. （可选）对于**标签**，选择**添加新标签**，将一个或多个自定义标签（键值对）添加到数据存储中。标签有助于标识您为 Amazon IoT Analytics创建的资源。

   1. 选择**下一步**。

1. 在**配置存储类型**页面上，指定如何存储数据。

   1. 对于**存储类型**，选择**服务托管存储**。

   1. 对于**配置要保留已处理数据的时间**，选择**无限期**。

   1. 选择**下一步**。

1. Amazon IoT Analytics 数据存储支持 JSON 和 Parquet 文件格式。对于数据存储数据格式，请选择 **JSON** 或 **Parquet**。有关 Amazon IoT Analytics 支持的文件类型的更多信息，请参阅 [文件格式](iotanalytics-schema.md)。

   选择**下一步**。

1. （可选） Amazon IoT Analytics 支持数据存储中的自定义分区，因此您可以查询已修剪的数据以缩短延迟。有关支持的自定义分区的更多信息，请参阅[自定义分区](custom-partitioning.md)。

   选择**下一步**。

1. 检查您的选择，然后选择 **创建数据存储**。

1. 确认新数据存储显示在**数据存储**页面上。

## 创建管道


您必须创建一个管道，将通道连接到数据存储。基本管道仅指定收集数据的通道，并标识消息发送到的数据存储。有关更多信息，请参阅[管道活动](https://docs.amazonaws.cn/iotanalytics/latest/userguide/pipeline-activities.html#aws-iot-analytics-pipeline-activities)。

在本教程中，您将创建一个仅将通道连接到数据存储的管道。以后，您可以引入管道活动来处理此数据。

执行以下步骤创建管道。

**创建管道**

1. 在[https://console.aws.amazon.com/iotanalytics/](https://console.amazonaws.cn/iotanalytics/)**准备数据使用 Amazon IoT Analytics**部分中，选择**查看管道**。
**提示**  
也可以从导航窗格中选择 **管道**。

1. 在 **管道** 页面上，选择 **创建管道**。

1. 输入有关管道的详细信息。

   1. 在**设置管道 ID 和源**中，输入管道名称。

   1. 选择管道的来源，这是您的管道将从中读取消息的 Amazon IoT Analytics 渠道。

   1. 指定管道的输出，即存储已处理消息数据的数据存储。

   1. （可选）在**标签**中，将一个或多个自定义标签（键值对）添加到管道中。

   1. 在**推断消息属性**页面上，输入属性名称和示例值，从列表中选择数据类型，然后选择**添加属性**。

   1. 对所需数量的属性重复上一步操作，然后选择**下一步**。

   1. 现在您不会添加任何管道活动。在**丰富、转换和筛选消息**页面上，选择**下一步**。

1. 检查您的选择，然后选择 **创建管道**。

1. 确认您的新管道显示在**管道**页面上。

**注意**  
您创建 Amazon IoT Analytics 资源是为了让它们可以执行以下操作：  
使用*通道*收集未处理的原始 IoT 设备消息数据。
将您的 IoT 设备消息数据存储在*数据存储*中。
使用*管道*清理、筛选、转换和丰富数据。
接下来，您将创建一个 Amazon IoT Analytics SQL 数据集，以发现有关您的物联网设备的有用见解。

## 创建数据集


**注意**  
 数据集通常是数据的集合，这些数据可能以表格形式呈现，也可能不以表格形式呈现。相比之下，通过对数据存储中的数据应用 SQL 查询来 Amazon IoT Analytics 创建数据集。

您现在具有一个通道以将原始消息数据路由到管道，该管道将数据存储在数据存储以对其进行查询。要查询数据，您需要创建一个数据集。数据集包含用于查询数据存储的 SQL 语句和表达式，以及在您指定的日期和时间重复该查询的可选计划。您可以使用类似于 [Amazon CloudWatch 计划表达式的表达式](https://docs.amazonaws.cn/AmazonCloudWatch/latest/events/ScheduledEvents.html)来创建可选计划。

**创建数据集**

1. 在的[https://console.aws.amazon.com/iotanalytics/](https://console.amazonaws.cn/iotanalytics/)**左侧导航窗格中**，选择**数据集**。

1. 在**创建数据集**页面上，选择**创建 SQL**。

1. 在**指定数据集详细信息**页面上，指定数据集的详细信息。

   1. 输入数据集的名称。

   1. 对于**数据存储源**，选择用于标识先前所创建数据存储的唯一 ID。

   1. （可选）在**标签**中，将一个或多个自定义标签（键值对）添加到数据集中。

1. 使用 SQL 表达式查询数据并回答分析问题。您的查询结果存储在此数据集中。

   1. 在**作者查询**字段中，输入使用通配符显示最多五行数据的 SQL 查询。

      ```
      SELECT * FROM my_data_store LIMIT 5
      ```

       有关中支持的 SQL 功能的更多信息 Amazon IoT Analytics，请参见[中的 SQL 表达式 Amazon IoT Analytics](sql-support.md)。

   1. 您可以选择**测试查询**来验证您的输入是否正确，并在查询后以表格显示结果。
**注意**  
在本教程中，此时您的数据存储可能为空。在空数据存储上运行 SQL 查询不会返回结果，因此您可能只会看到 `__dt`。
您必须小心地将 SQL 查询限制为合理的大小以免长时间运行，因为 Athena [限制了运行的最大查询数](https://docs.amazonaws.cn/general/latest/gr/aws_service_limits.html#amazon-athena-limits)。因此，必须小心地将 SQL 查询限制为合理的大小。  
我们建议测试期间在查询中使用 `LIMIT` 子句。测试成功后，您可以删除此子句。

1. （可选）使用指定时间范围内的数据创建数据集内容时，某些数据可能无法及时送达处理。要允许延迟，可指定偏移量或增量。有关更多信息，请参阅 [通过 Amazon Ev CloudWatch ents 获取延迟数据通知](late-data-notification.md)。

   此时无需配置数据选择筛选条件。在**配置数据选择筛选条件**页面上，选择**下一步**。

1. （可选）您可以安排定期运行此查询以刷新数据集。您可随时创建和编辑数据集计划。

   此时，您不会计划定期运行查询，因此，在 **设置查询计划** 页面上选择 **下一步**。

1. Amazon IoT Analytics 将创建此数据集内容的版本并存储指定时间段内的分析结果。我们建议 90 天，但您可以选择设置自定义保留策略。您也可限制数据集内容存储版本的数量。

   您可以将默认数据集保留期限设置为**无限期**，并禁用**版本控制**。在 **配置分析结果** 页面上，选择 **下一步**。

1. （可选）您可通过配置数据集结果传送规则，将其传送到特定目的地，例如 Amazon IoT Events。

   您不会在本教程的其他地方传送结果，因此在**配置数据集内容传送规则**页面上，选择**下一步**。

1. 检查您的选择，然后选择**创建数据集**。

1. 确认您的新数据集显示在**数据集**页面上。

## 使用发送消息数据 Amazon IoT


如果您具有一个通道以将数据路由到管道，该管道将数据存储在数据存储以在其中对其进行查询，则可以将 IoT 设备数据发送到 Amazon IoT Analytics。您可以使用以下选项 Amazon IoT Analytics 将数据发送到：
+ 使用 Amazon IoT 消息代理。
+ 使用 Amazon IoT Analytics [BatchPutMessage](https://docs.amazonaws.cn/iotanalytics/latest/APIReference/API_BatchPutMessage.html) API 操作。

在以下步骤中，您将从 Amazon IoT Core 控制台中的 Amazon IoT 消息代理发送消息数据， Amazon IoT Analytics 以便接收这些数据。

**注意**  
在为消息创建主题名称时，请注意以下几点：  
主题名称不区分大小写。同一负载中名为 `example` 和 `EXAMPLE` 的字段被视为重复字段。
主题名称不能以 `$` 字符开头。以 `$` 开头的主题均为只能由 Amazon IoT使用的预留主题。
请勿在主题名称中包含个人身份信息，因为这些信息可能会出现在未加密的通信和报告中。
Amazon IoT Core 无法在 Amazon 账户或 Amazon 地区之间发送消息。

**使用发送消息数据 Amazon IoT**

1. 登录 [Amazon IoT 控制台](https://console.amazonaws.cn/iot)。

1. 在导航窗格中选择**测试**，然后选择**MQTT 测试客户端** 。

1. 在 **MQTT 测试客户端** 中，选择 **发布到主题**。

1. 对于**主题名称**，请输入与通道创建时输入的主题筛选条件相匹配的名称。此示例使用 `update/environment/dht1`。

1. 在**消息负载**部分中，输入以下 JSON 内容。

   ```
   {
     "thingid": "dht1",
     "temperature": 26,
     "humidity": 29,
     "datetime": "2018-01-26T07:06:01"
   }
   ```

1. （可选）选择**添加配置**以获取其他消息协议选项。

1. 选择 **发布**。

   这会发布一条由您的通道捕获的消息。然后，您的管道会将消息路由到数据存储。

## 查看 Amazon IoT 消息的进度


您可以按照以下步骤检查消息是否提取到您的通道中。

**查看 Amazon IoT 消息的进度**

1. 登录到 [https://console.aws.amazon.com/iotanalytics/](https://console.amazonaws.cn/iotanalytics/)。

1. 在导航窗格中，选择**通道**，然后选择您此前创建的通道名称。

1. 在**通道的详细信息**页面上，向下滚动到**监控**部分，然后调整显示的时间范围 (**1h 3h 12h 1d 3d 1w**)。选择一个值（例如 **1w**）以查看上周的数据。

您可以使用类似的功能在**管道的详细信息**页面上监控管道活动运行时和错误。在本教程中，您尚未将活动指定为管道的一部分，因此不应看到任何运行时错误。

**监控管道活动**

1. 在导航窗格中，选择**管道**，然后选择先前所创建管道的名称。

1. 在**管道的详细信息**页面上，向下滚动到**监控**部分，然后通过选择一个时间范围指示符 (**1h 3h 12h 1d 3d 1w**) 来调整显示的时间范围。

## 访问查询结果


数据集内容是 CSV 格式的文件，其中包含查询结果。

1. 在的[https://console.aws.amazon.com/iotanalytics/](https://console.amazonaws.cn/iotanalytics/)左侧导航窗格中，选择**数据集**。

1. 在 **数据集** 页面上，选择您以前创建的数据集的名称。

1. 在数据集信息页面上，在右上角选择**立即运行**。

1. 要检查数据集是否已准备就绪，请在数据集下方查看一条类似于**您已成功启动数据集查询**的消息。**数据集内容**选项卡包含查询结果并显示**已成功**。

1. 要预览成功查询的结果，请在**数据集内容**选项卡上，选择查询名称。选择 **下载** 来查看或保存包含查询结果的 CSV 文件。
**注意**  
Amazon IoT Analytics 可以将 Jupyter 笔记本的 HTML 部分嵌入到**数据集内容页面**上。有关更多信息，请参阅 [使用控制台可视化 Amazon IoT Analytics 数据](data-visualization.md#visualization-console)。

## 探索您的数据


您可以通过多种方法存储、分析和可视化数据。

Amazon Simple Storage Service  
您可以将数据集内容发送到 [Amazon S3](https://docs.amazonaws.cn/AmazonS3/latest/userguide/GetStartedWithS3.html) 存储桶，从而允许与现有数据湖集成在一起，或者从内部应用程序和可视化工具中进行访问。参见[CreateDataset](https://docs.amazonaws.cn/iotanalytics/latest/userguide/api.html#cli-iotanalytics-createdataset)操作`contentDeliveryRules::destination::s3DestinationConfiguration`中的字段。

Amazon IoT Events  
您可以将数据集内容作为输入发送到该服务 Amazon IoT Events，该服务使您能够监控设备或进程的故障或操作变化，并在此类事件发生时启动其他操作。  
为此，请使用[CreateDataset](https://docs.amazonaws.cn/iotanalytics/latest/userguide/api.html#cli-iotanalytics-createdataset)操作创建数据集并在字段中指定 Amazon IoT Events 输入`contentDeliveryRules :: destination :: iotEventsDestinationConfiguration :: inputName`。您还必须指定角色的`roleArn`，该角色授予运行 Amazon IoT Analytics 权限`iotevents:BatchPutMessage`。每当创建数据集内容时，都会 Amazon IoT Analytics 将每个数据集内容条目作为消息发送到指定的 Amazon IoT Events 输入。例如，如果您的数据集包含以下内容。  

```
"what","who","dt"
"overflow","sensor01","2019-09-16 09:04:00.000"
"overflow","sensor02","2019-09-16 09:07:00.000"
"underflow","sensor01","2019-09-16 11:09:00.000"
...
```
然后 Amazon IoT Analytics 发送包含以下字段的消息。  

```
{ "what": "overflow", "who": "sensor01", "dt": "2019-09-16 09:04:00.000" }
```

```
{ "what": "overflow", "who": "sensor02", "dt": "2019-09-16 09:07:00.000" } 
```
您需要创建一个可识别您感兴趣的字段（、中的一个或多个`dt`）的 Amazon IoT Events 输入 `what``who`，并创建一个 Amazon IoT Events 检测器模型，该模型在事件中使用这些输入字段来触发操作或设置内部变量。

Jupyter Notebook  
[Jupyter Notebook](https://jupyter.org/) 是使用脚本语言运行临时数据探索和高级分析的开源解决方案。您可以深入研究并应用更复杂的分析，并对 IoT 设备数据使用机器学习方法，例如用于预测的 k 均值集群和回归模型。  
Amazon IoT Analytics 使用 Amazon SageMaker AI 笔记本实例托管其 Jupyter 笔记本电脑。在创建笔记本实例之前，您必须在 Amazon IoT Analytics 和 Amazon A SageMaker I 之间创建关系：  

1. 导航到 A [SageMaker I 控制台](https://console.amazonaws.cn/sagemaker/)并创建笔记本实例：

   1. 填写详细信息，然后选择 **Create a new role (创建新角色)**。记录角色 ARN。

   1. 创建笔记本实例。

1. 前往 [IAM 控制台](https://console.amazonaws.cn/iam/)并修改 SageMaker AI 角色：

   1. 打开角色。它应该具有一个托管策略。

   1. 选择**添加内联策略**，对于**服务**，选择 **iotAnalytics**。选择 **选择操作**，然后在搜索框中键入 **GetDatasetContent**并选择它。选择 **Review Policy（查看策略）**。

   1. 检查策略的准确性，为其输入名称，然后选择 **创建策略**。
这为新创建的角色提供了从中读取数据集的权限 Amazon IoT Analytics。  

1. 返回并在左侧导航窗格中选择 “**笔记本**”。[https://console.aws.amazon.com/iotanalytics/](https://console.amazonaws.cn/iotanalytics/)在**笔记本**页面上，选择**创建笔记本**。

1. 在**选择模板**页面上，选择 **IoTA 空白模板**。

1. 在 **设置笔记本** 页面上，为笔记本输入名称。在**选择数据集源**中，选中，然后选择您之前创建的数据集。在**选择笔记本实例**中，选择您在 SageMaker AI 中创建的笔记本实例。

1. 查看您的选择后，选择**创建笔记本**。

1. 在**笔记本**页面上，您的笔记本实例将在 [Amazon A SageMaker I](SMconsole_link;) 控制台中打开。

## 笔记本模板


 Amazon IoT Analytics 笔记本模板包含 Amazon 创作的机器学习模型和可视化效果，可帮助您开始 Amazon IoT Analytics 使用案例。您可以使用这些笔记本模板来了解更多信息，也可以重复使用它们来适应 IoT 设备数据并提供即时值。

您可以在 Amazon IoT Analytics 控制台中找到以下笔记本模板：
+ **检测情境异常** – 使用泊松指数加权移动平均 (PEWMA) 模型，在测得的风速中应用情境异常检测。
+ **太阳能电池板输出预测** – 应用分段、季节性、线性时间序列模型来预测太阳能电池板的输出。
+ **喷气发动机的预测性维护** – 应用多变量长短期记忆 (LSTM) 神经网络和逻辑回归来预测喷气发动机故障。
+ **智能家居客户细分** – 应用 K 均值和主成分分析法 (PCA) 分析，从智能家居使用数据中发现不同客户群。
+ **智能城市拥堵预测** – 应用 LSTM 预测城市主干道的利用率。
+ **智能城市空气质量预测** – 应用 LSTM 预测城市中心区的颗粒物污染情况。