Temas de MQTT
Los temas MQTT identifican los mensajes AWS IoT. Los clientes AWS IoT identifican los mensajes que publican dando a los mensajes nombres de temas. Los clientes identifican los mensajes a los que desean suscribirse (recibir) registrando un filtro de temas con AWS IoT Core. El agente de mensajes de utiliza nombres y filtros de temas para dirigir los mensajes de los clientes de publicación a los clientes de suscripción.
El agente de mensajes utiliza los temas para identificar los mensajes enviados mediante MQTT y enviados mediante HTTP al URL del mensaje HTTPS.
Aunque AWS IoT admite algunos temas reservados del sistema, la mayoría de los temas de MQTT los crea y administra el diseñador del sistema. AWS IoT utiliza temas para identificar los mensajes que se reciben de los clientes de publicación y para seleccionar los mensajes que se van a enviar a los clientes suscriptores, tal y como se describe en las secciones siguientes. Antes de crear un espacio de nombres de temas para el sistema, consulte las características de los temas de MQTT para crear la jerarquía de nombres de temas que funcione mejor con su sistema de IoT.
Nombres de temas
Los nombres de los temas y los filtros de temas son cadenas codificadas por UTF-8. Pueden representar una jerarquía de información utilizando el carácter de barra diagonal (/) para separar los niveles de la jerarquía. Por ejemplo, este nombre de tema podría referirse a un sensor de temperatura en la sala 1:
-
sensor/temperature/room1
En este ejemplo, también puede haber otros tipos de sensores en otras salas con nombres de temas como:
-
sensor/temperature/room2 -
sensor/humidity/room1 -
sensor/humidity/room2
nota
Cuando considere los nombres de los temas para los mensajes de su sistema, tenga en cuenta:
-
Los nombres de temas y los filtros de temas distinguen entre mayúsculas y minúsculas.
-
Los nombres de los temas no deben contener información de identificación personal.
-
Los nombres de tema que comienzan por $ son temas reservados que debe utilizar únicamente AWS IoT Core.
-
AWS IoT Core no puede enviar ni recibir mensajes entre cuentas o regiones de Cuenta de AWS.
Para obtener más información sobre cómo diseñar los nombres de los temas y el espacio de nombres, consulte nuestro documento técnico, Diseño de temas MQTT para AWS IoT Core.
Para ver ejemplos de cómo las aplicaciones pueden publicar y suscribirse a mensajes, empiece por Tutoriales de introducción a AWS IoT Core y SDK de dispositivos, SDK para móviles y cliente de dispositivo de AWS IoT.
importante
El espacio de nombres del tema está limitado a una cuenta y región de Cuenta de AWS. Por ejemplo, el tema de sensor/temp/room1 utilizado por una Cuenta de AWS en una región es distinto del tema sensor/temp/room1 utilizado por la misma cuenta de AWS en otra región o utilizado por cualquier otra cuenta de Cuenta de AWS en cualquier región.
ARN de tema
Todos los ARN (Nombres de recursos de Amazon) temáticos tienen la siguiente forma:
arn:aws:iot:aws-region:AWS-account-ID:topic/Topic
Por ejemplo, arn:aws:iot:us-west-2:123EXAMPLE456:topic/application/topic/device/sensor es un ARN del tema application/topic/device/sensor.
Filtros de nombres de temas
Los clientes suscriptores registran filtros de nombres de temas con el agente de mensajes para especificar los temas de mensajes que el agente de mensajes debe enviarles. Un filtro de nombre de tema puede ser un único nombre de tema para suscribirse a un único nombre de tema o puede incluir caracteres comodín para suscribirse a varios nombres de tema a la vez.
Los clientes de publicación no pueden utilizar caracteres comodín en los nombres de tema que publican.
En la tabla siguiente se enumeran los caracteres comodín que se pueden utilizar en un filtro de temas.
| Carácter comodín | Coincide | Notas |
|---|---|---|
| # | Todas las cadenas en y por debajo de su nivel en la jerarquía de temas. |
Debe ser el último carácter del filtro de temas. Debe ser el único carácter en su nivel de jerarquía de temas. Se puede utilizar en un filtro de temas que también contiene el carácter comodín +. |
| + | Cualquier cadena en el nivel que contiene el carácter. |
Debe ser el único carácter en su nivel de jerarquía de temas. Se puede utilizar en varios niveles de un filtro de tema. |
Uso de comodines con los ejemplos de nombres de tema de sensor anteriores:
-
Una suscripción a
sensor/#recibe los mensajes publicados ensensor/,sensor/temperatureysensor/temperature/room1, pero no los mensajes publicados ensensor. -
Una suscripción a
sensor/+/room1recibe mensajes publicados ensensor/temperature/room1ysensor/humidity/room1, pero no mensajes enviados asensor/temperature/room2osensor/humidity/room2.
ARN de filtro de temas
Todos los ARN (nombres de recursos de Amazon) del filtro de temas tienen la siguiente forma:
arn:aws:iot:aws-region:AWS-account-ID:topicfilter/TopicFilter
Por ejemplo, arn:aws:iot:us-west-2:123EXAMPLE456:topicfilter/application/topic/+/sensor es un ARN del filtro de tema application/topic/+/sensor.