WHERE 子句 - AWS IoT Core

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

WHERE 子句

WHERE 子句可确定是否执行规则指定的操作。如果 WHERE 子句的计算结果为 true,则执行规则操作。否则,不执行规则操作。

WHERE 子句支持 数据类型运算符函数文本Case 语句JSON 扩展替换模板嵌套对象查询

示例

传入负载已发布至 topic/subtopic{"color":"red", "temperature":40}

SQL:SELECT color AS my_color FROM 'topic/subtopic' WHERE temperature > 50 AND color <> 'red'

在这种情况下,规则将被触发,但不会执行规则所指定的操作。没有传出的负载。

您可以在 WHERE 子句中使用函数和运算符。但是,您无法引用在 SELECT 中通过 AS 关键字创建的任何别名。首先评估 WHERE 语句,以确定是否评估 SELECT。

带非 JSON 负载的示例:

传入的非 JSON 负载,发布位置:“topic/subtopic”:“80”

SQL:`SELECT decode(encode(*, 'base64'), 'base64') AS value FROM 'topic/subtopic' WHERE decode(encode(*, 'base64'), 'base64') > 50

在这种情况下,规则将被触发,并且将执行规则所指定的操作。传出的负载将由 SELECT 子句转换为 JSON 负载 {"value":80}