11 September 2023

¿Cómo funciona el carácter del signo del dólar en el nombre del topico principal de AWS IoT?

Miguel Angel Acevedo
Miguel Angel Acevedo @faultydev

En AWS IoT Core, el signo de dólar ($) se utiliza para indicar temas reservados. Estos son temas del sistema que están reservados para la comunicación entre AWS IoT y el dispositivo. No están pensados para que las aplicaciones se comuniquen entre sí.

AWS IoT Core utiliza temas para enrutar mensajes de los editores a los suscriptores. Un topico es simplemente un canal de comunicación en el que los dispositivos pueden publicar mensajes y suscribirse para recibir esos mensajes. Los temas de AWS IoT Core tienen estructuras jerárquicas y se definen mediante barras diagonales (/) como delimitador. Por ejemplo, un topico podría ser “hogar/dormitorio/luz”.

Los temas reservados son temas del sistema que comienzan con un signo de dólar ($), Por ejemplo $aws/things/thingName/shadow/update es un topico reservado para actualizar la sombra del dispositivo de un objeto llamado “thingName”

Los temas reservados se clasifican en tres tipos:

  • Topico de trabajo (Job topics): AWS IoT publica mensajes relacionados con el trabajo directamente al cliente que lo solicitó. Los dispositivos pueden publicar un mensaje en temas de trabajo para realizar una solicitud GetPendingJobExecutions
  • Topico de modelos de activos (Asset model topics): AWS IoT SiteWise publica notificaciones de propiedades de activos en este topico
  • Topico de túnel seguro (Secure tunneling topics): AWS IoT publica este mensaje para que un agente de IoT inicie un proxy local en el dispositivo remoto

Estos temas reservados proporcionan un medio para que AWS IoT Core se comunique directamente con los dispositivos. Por ejemplo, cuando un dispositivo necesita recibir una actualización de firmware, AWS IoT Core puede enviar un mensaje al dispositivo a través del topico del trabajo reservado. Luego, el dispositivo puede recuperar la actualización del firmware y aplicarla.

Si bien el dispositivo puede publicar en estos temas reservados, no puede suscribirse a ellos. Estos temas se utilizan para que AWS IoT Core se comunique con el dispositivo, no para que el dispositivo se comunique con AWS IoT Core

En conclusión, el signo de dólar ($) en los temas principales de AWS IoT se utiliza para indicar temas del sistema que están reservados para la comunicación entre AWS IoT y el dispositivo. El dispositivo no puede suscribirse a estos temas, pero puede publicarlos para solicitar operaciones específicas.

Referencias

Reserved topics - AWS IoT Core

MQTT topics - AWS IoT Core

Publish/Subscribe policy examples - AWS IoT Core

AWS IoT Core topic filter wildcards - Stack Overflow

AWS IoT Core topic wildcard: what was the value?

Categories

AWS IoT MQTT