本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
替换模板
您可以使用替换模板来增加触发规则并 Amazon IoT 执行操作时返回的 JSON 数据。替换模板的语法是${
表达式}
,其中表达式可以是 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 }