在规则引擎的教程中,他们说可以说每次我们收到一条表明" blue"作为灯泡的理想颜色,规则引擎将其转换为"绿色"
为此,我考虑创建一个将消息重新发布到主题shadow / update的规则,但是在重新发布之前我找不到修改消息的方法。
有没有办法在aws控制台中执行此操作?
答案 0 :(得分:1)
您需要创建一个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 reference还有其他例子。