Tópicos da MQTT - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tópicos da MQTT

Os tópicos do MQTT identificamAWS IoT as mensagens. AWS IoTos clientes identificam as mensagens que publicam dando nomes de tópicos às mensagens. Os clientes identificam as mensagens que desejam assinar (receber) registrando um filtro de tópico com o AWS IoT Core. O agente de mensagens do usa nomes de tópicos e filtros de tópicos para rotear mensagens de clientes de publicação a clientes assinatura.

O agente de mensagens usa tópicos para identificar mensagens enviadas usando MQTT e enviadas usando HTTP paraURL da mensagem HTTPS o.

Embora o AWS IoT seja compatível com alguns tópicos reservados do sistema, a maioria dos tópicos MQTT é criada e gerenciada por você, o designer do sistema. O AWS IoT usa tópicos para identificar mensagens recebidas de clientes de publicação e selecionar mensagens a serem enviadas para clientes assinantes, conforme descrito nas seções a seguir. Antes de criar um namespace de tópico para seu sistema, revise as características dos tópicos MQTT para criar a hierarquia de nomes de tópicos que funciona melhor para seu sistema de IoT.

Nomes de tópicos

Os nomes de tópicos e os filtros de tópicos são strings codificadas em UTF-8. Eles podem representar uma hierarquia de informações usando o caractere barra (/) para separar os níveis da hierarquia. Por exemplo, o nome deste tópico pode se referir a um sensor de temperatura no cômodo 1:

  • sensor/temperature/room1

Neste exemplo, também pode haver outros tipos de sensores em outros cômodos com nomes de tópicos, como:

  • sensor/temperature/room2

  • sensor/humidity/room1

  • sensor/humidity/room2

nota

Ao considerar os nomes de tópicos para as mensagens no sistema, lembre-se:

  • Os nomes de tópicos e os filtros de tópico diferenciam letras maiúsculas de minúsculas.

  • Os nomes de tópicos não devem conter informações de identificação pessoal.

  • Os nomes de tópicos que começam com $ são tópicos reservados para serem usados somente pelo AWS IoT Core.

  • AWS IoT Corenão consigo enviar nem receber mensagens entreConta da AWS s ou regiões.

Para obter mais informações sobre como criar nomes e namespace de tópicos, consulte nosso whitepaper, Designing MQTT Topics forAWS IoT Core.

Para exemplos de como os aplicativos podem publicar e assinar mensagens, comece comConceitos básicos do AWS IoT CoreAWS IoTSDKs de dispositivos, SDKs móveis e cliente deAWS IoT dispositivo e.

Importante

O namespace do tópico é limitado a uma regiãoConta da AWS e. Por exemplo, osensor/temp/room1 tópico usado por umConta da AWS em uma região é diferente dosensor/temp/room1 tópico usado pela mesmaAWS conta em outra região ou usado por qualquer outraConta da AWS em qualquer região.

Topic ARN

Todos os ARNs (nomes de recursos da Amazon) de tópicos têm o seguinte formato:

arn:aws:iot:aws-region:AWS-account-ID:topic/Topic

Por exemplo,arn:aws:iot:us-west-2:123EXAMPLE456:topic/application/topic/device/sensor é um ARN para o tópico application/topic/device/sensor.

Filtros de tópicos

Os clientes assinantes registram filtros de tópico com o agente de mensagens do para especificar os tópicos de mensagem que o agente de mensagens deve enviar para eles. Um filtro de tópico pode ser um único nome de tópico para assinar um único nome de tópico ou pode incluir caracteres curinga para assinar vários nomes de tópicos ao mesmo tempo.

Clientes de publicação não podem usar caracteres curinga nos nomes dos tópicos que publicam.

A tabela a seguir lista os caracteres curinga que podem ser usados em um filtro de tópico.

Curingas de tópicos
Caractere curinga Correspondências Observações
# Todas as strings de caracteres em e abaixo de seu nível na hierarquia de tópicos.

Deve ser o último caractere no filtro de tópico.

Deve ser o único caractere no nível da hierarquia de tópicos.

Pode ser usado em um filtro de tópico que também contém o caractere curinga +.

+ Qualquer string no nível que contém o caractere.

Deve ser o único caractere no nível da hierarquia de tópicos.

Pode ser usado em vários níveis de um filtro de tópico.

Exemplos de uso de curingas com o nome de tópico do sensor anterior:

  • Uma assinatura de sensor/# recebe mensagens publicadas em sensor/, sensor/temperature, sensor/temperature/room1, mas não mensagens publicadas em sensor.

  • Uma assinatura de sensor/+/room1 recebe mensagens publicadas em sensor/temperature/room1 e sensor/humidity/room1, mas não mensagens enviadas para sensor/temperature/room2 ou sensor/humidity/room2.

Filtro de tópicos ARN

Todos os ARNs de filtros de tópicos (nomes de recursos da Amazon) têm o seguinte formato:

arn:aws:iot:aws-region:AWS-account-ID:topicfilter/TopicFilter

Por exemplo,arn:aws:iot:us-west-2:123EXAMPLE456:topicfilter/application/topic/+/sensor é um ARN para o filtro de tópicos application/topic/+/sensor.