学完本章节后,您的无服务器应用程序应该能够:
到目前为止,您的 IoT 解决方案的每一个方面都是临时性的,因为每一条消息都是经过接收、处理,然后丢弃的。在 IoT Events 检测器模型这个例子中,有一个有状态的实体来响应新消息,但除此之外,没有存储恒温器消息的历史记录。目前进行的是构建恒温器消息数据存储的步骤。
AWS 提供了许多在云中存储数据的方法,也提供了很多 IoT 数据存储方法。该解决方案推荐使用 AWS IoT Analytics 服务,这是一项托管服务,专门用于批量接收、存储、处理和分析 IoT 数据。您将使用 IoT Analytics 来存储每个设备影子上的更新。
AWS IoT Analytics 文档对此进行了更详细的介绍,但这里简要介绍一下它的工作原理。该服务的接入点是一项名为 “channel(通道)”的资源。通道可以存储工作流程的所有原始数据。它还会将接收到的每个消息的副本发送到下一个资源,即 “pipeline(管道)”。管道是指在分析使用案例中使用数据之前处理、清理、筛选和丰富数据的一系列活动。经过处理的消息将从管道转移到 data store(数据存储)。与通道类似,数据存储是一种长期存储单元,适用于经过处理的数据。最后,data set(数据集)是 AWS IoT Analytics 项目中的最后一项资源。数据集定义了类 SQL 查询,该查询可以将数据存储中的消息以具体化视图的形式读取出来,并将查询内容传递到 S3 存储桶等目的地。
您的智慧空间解决方案将在 AWS IoT Analytics 中积累来自恒温器的多个小时的运行数据。之后,数据集查询的结果将使这些数据可用于由 Amazon SageMaker 提供的机器学习工具链。
AWS IoT Analytics 的功能特性不胜枚举,但就本模块而言,它用于存储恒温器消息的历史记录,并是将消息汇总为机器学习模型的训练数据集的最简单方法。
下面的步骤详细介绍了如何创建新的 IoT Core 规则和新的 AWS IoT Analytics 项目,以及如何使用规则将设备影子消息转发到 AWS IoT Analytics 项目。IoT Core 规则创建向导中有一个便捷界面,可代表您创建整个 AWS IoT Analytics 项目!
storeInIoTAnalytics
)并提供说明。SELECT current.state.reported.sound, current.state.reported.temperature, current.state.reported.hvacStatus, current.state.reported.roomOccupancy, timestamp FROM '$aws/things/<<CLIENT_ID>>/shadow/update/documents'
smartspace
。选择 Quick Create(快速创建),所有 AWS IoT Analytics 资源将会自动创建并配置。在进入下一章节之前,您可以验证您的无服务器应用程序是否已按预期配置完毕,方法是:
如果没有问题,我们就进入 机器学习 部分。
AWS IoT Kit now features direct access to
AWS re:Post
, which is a community-driven, questions-and-answers service. Search re:Post using the
AWS IoT Kit
tag to see if your question has been asked and answered. If not, ask a new question using the AWS IoT Kit
tag.