本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
发送输入以测试探测器模型 AWS IoT Events
有几种接收遥测数据的方法 AWS IoT Events (请参阅支持在中接收数据和触发操作的操作 AWS IoT Events)。本主题介绍如何在 AWS IoT 控制台中创建 AWS IoT 规则,将消息作为输入转发给 AWS IoT Events 探测器。您可以使用 AWS IoT 控制台的MQTT客户端发送测试消息。您可以使用此方法获取遥测数据,了解您的设备 AWS IoT Events 何时能够使用MQTT消息代理发送 AWS IoT 消息。
发送输入以测试探测器模型
-
打开AWS IoT Core 控制台
。在左侧导航窗格的管理下,选择消息路由,然后选择规则。 -
选择右上角的创建规则。
-
在 创建规则页面上,完成以下步骤:
-
第 1 步。指定规则属性。填写以下字段:
-
规则名称。输入规则的名称,例如
MyIoTEventsRule
。注意
不要使用空格。
-
规则描述。该项为可选项。
-
选择 下一步。
-
-
第 2 步。配置SQL语句。填写以下字段:
-
SQL版本。从该列表中选择适当的选项。
-
SQL声明。输入
SELECT *, topic(2) as motorid FROM 'motors/+/status'
。
选择下一步。
-
-
第 3 步。附加规则操作。在规则操作部分,完成以下操作:
-
操作 1。选择 IoT 事件。显示以下字段:
-
输入名称。从该列表中选择适当的选项。如果您的输入未显示,请选择 刷新。
要创建新输入,请选择创建 IoT 事件输入。填写以下字段:
-
输入名称。输入
PressureInput
。 -
描述。该项为可选项。
-
上传JSON文件。上传您的JSON文件副本。如果您没有文件,则此屏幕上会有一个指向示例文件的链接。该代码包括:
{ "motorid": "Fulton-A32", "sensorData": { "pressure": 23, "temperature": 47 } }
-
选择输入属性。选择相应的选项。
-
标签。该项为可选项。
选择 创建。
返回到创建规则屏幕并刷新输入名称字段。选择您创建的输入。
-
-
批量模式。该项为可选项。如果负载是一组消息,请选择此选项。
-
消息 ID。您可以自由选择,但我们建议您这样做。
-
IAM角色。从该列表中选择适当的角色。如果未列出该角色,请选择创建新角色。
键入角色名称,然后选择创建。
要添加其他规则,请选择 添加规则操作
-
-
错误操作。此部分是可选的。要添加操作,请选择添加错误操作,然后从列表中选择相应的操作。
填写显示的字段。
-
选择下一步。
-
-
第 4 步。审核和创建 检查屏幕上的信息,然后选择 创建。
-
-
在左侧导航窗格的 “测试” 下,选择 “MQTT测试客户端”。
-
选择发布到主题。填写以下字段:
-
主题名称。输入用于标识消息的名称,例如
motors/Fulton-A32/status
。 -
消息负载。输入以下信息:
{ "messageId": 100, "sensorData": { "pressure": 39 } }
注意
每次发布新消息时都要更改
messageId
。
-
-
对于发布,请保持主题不变,但将负载中的
"pressure"
更改为大于您在探测器模型中指定的阈值的值(例如85
)。 -
选择 发布。
您创建的检测器实例会生成并向您发送一条 Amazon SNS 消息。继续发送压力读数高于或低于压力阈值(本示例为 70)的消息,以查看探测器的运行情况。
在此示例中,您必须发送三条压力读数低于阈值的消息才能转换回正常状态,并收到一条 Amazon SNS 消息,表明超压状况已清除。回到正常状态后,一条压力读数超过极限的消息会导致探测器进入危险状态,并发送一条表明该状况的 Amazon SNS 消息。
现在,您已经创建了一个简单的输入和探测器模型,请尝试以下操作。
-
在控制台上查看更多探测器模型示例(模板)。
-
按照中的步骤使用为两种状态创建 AWS IoT Events 探测器 CLI使用创建输入和探测器模型 AWS CLI
-
了解事件中使用的 用于筛选、转换和处理事件数据的表达式 的详细信息。
-
如果某些东西不起作用,请参阅 故障排除 AWS IoT Events。