Themen - AWS IoT

Themen

Themen identifizieren AWS IoT-Nachrichten. AWS IoT-Clients identifizieren die Nachrichten, die sie veröffentlichen, indem sie den Nachrichten Themennamen geben. Clients identifizieren die Nachrichten, die sie abonnieren (empfangen) möchten, indem sie einen Themenfilter bei AWS IoT Core registrieren. Der AWS IoT Message Broker verwendet Themennamen und Themenfilter, um Nachrichten von veröffentlichenden Clients an abonnierende Clients zu senden.

Zwar unterstützt AWS IoT einige reservierte Systemthemen, die meisten MQTT-Themen werden jedoch von Ihnen, dem Systemdesigner, erstellt und verwaltet. AWS IoT verwendet Themen, um Nachrichten zu identifizieren, die von veröffentlichenden Clients empfangen wurden, und Nachrichten auszuwählen, die an abonnierende Clients gesendet werden sollen, wie in den folgenden Abschnitten beschrieben. Bevor Sie einen Themen-Namespace für Ihr System erstellen, überprüfen Sie die Merkmale von MQTT-Themen, um die Hierarchie der Themennamen zu erstellen, die für Ihr IoT-System am besten geeignet ist.

Themennamen

Themennamen und Themenfilter sind UTF-8-codierte Zeichenfolgen. Sie können eine Hierarchie von Informationen darstellen, indem Sie den Schrägstrich (/) verwenden, um die Ebenen der Hierarchie zu trennen. Dieser Themenname könnte sich beispielsweise auf einen Temperatursensor in Raum 1 beziehen:

  • sensor/temperature/room1

In diesem Beispiel kann es auch andere Arten von Sensoren in anderen Räumen mit Themennamen geben, z. B.:

  • sensor/temperature/room2

  • sensor/humidity/room1

  • sensor/humidity/room2

Anmerkung

Beachten Sie bei der Betrachtung von Themennamen für die Nachrichten in Ihrem System Folgendes:

  • Themennamen und Themenfilter berücksichtigen Groß- und Kleinschreibung.

  • Themennamen dürfen keine personenbezogenen Informationen enthalten.

  • Themennamen, die mit einem "$" beginnen, sind reservierte Themen, die nur von AWS IoT Core verwendet werden können.

  • AWS IoT Core kann keine Nachrichten zwischen AWS-Konten oder Regionen senden oder empfangen.

Der Namespace des Themas ist auf ein AWS-Konto und eine Region beschränkt. Das Thema sensor/temp/room1, das von einem AWS-Konto in einer Region verwendet wird, unterscheidet sich von dem Thema sensor/temp/room1, das von demselben AWS-Konto in einer anderen Region verwendet wird oder von einem anderen AWS-Konto in einer Region verwendet wird.

Themenfilter

Abonnierende Clients registrieren Themenfilter beim AWS IoT Message Broker, um die Nachrichtenthemen anzugeben, die der Message Broker an sie senden soll. Ein Themenfilter kann ein einzelner Themenname sein, um einen einzelnen Themennamen zu abonnieren, oder er kann Platzhalterzeichen enthalten, um mehrere Themennamen gleichzeitig zu abonnieren.

Veröffentlichende Clients können keine Platzhalterzeichen in den von ihnen veröffentlichten Themennamen verwenden.

In der folgenden Tabelle sind die Platzhalterzeichen aufgeführt, die in einem Themenfilter verwendet werden können.

Topic-Platzhalter
Platzhalterzeichen Übereinstimmungen Hinweise
# Alle Zeichenfolgen auf und unter seiner Ebene in der Themenhierarchie.

Muss das letzte Zeichen im Themenfilter sein.

Muss das einzige Zeichen auf seiner Ebene der Themenhierarchie sein.

Kann in einem Themenfilter verwendet werden, der auch das Platzhalterzeichen "+" enthält.

+ Jede Zeichenfolge in der Ebene, die das Zeichen enthält.

Muss das einzige Zeichen auf seiner Ebene der Themenhierarchie sein.

Kann in mehreren Ebenen eines Themenfilters verwendet werden.

Verwenden von Platzhaltern mit den vorherigen Beispielen der Sensor-Themennamen:

  • Ein Abonnement für sensor/# empfängt Nachrichten, die für sensor/, sensor/temperature oder sensor/temperature/room1 veröffentlicht werden, nicht jedoch Nachrichten, die für Sensor veröffentlicht werden.

  • Ein Abonnement für sensor/+/room1 empfängt Nachrichten, die für sensor/temperature/room1 und sensor/humidity/room1 veröffentlicht wurden, aber keine Nachrichten, die an sensor/temperature/room2 oder sensor/humidity/room2 gesendet wurden.