Tópicos 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 MQTT

Tópicos MQTT identificamAWS IoTmensagens.AWS IoTOs cliente 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 corretor de mensagens usa tópicos para identificar mensagens enviadas usando MQTT e enviadas usando HTTP para oURL da mensagem HTTPS.

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 CoreO não pode enviar ou receber mensagens entreConta da AWSs ou Regiões.

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

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

Importante

O namespace de tópico é limitado a umConta da AWSe Região. Por exemplo, as receitassensor/temp/room1tópico usado por umConta da AWSEm uma região é diferente dasensor/temp/room1tópico usado pelo mesmoAWSconta em outra região ou usada por qualquer outraConta da AWSem qualquer região da.

Topic ARN

Todos os ARNs de tópicos (Amazon Resource Names) têm o seguinte formulário:

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 o nome de um tópico único para assinar o nome de um tópico único ou pode incluir caracteres curinga para assinar vários nomes de tópicos ao mesmo tempo.

Os cliente de publicação não podem usar caracteres curinga nos nomes de 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.

ARN do filtro do tópico

Todos os ARNs de filtro de tópicos (Amazon Resource Names) têm o seguinte formulário:

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.