修改AWS IoT中收到的消息并重新发布

时间:2016-06-02 23:09:15

标签: rule-engine aws-iot

在规则引擎的教程中,他们说可以说每次我们收到一条表明" blue"作为灯泡的理想颜色,规则引擎将其转换为"绿色"

为此,我考虑创建一个将消息重新发布到主题shadow / update的规则,但是在重新发布之前我找不到修改消息的方法。

有没有办法在aws控制台中执行此操作?

1 个答案:

答案 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还有其他例子。