SQL 版本
Amazon IoT 规则引擎使用一种类似 SQL 的语法从 MQTT 消息选择数据。SQL 语句基于 SQL 版本进行解释,该版本由描述此规则的 JSON 文档中的 awsIotSqlVersion
属性指定。有关 JSON 规则文档结构的更多信息,请参阅创建规则。借助 awsIotSqlVersion
属性,您可以指定想要使用的 Amazon IoT SQL 规则引擎版本。当部署新版本时,您可以继续使用早期版本或更改规则以使用新版本。您当前的规则将继续使用创建时所用的版本。
以下 JSON 示例介绍了如何使用 awsIotSqlVersion
属性指定 SQL 版本:
{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [{ "republish": { "topic": "my-mqtt-topic", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } }] }
Amazon IoT 目前支持以下 SQL 版本:
-
2016-03-23
– 2016 年 3 月 23 日构建的 SQL 版本(建议)。 -
2015-10-08
– 2015 年 10 月 8 日构建的 SQL 原始版本。 -
beta
– 最新的 SQL 测试版本。此版本可能会给您的规则带来突破性变化。
2016-03-23 SQL 规则引擎版本中的新增功能
将 Array
作为顶级对象输出
此特征允许规则将阵列作为顶级对象返回。例如,给定了以下 MQTT 消息:
{ "a": {"b":"c"}, "arr":[1,2,3,4] }
以及以下规则:
SELECT VALUE arr FROM 'topic'
该规则生成以下输出。
[1,2,3,4]