本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建将设备数据路由到其他服务的 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 服务,即亚马逊简单通知服务 (AmazonSNS)。
如果您不熟悉 AmazonSNS,请在开始本教程之前查看其入门练习。
-
教程:将设备数据存储在 DynamoDB 表中
本教程介绍如何将来自气象传感器设备的数据存储在数据库表中。它使用规则查询语句和替代模板来设置目标服务的消息数据的格式,Amazon DynamoDB。
如果您是的 DynamoDB 用户,请查看其入门练习,然后再开始本教程。
-
教程:使用 AWS Lambda 函数格式化通知
本教程介绍如何调用 Lambda 函数来重新格式化设备数据,然后将其作为文本消息发送。它在 AWS SDK函数中添加了一个 Python 脚本和AWS Lambda函数,使用来自天气传感器设备的消息有效载荷数据进行格式化并发送短信。
如果您是 Lambda 的新用户,请查看 Lambda 的入门练习,然后再开始本教程。
AWS IoT 规则概述
所有这些教程都创建了 AWS IoT 规则。
对于将数据从设备发送到其他 AWS 服务的 AWS IoT 规则,它使用:
-
规则查询语句,由以下内容组成:
-
用于从消息负载中选择和格式化数据的SQLSELECT子句
-
标识要使用的消息的主题筛选器(规则查询语句中的FROM对象)
-
一种可选的条件语句(SQLWHERE子句),它指定要根据的特定条件采取行动
-
-
至少一个规则操作
设备向MQTT主题发布消息。SQLSELECT语句中的主题筛选器标识要应用规则MQTT的主题。SQLSELECT语句中指定的字段格式化来自传入MQTT消息负载的数据,供规则的操作使用。有关规则操作的完整列表,请参阅 AWS IoT 规则操作。