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.
Gerätekommunikationsprotokolle
AWS IoT Core unterstützt Geräte und Clients, die die Protokolle MQTT und MQTT over WebSocket Secure (WSS) verwenden, um Nachrichten zu veröffentlichen und zu abonnieren, sowie Geräte und Clients, die das HTTPS-Protokoll zum Veröffentlichen von Nachrichten verwenden. Alle Protokolle unterstützen IPv4 und IPv6. In diesem Abschnitt werden die verschiedenen Verbindungsoptionen für Geräte und Kunden beschrieben.
TLS 1.2 und TLS 1.3
AWS IoT Core verwendet TLS
AWS IoT Geräte-SDKs unterstützen MQTT und MQTT over WSS und unterstützen die Sicherheitsanforderungen von Client-Verbindungen. Wir empfehlen die Verwendung von AWS IoT Geräte-SDKs, um Clients mit dem AWS IoT zu verbinden.
Protokolle, Port-Zuweisungen und Authentifizierung
Wie ein Gerät oder ein Client über einen Geräteendpunkt eine Verbindung zum Message Broker herstellt, ist vom verwendeten Protokoll abhängig. In der folgenden Tabelle sind die von den AWS IoT Geräteendpunkten unterstützten Protokolle sowie die von ihnen verwendeten Authentifizierungsmethoden und Ports aufgeführt.
Protokolle, Authentifizierung und Port-Zuweisungen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Protokoll | Unterstützte Operationen | Authentifizierung | Port | ALPN-Protokollname | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT über WebSocket |
Veröffentlichen, Abonnieren | Signaturversion 4 | 443 |
N/A |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT vorbei WebSocket |
Veröffentlichen, Abonnieren | Benutzerdefinierte Authentifizierung | 443 |
N/A |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT |
Veröffentlichen, Abonnieren |
X.509-Clientzertifikat |
443† |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT | Veröffentlichen, Abonnieren | X.509-Clientzertifikat | 8883 | N/A | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT |
Veröffentlichen, Abonnieren |
Benutzerdefinierte Authentifizierung |
443† |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS |
Nur veröffentlichen |
Signaturversion 4 |
443 |
N/A |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS |
Nur veröffentlichen |
X.509-Clientzertifikat |
443† |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS | Nur veröffentlichen | X.509-Clientzertifikat | 8443 | N/A | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS | Nur veröffentlichen | Benutzerdefinierte Authentifizierung | 443 | N/A |
ALPN (Application Layer Protocol Negotiation)
† Clients, die eine Verbindung über Port 443 mit X.509-Client-Zertifikatsauthentifizierung herstellen, müssen die TLS-Erweiterung Application Layer Protocol Negotiation (ALPN)ClientHello
Clients stellen eine Verbindung zu ihren Geräteendpunkten AWS-Konto her. Informationen darüber, wie Sie die Geräteendpunkte Ihres Kontos finden, finden Sie unter AWS IoT Gerätedaten und Dienstendpunkte.
Anmerkung
AWS SDKs benötigen nicht die gesamte URL. Sie benötigen nur den Endpunkt-Hostnamen, z. B. das pubsub.py
Beispiel für AWS IoT Device SDK for Python on GitHub
Verbindung herstellen zu AWS IoT Core | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Protokoll |
Endpunkt oder URL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT over WSS |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS |
|
Auswahl eines Protokolls für Ihre Gerätekommunikation
Für die meiste IoT-Gerätekommunikation über die Geräteendpunkte sollten Sie die MQTT- oder MQTT-over-WSS-Protokolle verwenden. Die Geräteendpunkte unterstützen jedoch auch HTTPS. In der folgenden Tabelle wird verglichen, wie die beiden Protokolle für die Gerätekommunikation AWS IoT Core verwendet werden.
AWS IoT Geräteprotokolle side-by-side | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Funktion |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Unterstützung von Veröffentlichen/Abonnieren |
Veröffentlichen und Abonnieren |
Nur veröffentlichen |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SDK-Unterstützung |
AWS Geräte-SDKs unterstützen die Protokolle MQTT und WSS |
Keine SDK-Unterstützung, aber Sie können sprachspezifische Methoden verwenden, um HTTPS-Anfragen zu stellen |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Qualität der Service-Unterstützung |
QoS wird durch die Übergabe eines Abfragezeichenfolge-Parameter ?qos=qos unterstütz, dessen Wert 0 oder 1 sein kann. Sie können diese Abfragezeichenfolge hinzufügen, um eine Nachricht mit dem gewünschten QoS-Wert zu veröffentlichen. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Können empfangene Nachrichten verpasst werden, während das Gerät offline war | Ja | Nein | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Unterstützung von |
Ja |
Nein |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Erkennung von Geräteunterbrechungen |
Ja |
Nein |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sichere Kommunikationen |
Ja. Siehe Protokolle, Port-Zuweisungen und Authentifizierung |
Ja. Siehe Protokolle, Port-Zuweisungen und Authentifizierung |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Themendefinitionen |
Anwendung definiert |
Anwendung definiert |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Format der Nachrichtendaten |
Anwendung definiert |
Anwendung definiert |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Protokoll-Overhead | Niedriger | Höher | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Stromverbrauch | Niedriger | Höher |
Einschränkungen der Verbindungsdauer
Es kann nicht garantiert werden, dass HTTPS-Verbindungen länger dauern als die Zeit, die für den Empfang und die Beantwortung von Anfragen benötigt wird.
Die Dauer der MQTT-Verbindung ist von der Authentifizierungsfunktion abhängig, die Sie verwenden. In der folgenden Tabelle ist die maximale Verbindungsdauer unter idealen Bedingungen für jede Funktion aufgeführt.
MQTT-Verbindungsdauer nach Authentifizierungsfunktion | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Funktion |
Maximale Dauer * |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
X.509-Clientzertifikat |
1 bis 2 Wochen |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Benutzerdefinierte Authentifizierung |
1 bis 2 Wochen |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Signaturversion 4 |
Bis zu 24 Stunden |
* Nicht garantiert
Mit X.509-Zertifikaten und benutzerdefinierter Authentifizierung gibt es keine feste Grenze für die Verbindungsdauer, sie kann jedoch auch nur wenige Minuten lang sein. Verbindungsunterbrechungen können aus verschiedenen Gründen auftreten. Die folgende Liste enthält einige der gängigsten Gründe.
-
Unterbrechungen der Wi-Fi-Verfügbarkeit
-
Verbindungsunterbrechungen des Internetdienstanbieters (ISP)
-
Service-Patches
-
Dienstbereitstellungen
-
Service Auto Scaling
-
Nicht verfügbarer Dienst-Host
-
Load Balancer-Probleme und -Aktualisierungen
-
Client-seitige Fehler
Ihre Geräte müssen Strategien zur Erkennung von Verbindungsabbrüchen und zur Wiederherstellung der Verbindung implementieren. Informationen zu Trennungsereignissen und Anleitungen, wie Sie damit umgehen können, finden Sie in Ereignisse im Lebenszyklus unter „Verbinden/Verbindung trennen“-Ereignisse.