Modèles de substitution - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Modèles de substitution

Vous pouvez utiliser un modèle de substitution pour augmenter les données JSON renvoyées lorsqu'une règle est déclenchée et AWS IoT exécute une action. La syntaxe d'un modèle de substitution est ${ expression}, où l'expression peut être n'importe quelle expression prise AWS IoT en charge par les clauses SELECT, WHERE etAWS IoT actions liées aux règles. Cette expression peut être connectée à un champ d'action d'une règle, ce qui vous permet de configurer dynamiquement une action. En effet, cette fonctionnalité remplace un élément d'information dans une action. Cela inclut les fonctions, les opérateurs et les informations présents dans la charge utile du message d'origine.

Important

Puisqu’une expression dans un modèle de substitution est évaluée séparément de l’instruction « SELECT... », vous ne pouvez pas référencer un alias créé à l’aide de la clause AS. Vous pouvez référencer uniquement les informations présentes dans la charge utile d’origine, fonctions et opérateurs.

Pour plus d'informations concernant les expressions prises en charge, consultez la page AWS IoT Référence SQL.

Les actions de règle suivantes prennent en charge les modèles de substitution. Chaque action prend en charge différents champs qui peuvent être substitués.

Les modèles de substitution apparaissent dans les paramètres d'action au sein d'une règle :

{ "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" } }] }

Si cette règle est déclenchée par le code JSON suivant publié dans my/iot/topic :

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

Cette règle publie ensuite le code JSON suivant surmy/iot/topic/republish, qui AWS IoT remplace : ${topic()}/republish

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