Cláusula WHERE - 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.

Cláusula WHERE

La cláusula WHERE determina si se llevan a cabo las acciones especificadas por una regla. Si la cláusula WHERE se evalúa en true, se llevan a cabo las acciones de la regla. De lo contrario, las acciones de la regla no se llevan a cabo.

La cláusula WHERE admite Tipos de datos, Operadores, Funciones, Literales, Instrucciones case, Extensiones JSON, Plantillas de sustitución y Consultas de objetos anidados.

Ejemplo:

Carga de entrada publicada en topic/subtopic: {"color":"red", "temperature":40}.

SQL: SELECT color AS my_color FROM 'topic/subtopic' WHERE temperature > 50 AND color <> 'red'.

En este caso, la regla se activará, pero las acciones especificadas por la regla no se llevarán a cabo. No habrá carga de salida.

Puede utilizar funciones y operadores en la cláusula WHERE. Sin embargo, no puede hacer referencia a ningún alias creado con la palabra clave AS en la cláusula SELECT. La cláusula WHERE se evalúa en primer lugar para determinar si SELECT debe evaluarse.

Ejemplo con una carga que no es JSON:

Carga entrante no JSON publicada en el `tema/subtema`: `80`

SQL: `SELECT decode(encode(*, 'base64'), 'base64') AS value FROM 'topic/subtopic' WHERE decode(encode(*, 'base64'), 'base64') > 50

En este caso, la regla se activará y las acciones especificadas por la regla se llevarán a cabo. La cláusula SELECT transformará la carga saliente en una carga {"value":80} JSON.