View a markdown version of this page

WHERE 子句 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

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

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 有效载荷的示例:

在 `: `80topic/subtopic` 上发布的传入非 JSON 有效负载

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

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