AWS IoT Referencia SQL - 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.

AWS IoT Referencia SQL

En AWS IoT, las reglas se definen mediante una sintaxis similar a la de SQL. Las instrucciones SQL se componen de tres tipos de cláusulas:

SELECT

(Obligatorio) Extrae información de la carga de un mensaje de entrada y realiza transformaciones en la información. Los mensajes que se van a utilizar se identifican mediante el filtro de tema especificado en la cláusula FROM.

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

FROM

El filtro de tema de mensajes MQTT que identifica los mensajes de los que se van a extraer datos. La regla se activa para cada mensaje enviado a un tema de MQTT que coincide con el filtro de temas especificado aquí. Obligatorio para reglas que se activan mediante mensajes que pasan por el agente de mensajes. Opcional para reglas que solo se activan mediante la característica Basic Ingest.

WHERE

(Opcional) Agrega lógica condicional que determina si se llevan a cabo las acciones especificadas por una regla.

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

Un ejemplo de instrucción SQL tiene este aspecto:

SELECT color AS rgb FROM 'topic/subtopic' WHERE temperature > 50

Un mensaje MQTT de ejemplo (también denominado carga de entrada) tiene este aspecto:

{ "color":"red", "temperature":100 }

Si este mensaje se publica en el tema 'topic/subtopic', la regla se activa y se evalúa la instrucción SQL. La instrucción SQL extrae el valor de la propiedad color si la propiedad "temperature" es superior a 50. La cláusula WHERE especifica la condición temperature > 50. La palabra clave AS cambia el nombre de la propiedad "color" a "rgb". El resultado (también denominado carga de salida) tiene este aspecto:

{ "rgb":"red" }

Estos datos se reenvían después a la acción de la regla, que envía los datos para seguirlos procesando. Para obtener más información sobre las acciones de las reglas, consulte AWS IoT acciones de reglas.

nota

Actualmente, la sintaxis de AWS IoT SQL no admite comentarios.

Los nombres de atributos con espacios no se pueden usar como nombres de campo en la instrucción SQL. Si bien la carga entrante puede tener nombres de atributos con espacios, dichos nombres no se pueden usar en la instrucción SQL. Sin embargo, se transferirán a la carga saliente si utiliza una especificación de nombre de campo comodín (*).