AWS IoT Analytics 控制台快速入门指南 - AWS IoT Analytics
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS IoT Analytics 控制台快速入门指南

本节将向您展示如何使用 AWS IoT Analytics 控制台收集、存储、处理和查询您的设备数据。按照以下说明查看如何创建通道、数据仓库、管道和数据集,以及如何使用 AWS IoT Core 控制台,发送将拷贝到 AWS IoT Analytics

注意

当您输入 AWS IoT Analytics 实体(信道、数据集、数据存储和管道)的、系统自动更改为小写的。实体名称必须以小写字母开头,并且仅包含小写字母、下划线和数字

的 AWS IoT Analytics 控制台还有一个 快速启动 功能,允许您一键创建信道、数据仓库、管道和数据集。当您输入 AWS IoT Analytics 控制台。


   中的快速启动功能的屏幕截图 AWS IoT Analytics 控制台。

登录到 AWS IoT Analytics 控制台

如果您没有 AWS 帐户,创建一个。

  1. 要创建 AWS 帐户,导航到 http://www.amazonaws.cn/ 并选择 创建 AWS 帐户。

  2. 按照在线说明操作。在注册过程中,您会接到来电并且需要使用手机键盘输入 PIN 码。

  3. 登录 AWS 管理控制台 并导航至 AWS IoT Analytics 控制台.

创建信道

传入消息将发送到通道。

  1. 在 AWS IoT Analytics 控制台登录页,在 通过物联网分析准备数据 部分,低于 渠道,选择 查看渠道.

    
      “准备您的数据 AWS IoT Analytics".
  2. 收集设备消息 页面,选择 创建信道.

    
      屏幕快照“收集设备消息” AWS IoT Analytics 控制台。
  3. 设置ID、来源和数据保留期限 页面中,输入信道ID。

    
      屏幕快照中的“设置ID” AWS IoT Analytics 控制台。
  4. 低于 选择存储类型,选择 服务管理门店.

    
      屏幕快照“选择存储类型” AWS IoT Analytics 控制台。
  5. 选择 Next (下一步)

    
      屏幕快照中的“标记” AWS IoT Analytics 控制台。
  6. 输入 AWS IoT Core (MQTT)主题过滤器。记下您在此处输入的主题筛选条件,因为您需要在后面的步骤中使用该筛选条件以创建通道接收的消息。此示例使用带通配符的主题筛选器, "update/environment/#".

    
      "的屏幕截图AWS IoT Core 主题筛选器” AWS IoT Analytics 控制台。
  7. IAM角色名称 区域,选择 新建. 在 创建新角色 窗口中,输入 名称 ,然后选择 创建角色. 这会自动创建一个角色,并附有相应的政策。

    
      屏幕快照“Createanewrole”(创建新角色) AWS IoT Analytics 控制台。
  8. 选择 Create channel (创建通道)

    
      “创建渠道”的屏幕截图 AWS IoT Analytics 控制台。

    您已成功创建信道。

创建数据仓库

数据存储接收并存储您的消息。您可以根据需要创建多个数据存储来存储数据。对于此示例,您可以创建单个数据仓库以接收 AWS IoT 消息。

  1. 渠道 页面,在左侧导航窗格中,选择 数据存储.

    
      屏幕快照中的“通道” AWS IoT Analytics 控制台。
  1. 创建数据仓库 页面中,选择数据仓库。

    
      屏幕快照“创建数据仓库” AWS IoT Analytics 控制台。
  2. 输入 ID(ID) 存储数据。低于 选择存储类型,选择 服务管理门店,然后选择 创建数据仓库.

    
      屏幕快照“ID”和“选择存储类型” AWS IoT Analytics 控制台。
    
      屏幕快照“配置您希望保留已处理数据的时间” AWS IoT Analytics 控制台。

    您已成功创建数据仓库。

创建管道

要将通道连接到数据存储,您需要创建管道。最简单的管道除了指定收集数据的通道和标识将向其发送消息的数据存储之外,不包含任何其他活动。有关更多信息,请参阅 管道活动.

