Argomenti MQTT - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Argomenti MQTT

Gli argomenti MQTT identificano i AWS IoT messaggi. AWS IoT i client identificano i messaggi che pubblicano assegnando ai messaggi i nomi degli argomenti. I client identificano i messaggi a cui si desidera effettuare la sottoscrizione (ricevere) registrando un filtro argomento con AWS IoT Core. Il broker di messaggi usa nomi e filtri argomento per instradare messaggi dai client di pubblicazione ai client di sottoscrizione.

Il broker di messaggi utilizza argomenti per identificare messaggi inviati tramite MQTT e inviati tramite HTTP a URL del messaggio HTTPS.

Sebbene AWS IoT supporti alcuni argomenti di sistema riservati, la maggior parte degli argomenti MQTT viene creata e gestita dall'utente, il progettista del sistema. AWS IoT utilizza gli argomenti per identificare i messaggi ricevuti dai client di pubblicazione e selezionare i messaggi da inviare ai client abbonati, come descritto nelle sezioni seguenti. Prima di creare uno spazio dei nomi degli argomenti per il sistema, esaminare le caratteristiche degli argomenti MQTT per creare la gerarchia dei nomi degli argomenti più adatta al sistema IoT.

Nomi argomento

I nomi degli argomenti e i filtri degli argomenti sono stringhe codificate in UTF-8. Possono rappresentare una gerarchia di informazioni utilizzando il carattere barra (/) per separare i livelli della gerarchia. Ad esempio, il nome di questo argomento potrebbe riferirsi a un sensore di temperatura nella stanza 1:

  • sensor/temperature/room1

In questo esempio, potrebbero esserci altri tipi di sensori in altre stanze con nomi di argomenti come:

  • sensor/temperature/room2

  • sensor/humidity/room1

  • sensor/humidity/room2

Nota

Considerando i nomi degli argomenti per i messaggi nel sistema, tieni presente:

  • I nomi degli argomenti e i filtri degli argomenti distinguono tra maiuscole e minuscole.

  • I nomi degli argomenti non devono contenere informazioni di identificazione personale.

  • I nomi degli argomenti che iniziano con $ sono argomenti riservatiche possono essere utilizzati solo da AWS IoT Core.

  • AWS IoT Core non posso inviare o ricevere messaggi tra Account AWS s o regioni.

Per ulteriori informazioni sulla progettazione dei nomi degli argomenti e dello spazio dei nomi, consulta il nostro whitepaper Progettazione di argomenti MQTT per AWS IoT Core.

Per esempi di come le app possono pubblicare e sottoscrivere messaggi, inizia con Guida introduttiva con AWS IoT Core e AWS IoT SDK per dispositivi, SDK per dispositivi mobili e AWS IoT client per dispositivi.

Importante

Lo spazio dei nomi degli argomenti è limitato a una regione Account AWS and. Ad esempio, l'sensor/temp/room1argomento utilizzato da una Account AWS regione è distinto dall'sensor/temp/room1argomento utilizzato dallo stesso AWS account in un'altra regione o utilizzato da qualsiasi altro Account AWS in qualsiasi regione.

Topic ARN (ARN argomento)

Tutti gli ARN degli argomenti (Amazon Resource Names) hanno il seguente modulo:

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

Ad esempio arn:aws:iot:us-west-2:123EXAMPLE456:topic/application/topic/device/sensor è un ARN per l'argomento application/topic/device/sensor.

Filtri argomento

I client in sottoscrizione registrano i filtri degli argomenti con il broker di messaggi per specificare gli argomenti dei messaggi che il broker dei messaggi deve inviare loro. Un filtro argomento può essere un singolo nome argomento per effettuare la sottoscrizione a un singolo nome argomento oppure può includere caratteri jolly per effettuare la sottoscrizione a più nomi argomenti contemporaneamente.

I client di pubblicazione non possono utilizzare caratteri jolly nei nomi degli argomenti che pubblicano.

Nella tabella seguente sono elencati i caratteri jolly che possono essere utilizzati in un filtro argomento.

Caratteri jolly per gli argomenti
Carattere jolly. Corrispondenze Note
# Tutte le stringhe al livello e al di sotto del livello nella gerarchia degli argomenti.

Deve essere l'ultimo carattere nel filtro argomento.

Deve essere l'unico carattere nel suo livello della gerarchia degli argomenti.

Può essere utilizzato in un filtro argomento che contiene anche il carattere jolly +.

+ Qualsiasi stringa nel livello che contiene il carattere.

Deve essere l'unico carattere nel suo livello della gerarchia degli argomenti.

Può essere utilizzato in più livelli di un filtro argomento.

Utilizzo di caratteri jolly con gli esempi di nomi dell'argomento del sensore precedenti:

  • Una sottoscrizione di sensor/# riceve i messaggi pubblicati in sensor/, sensor/temperature e sensor/temperature/room1, ma non i messaggi pubblicati in sensor.

  • Una sottoscrizione a sensor/+/room1 riceve i messaggi pubblicati a sensor/temperature/room1 e sensor/humidity/room1, ma non messaggi inviati a sensor/temperature/room2 o sensor/humidity/room2.

ARN del filtro argomenti

Tutti gli ARN dei filtri argomenti hanno il seguente modulo:

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

Ad esempio, arn:aws:iot:us-west-2:123EXAMPLE456:topicfilter/application/topic/+/sensor è un ARN per il filtro argomento application/topic/+/sensor.