MQTT-Themen - AWS IoT Core

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

MQTT-Themen

MQTT-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 Message Broker verwendet Themennamen und Themenfilter, um Nachrichten von veröffentlichenden Clients an abonnierende Clients zu senden.

Der Message Broker verwendet Topics, um Nachrichten zu identifizieren, die über MQTT und über HTTP an die HTTPS-Nachrichten-URL gesendet wurden.

AWS IoT Unterstützt zwar 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 Publishing-Clients empfangen wurden, und um Nachrichten auszuwählen, die an abonnierte 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-Konto s oder Regionen senden oder empfangen.

Weitere Informationen zum Entwurf von Themennamen und Ihres Namespaces finden Sie in unserem Whitepaper Entwerfen von MQTT-Themen für AWS IoT Core.

Beispiele dafür, wie Apps Nachrichten veröffentlichen und abonnieren können, finden Sie am Anfang mit Erste Schritte mit AWS IoT Core und AWS IoT Geräte-SDKs , Mobile SDKs und Geräte-Client AWS IoT.

Wichtig

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

Thema-ARN

Alle Themen-ARNs (Amazon Resource Names) haben das folgende Format.

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

Zum Beispiel ist arn:aws:iot:us-west-2:123EXAMPLE456:topic/application/topic/device/sensor ein ARN für das Thema application/topic/device/sensor.

Themenfilter

Abonnierende Clients registrieren Themenfilter beim 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.

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

Themenfilter-ARN

Alle Themenfilter-ARNs (Amazon Resource Names) haben das folgende Format:

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

arn:aws:iot:us-west-2:123EXAMPLE456:topicfilter/application/topic/+/sensor ist beispielsweise ein ARN für den Themenfilter application/topic/+/sensor.