Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Ereignisse im Lebenszyklus

Fokusmodus
Ereignisse im Lebenszyklus - 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.

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.

AWS IoT kann Lebenszyklusereignisse zu den MQTT Themen veröffentlichen. Diese Ereignisse stehen standardmäßig zur Verfügung und können nicht deaktiviert werden.

Anmerkung

Nachrichten zum Lebenszyklus können ohne feste Reihenfolge gesendet werden. Unter Umständen erhalten Sie einzelne Nachrichten auch mehrfach.

thingNamewird nur berücksichtigt, wenn der Client über die Funktion „Exklusive Dinge“ eine Verbindung herstellt.

„Verbinden/Verbindung trennen“-Ereignisse

Anmerkung

Mit der AWS IoT Device Management-Flottenindizierung können Sie nach Dingen suchen, aggregierte Abfragen ausführen und dynamische Gruppen auf der Grundlage von Connect/Disconnect-Ereignissen für Dinge erstellen. Weitere Informationen finden Sie unter Flottenindizierung.

AWS IoT veröffentlicht eine Nachricht zu den folgenden MQTT Themen, wenn ein Client eine Verbindung herstellt oder trennt:

  • $aws/events/presence/connected/clientId: Ein Client, der mit dem Message Broker verbunden ist.

  • $aws/events/presence/disconnected/clientId: Ein Client, dessen Verbindung mit dem Message Broker getrennt wurde

Im Folgenden finden Sie eine Liste der JSON Elemente, die in den zu diesem Thema veröffentlichten Verbindungs-/Trennungsmeldungen enthalten sind. $aws/events/presence/connected/clientId

clientId

Die Client-ID des Clients, der eine Verbindung herstellt oder trennt

Anmerkung

ClientsIDs, die # oder + enthalten, empfangen keine Lebenszyklusereignisse.

thingName

Der Name deiner IoT-Sache. thingNamewird nur aufgenommen, wenn der Client über die exklusive Ding-Funktion eine Verbindung herstellt.

clientInitiatedDisconnect

„True“, wenn der Client die Verbindungstrennung initiiert hat. Ansonsten „false”. Nur in Trennungsnachrichten.

disconnectReason

Der Grund, warum der Client die Verbindung trennt. Nur in Trennungsnachrichten. Die folgende Tabelle enthält gültige Werte und gibt an, ob der Broker beim Verbindungsabbruch Nachrichten in Form von Last Will und Testament (LWT) sendet.

Grund für das Trennen der Verbindung Beschreibung Der Broker sendet die Nachrichten LWT
AUTH_ERROR Der Client konnte sich nicht authentifizieren, oder die Autorisierung ist fehlgeschlagen. Ja. Wenn das Gerät vor dem Empfang dieses Fehlers über eine aktive Verbindung verfügt.
CLIENT_INITIATED_DISCONNECT Der Client gibt an, dass die Verbindung getrennt wird. Der Client kann dies tun, indem er entweder ein MQTT DISCONNECT Steuerpaket sendet oder Close frame ob der Client eine WebSocket Verbindung verwendet. Nein.
CLIENT_ERROR Der Client hat etwas falsch gemacht, das dazu führt, dass die Verbindung getrennt wird. Beispielsweise wird die Verbindung zu einem Client unterbrochen, wenn er mehr als ein MQTT CONNECT Paket über dieselbe Verbindung sendet oder wenn der Client versucht, mit einer Payload zu veröffentlichen, die das Payload-Limit überschreitet. Ja.
CONNECTION_LOST Die Client-Server-Verbindung wird unterbrochen. Dies kann während eines Zeitraums mit hoher Netzwerklatenz geschehen, oder wenn die Internetverbindung unterbrochen wird. Ja.
DUPLICATE_CLIENTID Der Client verwendet eine Client-ID, die bereits verwendet wird. In diesem Fall wird der Client, der bereits verbunden ist, mit diesem Trenngrund getrennt. Ja.
FORBIDDEN_ACCESS Der Client darf keine Verbindung herstellen. So kann ein Client beispielsweise mit einer abgelehnten IP-Adresse keine Verbindung herstellen. Ja. Wenn das Gerät vor dem Empfang dieses Fehlers über eine aktive Verbindung verfügt.
MQTT_KEEP_ALIVE_TIMEOUT Wenn es für das 1,5-fache der Keepalive-Zeit des Clients keine Client-Server-Kommunikation gibt, wird der Client getrennt. Ja.
SERVER_ERROR Trennung der Verbindung aufgrund unerwarteter Serverprobleme. Ja.
SERVER_INITIATED_DISCONNECT Der Server trennt einen Client aus betrieblichen Gründen absichtlich. Ja.
THROTTLED Der Client wird getrennt, weil er ein Drosselungslimit überschritten hat. Ja.
WEBSOCKET_TTL_EXPIRATION Die Verbindung mit dem Client wird unterbrochen, weil die Verbindung mit a WebSocket länger dauert als der angegebene Wert. time-to-live Ja.
CUSTOMAUTH_TTL_EXPIRATION Die Verbindung zum Client wurde unterbrochen, weil die Verbindung länger dauert als der time-to-live Wert seines benutzerdefinierten Autorisierers. Ja.
eventType

