替换模板
您可以使用替换模板来补充规则被触发并且 Amazon IoT 执行操作后返回的 JSON 数据。替换模板的语法是 ${
expression}
,其中 expression 可以是 SELECT 子句、WHERE 子句中的 Amazon IoT 以及 Amazon IoT 规则操作 支持的任意表达式。此表达式可插入到规则的操作字段中,使您可以动态配置操作。在生效时,此特征替换操作中的一段信息。这包括函数、运算符和原始消息负载中存在的信息。
有关支持的表达式的更多信息,请参阅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 }