在本示例中,您将创建一个管道,该管道不执行将通道连接到数据存储之外的任何操作。您可以查看原始数据如何流向数据存储。以后,您可以引入管道活动来处理此数据。

  1. 数据存储 页面,在左侧导航窗格中,选择 管道.

    
      屏幕快照“Datastores” AWS IoT Analytics 控制台。
  1. 使用管道处理消息 页面,选择 创建管道.

    
      屏幕快照“处理带有管道的消息” AWS IoT Analytics 控制台。
  2. 输入 Pipeline ID (管道 ID)。英寸 管道源,选择 编辑,然后选择之前创建的通道,然后选择 下一步.

    
      “设置管道ID和源”的屏幕截图 AWS IoT Analytics 控制台。
  3. 设置消息的属性 ,输入属性名称,从列表中选择一个类型,然后输入一个示例值,然后选择 添加新. 可对您需要的任意多个属性重复此操作。完成后选择 Next (下一步)

    
      屏幕快照“设置消息属性” AWS IoT Analytics 控制台。
  4. 您现在不会添加任何管道活动,因此在 丰富、转化和筛选信息 页面,选择 下一步.

    
      “Enrich,transform,andfiltermessages”的屏幕截图 AWS IoT Analytics 控制台。
  5. 在数据仓库中保存已处理的消息 页面,选择 编辑,选择您之前创建的数据仓库,然后选择 创建管道.

    
      屏幕快照: AWS IoT Analytics 控制台。

    您已成功创建管道。

创建数据集

您现在具有一个通道以将数据路由到管道,该管道将数据存储在数据存储以对其进行查询。要查询数据,您需要创建一个数据集。数据集包含用于查询数据存储的 SQL 表达式,以及在您选择的日期和时间重复该查询的可选计划。您可以使用类似于的表达式创建可选计划 Amazon CloudWatch 调度表达式.

  1. 管道 页面,在左侧导航窗格中,选择 数据集.

    
      屏幕快照中的“管道” AWS IoT Analytics 控制台。
  2. 使用数据集探索您的数据 页面,选择 创建数据集.

    
      屏幕快照“使用数据集探索您的数据” AWS IoT Analytics 控制台。
  3. 选择类型 页面,选择 创建SQL.

    
      屏幕快照“选择类型” AWS IoT Analytics 控制台。
  4. 设置 ID 和源页面上,输入 ID。英寸 选择数据仓库源,选择 编辑 并选择您之前创建的数据仓库。然后选择 Next (下一步)

    
      屏幕快照中“设置ID和来源” AWS IoT Analytics 控制台。
  5. Author SQL Query (编写 SQL 查询) 页面上的 Query (查询) 区域中,输入选择属性的 SQL 表达式或选择所有属性的通配符表达式,然后选择 Next (下一步)。此示例使用带通配符的SQL表达式。

    SELECT * FROM my_datastore
    
      “作者SQL查询”的屏幕截图 AWS IoT Analytics 控制台。

    您可以选择 测试查询 以验证 SQL查询 输入正确。它将运行查询 Amazon Athena 并在查询下方的窗口中显示结果。以下示例是成功的测试。

    
      “作者SQL查询”的屏幕截图 AWS IoT Analytics 控制台。

    请注意,此时运行查询可能会返回无结果或很少结果,这取决于您的数据仓库中有多少数据。您可能只看到 __dt 这一点。 Amazon Athena 同时 限制运行查询的最大数量. 因此,您必须小心将SQL查询限制为合理的大小,这样它就不会长时间运行。我们建议使用 LIMIT SQL查询中的子句,例如以下示例。

    SELECT * FROM my_datastore LIMIT 5

    测试成功后,您可以删除 LIMIT 5.

  6. 您此时不会配置数据选择筛选器,因此在 配置数据选择筛选器 页面,选择 下一步.

    
      “配置数据选择过滤器”的屏幕截图 AWS IoT Analytics 控制台。
  7. 此时,您不会安排重复运行查询,因此,在 设置查询计划 页面,选择 下一步.

    
      “设置查询计划(可选)”的屏幕截图 AWS IoT Analytics 控制台。
  8. 您可以使用默认的数据集保留期限(90天)并离开 版本控制 “禁用”,因此,在 配置分析的结果 页面,选择 下一步.

    
      屏幕快照“配置分析结果” AWS IoT Analytics 控制台。
  9. 配置分析结果的传递规则 页面,选择 创建数据集.

    
      屏幕快照“配置您分析结果的交付规则” AWS IoT Analytics 控制台。

    您已成功创建数据集。

发送 AWS IoT 消息

要生成一些样本数据,请使用 AWS IoT 控制台以发送 AWS IoT 消息。

注意

