本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建将设备数据路由到其他服务的 AWS IoT 规则
这些教程向您展示了如何使用一些更常见的 AWS IoT 规则操作来创建和测试规则。
AWS IoT 规则将数据从您的设备发送到其他 AWS 服务。它们侦听特定的 MQTT 消息,格式化消息负载中的数据,并将结果发送到其它 AWS 服务。
我们建议您按照这里显示的顺序尝试这些功能,即使您的目标是使用 Lambda 或更复杂的函数创建一个规则。这些教程是按照从基本到复杂的顺序提供的。它们以递增方式呈现新概念,从而帮助您了解可用于创建没有特定教程的规则操作的概念。
注意
AWS IoT 规则可帮助您将物联网设备中的数据发送到其他 AWS 服务。但是,要成功完成此操作,您需要了解要向其发送数据的其它服务的工作知识。虽然这些教程提供了完成任务所需的信息,但您可能会发现在解决方案中使用数据之前,了解有关要向其发送数据的服务的详细信息会很有帮助。对其他 AWS 服务的详细说明不在这些教程的范围之内。
教程场景概览
这些教程的场景是定期发布数据的天气传感器设备。在这个虚构系统中有许多这样的传感器设备。但是,本部分中的教程侧重于单个设备,同时展示了如何容纳多个传感器。
本节中的教程向您展示如何使用 AWS IoT 规则对这个虚构的天气传感器设备系统执行以下任务。
-
教程:重新发布 MQTT 消息
本教程介绍如何将从天气传感器收到的 MQTT 消息重新发布为仅包含传感器 ID 和温度值的消息。它只使用 AWS IoT Core 服务,并演示简单 SQL 查询以及如何使用 MQTT 客户端来测试您的规则。
-
教程:发送 Amazon SNS 通知
本教程介绍如何在天气传感器设备的值超过特定值时发送 SNS 消息。它以上一教程中介绍的概念为基础,并添加了如何使用另一项 AWS 服务,即亚马逊简单通知服务 (Amazon SNS)。
如果您是 Amazon SNS 的新用户,请查看其入门练习,然后再开始本教程。
-
教程:将设备数据存储在 DynamoDB 表中
本教程介绍如何将来自气象传感器设备的数据存储在数据库表中。它使用规则查询语句和替代模板来设置目标服务的消息数据的格式,Amazon DynamoDB。
如果您是的 DynamoDB 用户,请查看其入门练习,然后再开始本教程。
-
教程:使用 AWS Lambda 函数格式化通知
本教程介绍如何调用 Lambda 函数来重新格式化设备数据,然后将其作为文本消息发送。它在函数中添加了 Python 脚本和 AWS SDK AWS Lambda函数,以便使用来自天气传感器设备的消息有效载荷数据进行格式化并发送短信。
如果您是 Lambda 的新用户,请查看 Lambda 的入门练习,然后再开始本教程。
AWS IoT 规则概述
所有这些教程都创建了 AWS IoT 规则。
对于将数据从一台设备发送到另一 AWS 服务的 AWS IoT 规则,它使用:
-
规则查询语句,由以下内容组成:
-
一个 SQL SELECT 子句,用于从消息负载中选择数据并设置其格式
-
标识要使用的消息的主题筛选条件(规则查询语句中的 FROM 对象)
-
可选条件语句(SQL WHERE 子句),用于指定执行操作的特定条件
-
-
至少一个规则操作
设备会向主题发布 MQTT 消息。SQL SELECT 语句中的主题筛选条件标识要应用规则的 MQTT 主题。SQL SELECT 语句中指定的字段将来自传入 MQTT 消息负载的数据格式化,以供规则的操作使用。有关规则操作的完整列表,请参阅 AWS IoT 规则操作。