Plantillas de sustitución - AWS IoT Core

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Plantillas de sustitución

Puedes usar una plantilla de sustitución para aumentar los datos JSON devueltos cuando se activa una regla y AWS IoT realiza una acción. La sintaxis de una plantilla de sustitución es ${ expresión}, donde expresión puede ser cualquier expresión admitida AWS IoT en las cláusulas SELECT, WHERE yAWS IoT acciones de reglas. Esta expresión se puede conectar a un campo de acción de una regla, lo que le permite configurar dinámicamente una acción. En efecto, esta función sustituye a una parte de información de una acción. Esto incluye funciones, operadores e información presente en la carga del mensaje original.

importante

Dado que las expresiones en plantillas de sustitución se evalúan por separado de la declaración "SELECT...", no se puede hacer referencia a un alias creado con la cláusula AS. Solo puede hacer referencia a la información presente en la carga, las funciones y los operadores originales.

Para obtener más información acerca de las expresiones admitidas, consulte AWS IoT Referencia SQL.

Las siguientes acciones de las reglas admiten plantillas de sustitución. Cada acción admite diferentes campos que se pueden sustituir.

Las plantillas de sustitución aparecen en los parámetros de acción dentro de una regla:

{ "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 esta regla se activa mediante el siguiente JSON publicado en my/iot/topic:

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

A continuación, esta regla publica el siguiente JSON enmy/iot/topic/republish, que AWS IoT sustituye a${topic()}/republish:

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