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

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

替换模板

您可以使用替换模板来增加触发规则并 Amazon IoT 执行操作时返回的 JSON 数据。替换模板的语法是${表达式},其中表达可以是 SELECT 子句、WHERE 子句和 Amazon IoT 中支持的任何表达式Amazon IoT 规则操作。此表达式可插入到规则的操作字段中,使您可以动态配置操作。在生效时,此特征替换操作中的一段信息。这包括函数、运算符和原始消息负载中存在的信息。

重要

因为替换模板中的表达式与“SELECT ...”语句分开评估,所以,您无法引用使用 AS 子句创建的别名。您只能引用原始有效负载中存在的信息、函数运算符

有关支持的表达式的更多信息,请参阅Amazon IoT SQL 参考

以下规则操作支持替换模板。每个操作都支持不同的可替换字段。

替换模板显示在规则内的操作参数中:

{ "sql": "SELECT *, timestamp() AS timestamp FROM 'my/iot/topic'", "ruleDisabled": false, "actions": [{ "republish": { "topic": "${topic()}/republish", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } }] }

如果该规则由发布到 my/iot/topic 的以下 JSON 触发:

{ "deviceid": "iot123", "temp": 54.98, "humidity": 32.43, "coords": { "latitude": 47.615694, "longitude": -122.3359976 } }

然后,此规则将以下 JSON 发布到my/iot/topic/republish,其 Amazon IoT 替换为:${topic()}/republish

{ "deviceid": "iot123", "temp": 54.98, "humidity": 32.43, "coords": { "latitude": 47.615694, "longitude": -122.3359976 }, "timestamp": 1579637878451 }