您发送到的消息有效负载(数据)的字段名称 AWS IoT Analytics:

  • 必须只包含字母数字字符和下划线(_);不允许使用其他特殊字符。

  • 必须以字母字符或单个下划线开头(_)。

  • 不能包含连字符(-)。

  • 在常规表达式术语中: 英寸^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$英寸。

  • 长度不能超过 255 个字符。

  • 不区分大小写。名为的字段 fooFOO 相同的有效负载被视为重复。

例如,在消息负载中,{"temp_01";: 29}{"_temp_01": 29} 有效,但 {"temp-01": 29}{"01_temp": 29}{"__temp_01": 29} 无效。

  1. AWS IoT 控制台的左侧导航窗格中选择 Test (测试)

    
      屏幕快照中的“监视器” AWS IoT Analytics 控制台。
  2. MQTT 客户端页面上的发布部分中,在指定主题中键入与创建通道时输入的主题筛选条件匹配的主题。本示例使用 update/environment/dht1。在消息有效负载部分,输入以下JSON内容。

    { "thingid": "dht1", "temperature": 26, "humidity": 29, "datetime": "2018-01-26T07:06:01" }
  3. 选择 图像/发布环境.png.

    
      屏幕快照中的“监视器” AWS IoT Analytics 控制台。

    如果您按照示例操作到此时,这将发布一条由您的通道捕获的消息,然后您的管道将该消息路由到您的数据存储。

查看物联网消息进度

您可以按照以下步骤检查是否正在将消息载入到您的信道中。

  1. AWS IoT Analytics 控制台,在左侧导航窗格中,选择 渠道,然后选择您之前创建的通道的名称。

    
      屏幕快照中的“通道” AWS IoT Analytics 控制台。
  2. 在通道详细信息页面上,向下滚动到监控部分。根据需要,选择其中的一个时间范围指示符(1 小时 3 小时 12 小时 1 天 3 天 1 周)以调整显示的时间范围。您应该看到一条图形线,指示在指定时间帧内摄入到此信道的消息数。

    
      屏幕快照中的“信道大小” AWS IoT Analytics 控制台。

可以使用类似的监控功能以检查管道活动执行。您可以在管道的详细信息页面上监控活动执行错误。您尚未将活动指定为管道的一部分,因此不应看到任何执行错误。

  1. AWS IoT Analytics 控制台,在左侧导航窗格中,选择 管道,然后选择您之前创建的管道的名称。

    
      屏幕快照中的“管道” AWS IoT Analytics 控制台。
  2. 在管道详细信息页面上,向下滚动到监控部分。根据需要,选择其中的一个时间范围指示符(1 小时 3 小时 12 小时 1 天 3 天 1 周)以调整显示的时间范围。您应该看到一条图形线,指示指定时间范围内管道活动执行错误的数量。

    
      “监控”的屏幕截图 AWS IoT Analytics 控制台。

访问查询结果

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

  1. AWS IoT Analytics 控制台,在左侧导航窗格中,选择 数据集.

    
      “数据集”页面的屏幕截图 AWS IoT Analytics 控制台。
  2. 数据集 选择您之前创建的数据集的名称。

    
      在中对您的数据集进行屏幕截图 AWS IoT Analytics 控制台。
  3. 在数据集信息页面的右上角,选择 立即运行.

    
      在中针对您的数据集的“立即运行”屏幕截图 AWS IoT Analytics 控制台。
  4. 要检查数据集是否已就绪,请在左上角查看数据集名称下是否出现 SUCCEEDED (成功)。详细信息部分包含查询结果。

    
      “DatasetARN”的屏幕截图 AWS IoT Analytics 控制台。
  5. 在左侧导航窗格中,选择 内容,然后选择 下载 查看或保存包含查询结果的CSV文件。

    
      如何在中下载数据集的屏幕截图 AWS IoT Analytics 控制台。

    此部分与以下示例类似。

    "thingid","temperature","humidity","datetime","__dt" "dht1","26","29","2018-01-26T07:06:01","2019-02-27 00:00:00.000"

    AWS IoT Analytics 也可以嵌入Jupyter笔记本的HTML部分, 数据集 内容页面。有关更多信息,请参见 可视化 AWS IoT Analytics 控制台的数据.

  6. 选择左上角的左箭头,返回 AWS IoT Analytics 控制台。

探索您的数据

您有几个选项用于存储、分析和可视化您的数据。

Amazon Simple Storage Service

