aws iot规则失败,并显示消息“评估运算符时出错'=':未定义结果”

问题描述 投票:0回答:2

我使用以下SQL创建了一个AWS IOT规则:

SELECT * FROM 'colors' WHERE color = 'green'

然后我使用IoT控制台中的“测试工具”将以下消息发布到'colors'主题:

{
  "default": "{\"color\":\"green\",\"temperature\":100}"
}

该规则不会触发已配置的操作,即将消息发送到SNS主题。

在cloudwatch日志中,我看到以下错误消息:

[ERROR] EVENT:WhereEval TOPICNAME:colors CLIENTID:iotconsole-1554220753724-0 MESSAGE:Error while evaluating where clause: Undefined result

我错过了什么? AWS IoT SQL documentation定义'='运算符。

aws-iot
2个回答
0
投票

好的我发现了我的错误。 SQL语法没有错,错误是消息。我不得不将消息更改为:

{
  "default": "{\"color\":\"green\",\"temperature\":200}",
  "color": "green"
}

现在SQL能够找到'color'属性。

在SNS主题上发布的操作已经完成,我收到了在“消息”字段中编写的未转义的JSON:

{"color":"green","temperature":200}

0
投票

我认为您的SQL语法错误,IoT规则应该是:SELECT default.color,default.temperature FROM'color'WHERE color ='green'

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.