Der Ereignistyp. Gültige Werte sind connected oder disconnected.

ipAddress

Die IP-Adresse des verbindenden Clients. Dies kann im Oder-Format IPv4 sein. IPv6 Nur in Verbindungsnachrichten.

principalIdentifier

Die zur Anmeldung verwendeten Anmeldeinformationen. Bei Zertifikaten zur TLS gegenseitigen Authentifizierung ist dies die Zertifikat-ID. Für andere Verbindungsarten sind dies die IAM-Anmeldeinformationen.

sessionIdentifier

Ein global eindeutiger Bezeichner AWS IoT , der für die Dauer der Sitzung existiert.

Zeitstempel

Eine ungefähre Schätzung, wann das Ereignis eingetreten ist.

versionNumber

Die Versionsnummer für das Lebenszyklusereignis. Dies ist ein monoton ansteigender langer Ganzzahlwert für jede Client-ID-Verbindung. Die Versionsnummer kann von einem Abonnenten verwendet werden, um die Reihenfolge der Lebenszyklusereignisse festzustellen.

Anmerkung

Die Verbindungs- und Trennungsnachrichten für eine Client-Verbindung haben dieselbe Versionsnummer.

Die Versionsnummer kann Werte überspringen und wird nicht zwingend konsistent für jedes Ereignis um 1 erhöht.

Wenn ein Client etwa eine Stunde lang nicht verbunden ist, wird die Versionsnummer auf 0 zurückgesetzt. Bei persistenten Sitzungen wird die Versionsnummer auf 0 zurückgesetzt, nachdem die Verbindung zu einem Client länger unterbrochen wurde als für die persistente Sitzung konfiguriert time-to-live (TTL).

Eine Verbindungsnachricht hat die folgende Struktur.

{ "clientId": "186b5", "thingName": "exampleThing", "timestamp": 1573002230757, "eventType": "connected", "sessionIdentifier": "00000000-0000-0000-0000-000000000000", "principalIdentifier": "12345678901234567890123456789012", "ipAddress": "192.0.2.0", "versionNumber": 0 }

Eine Trennungsnachricht hat die folgende Struktur.

{ "clientId": "186b5", "thingName": "exampleThing", "timestamp": 1573002340451, "eventType": "disconnected", "sessionIdentifier": "00000000-0000-0000-0000-000000000000", "principalIdentifier": "12345678901234567890123456789012", "clientInitiatedDisconnect": true, "disconnectReason": "CLIENT_INITIATED_DISCONNECT", "versionNumber": 0 }

Umgang mit Client-Verbindungstrennungen

Es hat sich bewährt, für Lebenszyklusereignisse, einschließlich Nachrichten aus dem letzten Testament und Testament (LWT), immer einen Wartestatus zu implementieren. Wenn eine getrennte Verbindung signalisiert wird, sollte Ihr Code eine gewisse Zeit warten und überprüfen, ob ein Gerät noch offline ist, bevor Maßnahmen ergriffen werden. Eine Möglichkeit, dies zu tun, ist die Verwendung von SQSDelay Queues. Wenn ein Client ein LWT oder ein Lebenszyklusereignis empfängt, können Sie eine Nachricht in die Warteschlange stellen (z. B. für 5 Sekunden). Wenn die Nachricht verfügbar ist und verarbeitet wird (durch Lambda oder einen anderen Service), können Sie zunächst überprüfen, ob das Gerät immer noch offline ist, bevor Sie zu weiteren Maßnahmen greifen.

Ereignis mit fehlgeschlagenem Verbindungsversuch

AWS IoT veröffentlicht eine Nachricht zum folgenden MQTT Thema, wenn ein Kunde nicht autorisiert ist, eine Verbindung herzustellen, oder wenn ein Testament konfiguriert ist und der Kunde nicht berechtigt ist, zu diesem letzten Testamentsthema zu veröffentlichen.