您可以将数据集内容发送到 Amazon S3 bucket,实现与现有数据湖的集成,或从内部应用程序和可视化工具访问。查看字段 contentDeliveryRules::destination::s3DestinationConfiguration创建数据集 操作。

AWS IoT Events

您可以将数据集内容作为输入发送到 AWS IoT Events,一种服务,使您能够监控设备或进程的故障或操作更改,并在此类事件发生时触发其他操作。

要执行此操作,请使用 创建数据集 操作并指定 AWS IoT Events 输入字段 contentDeliveryRules :: destination :: iotEventsDestinationConfiguration :: inputName。您还必须指定 roleArn 一个角色, AWS IoT Analytics 要执行的权限 iotevents:BatchPutMessage。每当创建数据集的内容时, AWS IoT Analytics 将发送每个数据集内容条目作为消息至指定的 AWS 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" ...

然后 AWS 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" }

您要创建一个 AWS IoT Events 识别您感兴趣的字段(一个或多个 what, who, dt)并创建 AWS IoT Events 在事件中使用这些输入字段来触发操作或设置内部变量的检测器模型。

Jupyter Notebook

Jupyter Notebook 是一种开源解决方案,用于高级分析和临时数据探索。笔记本使您能够使用模板和脚本语言(通常是Python)将数据应用不同的转换或标准化,聚合度量,并使用数据科学库分析和可视化数据。您甚至可以使用这些笔记本将更复杂的分析和机器学习(如 k-means 分类)应用于您的数据。

AWS IoT Analytics 使用 SageMaker 笔记本实例托管其Jupyter笔记本。在创建笔记本实例之前,您必须在 AWS IoT Analytics 和 SageMaker:

  1. 导航到 SageMaker 控制台 并创建笔记本实例:

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

    2. 创建笔记本实例。

  2. 转到 IAM控制台 并修改 SageMaker 角色:

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

    2. 选择 添加在线策略,然后用于 服务,选择 iotAnalytics(物联网分析). 选择 选择操作,然后输入 GetDatasetContent 并在搜索框中选择。选择查看策略

    3. 查看政策的准确性,输入名称,然后选择 创建策略.

    这将赋予新创建的角色权限,以便从 AWS IoT Analytics.

  3. 返回 AWS IoT Analytics 控制台,并在左侧导航窗格中选择 笔记本. 在 从物联网数据中获得更深入的见解 页面,选择 创建笔记本:

    
         “笔记本”屏幕快照 AWS IoT Analytics 控制台。
  4. 选定方法 页面,选择 空白笔记本.

    
         “创建笔记本”的屏幕截图 AWS IoT Analytics 控制台。
  5. Set up notebook (设置笔记本) 页面上,为笔记本输入名称。英寸 选择数据集来源,选择 选择,然后选择之前创建的数据集。英寸 选择笔记本实例,选择 选择,然后选择您在中创建的笔记本实例 SageMaker. 选择创建笔记本

    
         笔记本电脑的屏幕截图,位于 AWS IoT Analytics 控制台。
  6. 笔记本 请使用三角形打开笔记本实例, 物联网分析 目录。使用链接浏览您的数据 Jupyter Notebook.

您可以下载和 安装 Jupyter Notebook 在计算机上。还提供与 Amazon 托管的笔记本解决方案的其他集成。

笔记本模板

的 AWS IoT Analytics 笔记本模板包含由AWS编写的机器学习模型和可视化效果,可帮助您开始使用 AWS IoT Analytics 使用案例。可以出于教育目的按原样利用这些笔记本模板,也可以重新调整其用途以适合您的数据并立即带来价值。

AWS IoT Analytics 提供以下笔记本模板:

  1. 检测情境异常: 情境异常检测在测量的风速中的应用,其中PEWMA模型用于时间序列数据。

  2. 太阳能电池板输出预测: 采用分段式、季节性、线性时间序列模型预测太阳能电池板产量的趋势。

  3. 喷气发动机的预测性维护: 应用多变量LSTM神经网络和逻辑回归来预测喷气发动机的剩余使用寿命。

  4. 智能家居客户细分: 应用k-means和PCA分析检测智能家居使用数据中的不同客户群。

  5. 智能城市拥堵预测: 应用LSTM预测城市高速公路利用率。

  6. 智能城市空气质量预测: 应用LSTM预测城市中心的微粒污染。

您可以在 AWS IoT Analytics 控制台,位于 分析/记录本.