2

我正在使用 node.js SDK 处理简单的发布/订阅示例,其中我订阅了主题“传感器/警报”,同时定期发布带有有效负载的主题“传感器/温度”

{"temp":[no 介于 0-20]} (例如 {"temp" : 20})

我已经使用以下规则配置了规则引擎

“SELECT * FROM 'sensor/temp' WHERE temp > 10”

哪个触发

“AWS IOT 重新发布操作”。

我已经从 AWS-IOT 控制台为此规则设置了适当的角色。但是,当客户端代码发布有效负载 {"temp" : 12} 或有效负载中大于 10 的任何数字的主题时,规则引擎应该起作用并重新发布到主题 'sensor/alert' 但不幸的是它没有。我已经使用 AWS MQTT 客户端检查了发布和订阅逻辑。在客户端代码中,发布和订阅逻辑正常工作,但规则引擎不工作。我正在使用 AWS 免费帐户。我无法解决问题。任何帮助表示赞赏。

提前致谢。

4

2 回答 2

0

我认为它是“SELECT * FROM 'sensor' WHERE temp > 10”而不是传感器/温度

您应该尝试发布此消息

{"temp" : "12"}

现在您应该订阅主题 sensorrepublished 例如,您应该能够播种消息

于 2016-06-02T23:18:24.117 回答
0

您要触发的目标在哪里?如果是 Lambda,您需要像这样在 Lambda 中添加权限

response = client.add_permission(
FunctionName='Lambda_Name',
StatementId='FunctionPermission',
Action='lambda:InvokeFunction',
Principal="iot.amazonaws.com",
SourceAccount = "yourAccount"
)

谢谢

于 2019-08-09T09:23:02.060 回答