$aws/events/presence/connect_failed/clientId

Im Folgenden finden Sie eine Liste der JSON Elemente, die in den Nachrichten zur Verbindungsautorisierung enthalten sind, die zu $aws/events/presence/connect_failed/clientId diesem Thema veröffentlicht wurden.

clientId

Die Client-ID des Clients, der versucht hat, eine Verbindung herzustellen, aber fehlgeschlagen ist.

Anmerkung

ClientsIDs, die # oder + enthalten, empfangen keine Lebenszyklusereignisse.

thingName

Der Name deiner IoT-Sache. thingNamewird nur aufgenommen, wenn der Client über die exklusive Ding-Funktion eine Verbindung herstellt.

Zeitstempel

Eine ungefähre Schätzung, wann das Ereignis eingetreten ist.

eventType

Der Ereignistyp. Gültiger Wert istconnect_failed.

connectFailureReason

Der Grund, warum die Verbindung fehlschlägt. Gültiger Wert istAUTHORIZATION_FAILED.

principalIdentifier

Die zur Anmeldung verwendeten Anmeldeinformationen. Bei Zertifikaten zur TLS gegenseitigen Authentifizierung ist dies die Zertifikat-ID. Für andere Verbindungsarten sind dies die IAM-Anmeldeinformationen.

sessionIdentifier

Ein global eindeutiger Bezeichner AWS IoT , der für die Dauer der Sitzung existiert.

ipAddress

Die IP-Adresse des verbindenden Clients. Dies kann in unserem IPv4 IPv6 Format sein. Nur in Verbindungsnachrichten.

Eine Meldung über einen Verbindungsfehler hat die folgende Struktur.

{ "clientId": "186b5", "thingName": "exampleThing", "timestamp": 1460065214626, "eventType": "connect_failed", "connectFailureReason": "AUTHORIZATION_FAILED", "principalIdentifier": "12345678901234567890123456789012", "sessionIdentifier": "00000000-0000-0000-0000-000000000000", "ipAddress" : "192.0.2.0" }

„Abonnieren/Abonnement beenden“-Ereignisse

AWS IoT veröffentlicht eine Nachricht zum folgenden MQTT Thema, wenn ein Client ein Thema abonniert oder abbestellt: MQTT

$aws/events/subscriptions/subscribed/clientId

or

$aws/events/subscriptions/unsubscribed/clientId

Wo clientId ist die MQTT Client-ID, die eine Verbindung zum Message Broker herstellt? AWS IoT

Die im Topic veröffentlichte Nachricht weist die folgende Struktur auf:

{ "clientId": "186b5", "thingName": "exampleThing", "timestamp": 1460065214626, "eventType": "subscribed" | "unsubscribed", "sessionIdentifier": "00000000-0000-0000-0000-000000000000", "principalIdentifier": "12345678901234567890123456789012", "topics" : ["foo/bar","device/data","dog/cat"] }

Im Folgenden finden Sie eine Liste der JSON Elemente, die in den abonnierten und abgemeldeten Nachrichten enthalten sind, die in den Themen und Themen veröffentlicht wurden. $aws/events/subscriptions/subscribed/clientId $aws/events/subscriptions/unsubscribed/clientId

clientId

Die Client-ID des Clients, der ein Topic abonniert oder das Abonnement abbestellt.

Anmerkung

ClientsIDs, die # oder + enthalten, empfangen keine Lebenszyklusereignisse.

thingName

Der Name deiner IoT-Sache. thingNamewird nur aufgenommen, wenn der Client über die exklusive Ding-Funktion eine Verbindung herstellt.

eventType

Der Ereignistyp. Gültige Werte sind subscribed oder unsubscribed.

principalIdentifier

Die zur Anmeldung verwendeten Anmeldeinformationen. Bei Zertifikaten zur TLS gegenseitigen Authentifizierung ist dies die Zertifikat-ID. Für andere Verbindungsarten sind dies die IAM-Anmeldeinformationen.

sessionIdentifier

Ein global eindeutiger Bezeichner AWS IoT , der für die Dauer der Sitzung existiert.

Zeitstempel

Eine ungefähre Schätzung, wann das Ereignis eingetreten ist.

topics

Eine Reihe von MQTT Themen, die der Kunde abonniert hat.

Anmerkung

Nachrichten zum Lebenszyklus können ohne feste Reihenfolge gesendet werden. Unter Umständen erhalten Sie einzelne Nachrichten auch mehrfach.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.