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

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

Amazon IoT SQL 参考

在中 Amazon IoT,规则是使用类似 SQL 的语法定义的。SQL 语句由三类子句组成:

SELECT

(必需)从传入消息有效负载提取信息并执行信息转换。要使用的消息由主题筛选条件在 FROM 子句中指定。

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

FROM

MQTT 消息主题筛选条件,用于标识要从中提取数据的消息。对于发送到符合此处指定的主题筛选条件的 MQTT 主题的每条消息,将激活该规则。对于通过消息代理传递的消息所激活的规则是必需的。对于仅使用基本摄取特征激活的规则是可选的。

WHERE

(可选)添加用于确定是否执行规则指定的操作的条件逻辑。

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

SQL 语句的示例如下所示:

SELECT color AS rgb FROM 'topic/subtopic' WHERE temperature > 50

MQTT 消息 (也称为传入负载) 的示例如下所示:

{ "color":"red", "temperature":100 }

如果此消息在 'topic/subtopic' 主题上发布,则触发规则并评估 SQL 语句。如果 color 属性大于 50,SQL 语句将提取 "temperature" 属性的值。WHERE 子句指定条件 temperature > 50AS 关键字将 "color" 属性重命名为 "rgb"。结果(也称为传出负载)如下所示:

{ "rgb":"red" }

此数据随后将转发至规则的操作,在其中发送数据供后续处理。有关规则操作的更多信息,请参阅 Amazon IoT 规则操作

注意

Amazon IoT SQL 语法目前不支持注释。

包含空格的属性名称不能用作 SQL 语句中的字段名称。虽然传入负载可以在属性名称中包含空格,但这些名称不能在 SQL 语句中使用。但是,如果您使用通配符 (*) 字段名称规范,它们将传递到传出负载。