在规则引擎的教程中,他们说可以说每次我们收到指示“蓝色”作为所需灯泡颜色的消息时,规则引擎将其转换为“绿色”
为此,我考虑创建一个规则,将消息重新发布到主题影子/更新,但我找不到在重新发布之前修改消息的方法。
有没有办法在 aws 控制台中做到这一点?
在规则引擎的教程中,他们说可以说每次我们收到指示“蓝色”作为所需灯泡颜色的消息时,规则引擎将其转换为“绿色”
为此,我考虑创建一个规则,将消息重新发布到主题影子/更新,但我找不到在重新发布之前修改消息的方法。
有没有办法在 aws 控制台中做到这一点?
您需要创建一个 IoT 规则来重新构建您所说的消息,类似 SQL 的语法允许基本的字符串操作,因此您可以尝试:
{
"sql": "SELECT replace(color, 'blue', 'green') as color FROM '$aws/things/mything/shadow/update' WHERE color = 'blue'",
"ruleDisabled": false,
"actions": [{
"republish": {
"topic": "$aws/things/mything/shadow/update",
"roleArn": "arn:aws:iam::123456789012:role/my-iot-role"
}
}]
}
您可能需要调整变量,如果颜色是报告状态的属性,您可以将“color”的所有实例更改为“reported.color”。
AWS IoT SQL 参考有更多示例。