Amazon IoT 规则教程 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon IoT 规则教程

这些教程介绍如何使用一些更常见的规则操作创建并测试 Amazon IoT 规则。

Amazon IoT 规则会将数据从您的设备发送到其他 Amazon 服务。它们侦听特定的 MQTT 消息,格式化消息负载中的数据,并将结果发送到其他 Amazon 服务。

我们建议您按照这里显示的顺序尝试这些功能,即使您的目标是使用 Lambda 或更复杂的函数创建一个规则。这些教程是按照从更基本到复杂的顺序提供的。它们以递增方式呈现新概念,从而帮助您了解可用于创建没有特定教程的规则操作的概念。

注意

Amazon IoT 规则可帮助您将数据从 IoT 设备发送到其他 Amazon 服务。但是,要成功完成此操作,您需要了解要向其发送数据的其他服务的工作知识。虽然这些教程提供了完成任务所需的信息,但您可能会发现在解决方案中使用数据之前,了解有关要向其发送数据的服务的详细信息会很有帮助。其他 Amazon 服务的详细解释不在这些教程的范围之内。

教程场景概览

这些教程的场景是定期发布数据的天气传感器设备。在这个虚构系统中有许多这样的传感器设备。但是,本部分中的教程侧重于单个设备,同时展示了如何容纳多个传感器。

本部分中的教程介绍如何使用 Amazon IoT 规则借助这个虚构的气象传感器设备系统来完成以下任务,

  • 重新发布 MQTT 消息

    本教程介绍如何将从天气传感器收到的 MQTT 消息重新发布为仅包含传感器 ID 和温度值的消息。它只使用 Amazon IoT Core 服务,并演示简单 SQL 查询以及如何使用 MQTT 客户端来测试您的规则。

  • 发送 Amazon SNS 通知

    本教程介绍如何在天气传感器设备的值超过特定值时发送 SNS 消息。它建立在上一教程中所介绍概念的基础上,并添加了如何使用另一个 Amazon 服务,Amazon Simple Notification Service (Amazon SNS) 的说明。

    如果您是 Amazon SNS 的新用户,请查看其入门练习,然后再开始本教程。

  • 将设备数据存储在 DynamoDB 表中

    本教程介绍如何将来自气象传感器设备的数据存储在数据库表中。它使用规则查询语句和替代模板来设置目标服务的消息数据的格式,Amazon DynamoDB.

    如果您是的 DynamoDB 用户,请查看其入门练习,然后再开始本教程。

  • 使用 Amazon Lambda 函数格式化通知

    本教程介绍如何调用 Lambda 函数来重新格式化设备数据,然后将其作为文本消息发送。它在 Amazon Lambda 函数中添加了 Python 脚本和 Amazon 软件开发工具包函数,以使用来自气象传感器设备的消息负载数据进行格式化并发送文本消息。

    如果您是 Lambda 的新用户,请查看 Lambda 的入门练习,然后再开始本教程。

Amazon IoT 规则概览

所有这些教程都创建了 Amazon IoT 规则。

对于 Amazon IoT 规则将数据从设备发送到另一个 Amazon 服务,它使用:

  • 规则查询语句,由以下内容组成:

    • 一个 SQL SELECT 子句,用于从消息负载中选择数据并设置其格式

    • 标识要使用的消息的主题筛选条件(规则查询语句中的 FROM 对象)

    • 可选条件语句(SQL WHERE 子句),用于指定执行操作的特定条件

  • 至少一个规则操作

设备会向主题发布 MQTT 消息。SQL SELECT 语句中的主题筛选条件标识要应用规则的 MQTT 主题。SQL SELECT 语句中指定的字段将来自传入 MQTT 消息负载的数据格式化,以供规则的操作使用。有关规则操作的完整列表,请参阅 Amazon IoT 规则操作