

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.

# Temas de MQTT
<a name="topics"></a>

Los temas de MQTT identifican los AWS IoT mensajes. AWS IoT los clientes identifican los mensajes que publican asignándoles 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](http.md#httpurl).

Aunque AWS IoT admite algunos temas [ reservados del sistema](reserved-topics.md), la mayoría de los temas de MQTT son creados y gestionados por usted, el diseñador del sistema. AWS IoT utiliza los temas para identificar los mensajes recibidos de los clientes de publicación y seleccionar los mensajes que se van a enviar a los clientes suscriptores, tal y como se describe en las siguientes secciones. 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
<a name="topicnames"></a>

Los nombres de los temas y los filtros de temas son cadenas UTF-8 codificadas. 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](reserved-topics.md) que debe utilizar únicamente AWS IoT Core.
AWS IoT Core no puedo enviar ni recibir mensajes entre Cuenta de AWS una región o una región.

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](https://docs.aws.amazon.com/whitepapers/latest/designing-mqtt-topics-aws-iot-core/designing-mqtt-topics-aws-iot-core.html).

Para ver ejemplos de cómo las aplicaciones pueden publicar y suscribirse a mensajes, empiece por [Introducción al AWS IoT Core Tutoriales de](iot-gs.md) y [AWS IoT SDKs para dispositivos, SDKs para dispositivos móviles y AWS IoT Cliente de dispositivo](iot-sdks.md).

**importante**  
El espacio de nombres del tema está limitado a una región Cuenta de AWS y. Por ejemplo, el `sensor/temp/room1` tema utilizado por una Cuenta de AWS región es distinto del `sensor/temp/room1` tema utilizado por la misma AWS cuenta en otra región o por cualquier otra Cuenta de AWS en cualquier región.

## ARN de tema
<a name="topicnames-arn"></a>

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
<a name="topicfilters"></a>

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. 


**Comodines de tema**  

| 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. <br />Debe ser el único carácter en su nivel de jerarquía de temas.<br />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.<br />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 en `sensor/`, `sensor/temperature` y `sensor/temperature/room1`, pero no los mensajes publicados en `sensor`. 
+ Una suscripción a `sensor/+/room1` recibe mensajes publicados en `sensor/temperature/room1` y `sensor/humidity/room1`, pero no mensajes enviados a `sensor/temperature/room2` o `sensor/humidity/room2`.

### ARN de filtro de temas
<a name="topicfilters-arn"></a>

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`.