0

在规则引擎的教程中,他们说可以说每次我们收到指示“蓝色”作为所需灯泡颜色的消息时,规则引擎将其转换为“绿色”

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

有没有办法在 aws 控制台中做到这一点?

4

1 回答 1

2

您需要创建一个 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 参考有更多示例。

于 2016-06-29T08:15:41.003 回答