Fehlerbehebung bei Clientgeräten - AWS IoT Greengrass

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.

Fehlerbehebung bei Clientgeräten

Verwenden Sie die Informationen und Lösungen zur Fehlerbehebung in diesem Abschnitt, um Probleme mit Greengrass-Clientgeräten und Client-Gerätekomponenten zu beheben.

Probleme bei der Greengrass-Erkennung

Verwenden Sie die folgenden Informationen, um Probleme mit der Greengrass-Erkennung zu beheben. Diese Probleme können auftreten, wenn Client-Geräte die Greengrass-Erkennungs-API verwenden, um ein Greengrass-Kerngerät zu identifizieren, mit dem sie eine Verbindung herstellen können.

Probleme mit der Greengrass-Erkennung (HTTP-API)

Verwenden Sie die folgenden Informationen, um Probleme mit der Greengrass-Erkennung zu beheben. Diese Fehler können auftreten, wenn Sie die Discovery-API mit cURL testen.

curl: (52) Empty reply from server

Dieser Fehler wird möglicherweise angezeigt, wenn Sie in der Anforderung ein inaktives AWS IoT Zertifikat angeben.

Überprüfen Sie, ob dem Client-Gerät ein Zertifikat angefügt ist und ob das Zertifikat aktiv ist. Weitere Informationen finden Sie unter Anfügen eines Objekts oder einer Richtlinie an ein Client-Zertifikat und Aktivieren oder Deaktivieren eines Client-Zertifikats im AWS IoT Core -Entwicklerhandbuch.

HTTP 403: {"message":null,"traceId":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"}

Dieser Fehler wird möglicherweise angezeigt, wenn das Client-Gerät nicht berechtigt ist, greengrass:Discover für sich selbst aufzurufen.

Überprüfen Sie, ob das Zertifikat des Client-Geräts über eine Richtlinie verfügt, die zulässtgreengrass:Discover. Für diese Berechtigung können Sie keine Objektrichtlinienvariablen (iot:Connection.Thing.*) im Resource Abschnitt verwenden. Weitere Informationen finden Sie unter Erkennungsauthentifizierung und -autorisierung.

HTTP 404: {"errorMessage":"The thing provided for discovery was not found"}

Dieser Fehler kann in den folgenden Fällen auftreten:

  • Das Client-Gerät ist keinen Greengrass-Core-Geräten oder -AWS IoT Greengrass V1Gruppen zugeordnet.

  • Keines der zugeordneten Greengrass-Core-Geräte oder -AWS IoT Greengrass V1Gruppen des Client-Geräts hat einen MQTT-Broker-Endpunkt.

  • Keines der zugeordneten Greengrass-Core-Geräte des Client-Geräts führt die Authentifizierungskomponente des Client-Geräts aus.

Überprüfen Sie, ob das Client-Gerät dem Core-Gerät zugeordnet ist, mit dem es eine Verbindung herstellen soll. Überprüfen Sie dann, ob das Core-Gerät die Authentifizierungskomponente des Client-Geräts ausführt und mindestens einen MQTT-Broker-Endpunkt hat. Weitere Informationen finden Sie hier:

Probleme bei der Greengrass-Erkennung (AWS IoT Device SDK v2 für Python)

Verwenden Sie die folgenden Informationen, um Probleme mit der Greengrass-Erkennung in vAWS IoT Device SDK2 für Python zu beheben.

awscrt.exceptions.AwsCrtError: AWS_ERROR_HTTP_CONNECTION_CLOSED: The connection has closed or is closing.

Dieser Fehler wird möglicherweise angezeigt, wenn Sie in der Anforderung ein inaktives AWS IoT Zertifikat angeben.

Überprüfen Sie, ob dem Client-Gerät ein Zertifikat angefügt ist und ob das Zertifikat aktiv ist. Weitere Informationen finden Sie unter Anfügen eines Objekts oder einer Richtlinie an ein Client-Zertifikat und Aktivieren oder Deaktivieren eines Client-Zertifikats im AWS IoT Core -Entwicklerhandbuch.

awsiot.greengrass_discovery.DiscoveryException: ('Error during discover call: response_code=403', 403)

Dieser Fehler wird möglicherweise angezeigt, wenn das Client-Gerät nicht berechtigt ist, greengrass:Discover für sich selbst aufzurufen.

Überprüfen Sie, ob das Zertifikat des Client-Geräts über eine Richtlinie verfügt, die zulässtgreengrass:Discover. Für diese Berechtigung können Sie keine Objektrichtlinienvariablen (iot:Connection.Thing.*) im Resource Abschnitt verwenden. Weitere Informationen finden Sie unter Erkennungsauthentifizierung und -autorisierung.

awsiot.greengrass_discovery.DiscoveryException: ('Error during discover call: response_code=404', 404)

Dieser Fehler kann in den folgenden Fällen auftreten:

  • Das Client-Gerät ist keinen Greengrass-Core-Geräten oder -AWS IoT Greengrass V1Gruppen zugeordnet.

  • Keines der zugeordneten Greengrass-Core-Geräte oder -AWS IoT Greengrass V1Gruppen des Client-Geräts hat einen MQTT-Broker-Endpunkt.

  • Keines der zugeordneten Greengrass-Core-Geräte des Client-Geräts führt die Authentifizierungskomponente des Client-Geräts aus.

Überprüfen Sie, ob das Client-Gerät dem Core-Gerät zugeordnet ist, mit dem es eine Verbindung herstellen soll. Überprüfen Sie dann, ob das Core-Gerät die Authentifizierungskomponente des Client-Geräts ausführt und mindestens einen MQTT-Broker-Endpunkt hat. Weitere Informationen finden Sie hier:

Probleme bei der Greengrass-Erkennung (AWS IoT Device SDK v2 für C++)

Verwenden Sie die folgenden Informationen, um Probleme mit der Greengrass-Erkennung in AWS IoT Device SDK v2 für C++ zu beheben.

aws-c-http: AWS_ERROR_HTTP_CONNECTION_CLOSED, The connection has closed or is closing.

Dieser Fehler wird möglicherweise angezeigt, wenn Sie in der Anforderung ein inaktives AWS IoT Zertifikat angeben.

Überprüfen Sie, ob dem Client-Gerät ein Zertifikat angefügt ist und ob das Zertifikat aktiv ist. Weitere Informationen finden Sie unter Anfügen eines Objekts oder einer Richtlinie an ein Client-Zertifikat und Aktivieren oder Deaktivieren eines Client-Zertifikats im AWS IoT Core -Entwicklerhandbuch.

aws-c-common: AWS_ERROR_UNKNOWN, Unknown error. (HTTP 403)

Dieser Fehler wird möglicherweise angezeigt, wenn das Client-Gerät nicht berechtigt ist, greengrass:Discover für sich selbst aufzurufen.

Überprüfen Sie, ob das Zertifikat des Client-Geräts über eine Richtlinie verfügt, die zulässtgreengrass:Discover. Für diese Berechtigung können Sie keine Objektrichtlinienvariablen (iot:Connection.Thing.*) im Resource Abschnitt verwenden. Weitere Informationen finden Sie unter Erkennungsauthentifizierung und -autorisierung.

aws-c-common: AWS_ERROR_UNKNOWN, Unknown error. (HTTP 404)

Dieser Fehler kann in den folgenden Fällen auftreten:

  • Das Client-Gerät ist keinen Greengrass-Core-Geräten oder -AWS IoT Greengrass V1Gruppen zugeordnet.

  • Keines der zugeordneten Greengrass-Core-Geräte oder -AWS IoT Greengrass V1Gruppen des Client-Geräts hat einen MQTT-Broker-Endpunkt.

  • Keines der zugeordneten Greengrass-Core-Geräte des Client-Geräts führt die Authentifizierungskomponente des Client-Geräts aus.

Überprüfen Sie, ob das Client-Gerät dem Core-Gerät zugeordnet ist, mit dem es eine Verbindung herstellen soll. Überprüfen Sie dann, ob das Core-Gerät die Authentifizierungskomponente des Client-Geräts ausführt und mindestens einen MQTT-Broker-Endpunkt hat. Weitere Informationen finden Sie hier:

Probleme bei der Greengrass-Erkennung (AWS IoT Device SDK v2 für JavaScript)

Verwenden Sie die folgenden Informationen, um Probleme mit der Greengrass-Erkennung in der AWS IoT Device SDK v2 für zu JavaScriptbeheben.

Error: aws-c-http: AWS_ERROR_HTTP_CONNECTION_CLOSED, The connection has closed or is closing.

Dieser Fehler wird möglicherweise angezeigt, wenn Sie in der Anforderung ein inaktives AWS IoT Zertifikat angeben.

Überprüfen Sie, ob dem Client-Gerät ein Zertifikat angefügt ist und ob das Zertifikat aktiv ist. Weitere Informationen finden Sie unter Anfügen eines Objekts oder einer Richtlinie an ein Client-Zertifikat und Aktivieren oder Deaktivieren eines Client-Zertifikats im AWS IoT Core -Entwicklerhandbuch.

Error: Discovery failed (headers: [object Object]) { response_code: 403 }

Dieser Fehler wird möglicherweise angezeigt, wenn das Client-Gerät nicht berechtigt ist, greengrass:Discover für sich selbst aufzurufen.

Überprüfen Sie, ob das Zertifikat des Client-Geräts über eine Richtlinie verfügt, die zulässtgreengrass:Discover. Für diese Berechtigung können Sie keine Objektrichtlinienvariablen (iot:Connection.Thing.*) im Resource Abschnitt verwenden. Weitere Informationen finden Sie unter Erkennungsauthentifizierung und -autorisierung.

Error: Discovery failed (headers: [object Object]) { response_code: 404 }

Dieser Fehler kann in den folgenden Fällen auftreten:

  • Das Client-Gerät ist keinen Greengrass-Core-Geräten oder -AWS IoT Greengrass V1Gruppen zugeordnet.

  • Keines der zugeordneten Greengrass-Core-Geräte oder -AWS IoT Greengrass V1Gruppen des Client-Geräts hat einen MQTT-Broker-Endpunkt.

  • Keines der zugeordneten Greengrass-Core-Geräte des Client-Geräts führt die Authentifizierungskomponente des Client-Geräts aus.

Überprüfen Sie, ob das Client-Gerät dem Core-Gerät zugeordnet ist, mit dem es eine Verbindung herstellen soll. Überprüfen Sie dann, ob das Core-Gerät die Authentifizierungskomponente des Client-Geräts ausführt und mindestens einen MQTT-Broker-Endpunkt hat. Weitere Informationen finden Sie hier:

Error: Discovery failed (headers: [object Object])

Dieser Fehler (ohne HTTP-Antwortcode) wird möglicherweise angezeigt, wenn Sie das Greengrass-Erkennungsbeispiel ausführen. Dieser Fehler kann aus mehreren Gründen auftreten.

Probleme bei der Greengrass-Erkennung (AWS IoT Device SDK v2 für Java)

Verwenden Sie die folgenden Informationen, um Probleme mit der Greengrass-Erkennung in vAWS IoT Device SDK2 für Java zu beheben.

software.amazon.awssdk.crt.CrtRuntimeException: Error Getting Response Status Code from HttpStream. (aws_last_error: AWS_ERROR_HTTP_DATA_NOT_AVAILABLE(2062), This data is not yet available.)

Dieser Fehler wird möglicherweise angezeigt, wenn Sie in der Anforderung ein inaktives AWS IoT Zertifikat angeben.

Überprüfen Sie, ob dem Client-Gerät ein Zertifikat angefügt ist und ob das Zertifikat aktiv ist. Weitere Informationen finden Sie unter Anfügen eines Objekts oder einer Richtlinie an ein Client-Zertifikat und Aktivieren oder Deaktivieren eines Client-Zertifikats im AWS IoT Core -Entwicklerhandbuch.

java.lang.RuntimeException: Error x-amzn-ErrorType(403)

Dieser Fehler wird möglicherweise angezeigt, wenn das Client-Gerät nicht berechtigt ist, greengrass:Discover für sich selbst aufzurufen.

Überprüfen Sie, ob das Zertifikat des Client-Geräts über eine Richtlinie verfügt, die zulässtgreengrass:Discover. Für diese Berechtigung können Sie keine Objektrichtlinienvariablen (iot:Connection.Thing.*) im Resource Abschnitt verwenden. Weitere Informationen finden Sie unter Erkennungsauthentifizierung und -autorisierung.

java.lang.RuntimeException: Error x-amzn-ErrorType(404)

Dieser Fehler kann in den folgenden Fällen auftreten:

  • Das Client-Gerät ist keinen Greengrass-Core-Geräten oder -AWS IoT Greengrass V1Gruppen zugeordnet.

  • Keines der zugeordneten Greengrass-Core-Geräte oder -AWS IoT Greengrass V1Gruppen des Client-Geräts hat einen MQTT-Broker-Endpunkt.

  • Keines der zugeordneten Greengrass-Core-Geräte des Client-Geräts führt die Authentifizierungskomponente des Client-Geräts aus.

Überprüfen Sie, ob das Client-Gerät dem Core-Gerät zugeordnet ist, mit dem es eine Verbindung herstellen soll. Überprüfen Sie dann, ob das Core-Gerät die Authentifizierungskomponente des Client-Geräts ausführt und mindestens einen MQTT-Broker-Endpunkt hat. Weitere Informationen finden Sie hier:

Verbindungsprobleme mit MQTT

Verwenden Sie die folgenden Informationen, um Probleme mit MQTT-Verbindungen von Client-Geräten zu beheben. Diese Probleme können auftreten, wenn Client-Geräte versuchen, über MQTT eine Verbindung zu einem Core-Gerät herzustellen.

io.moquette.broker.Authorizator: Client does not have read permissions on the topic

Dieser Fehler wird möglicherweise in den Greengrass-Protokollen angezeigt, wenn ein Client-Gerät versucht, ein MQTT-Thema zu abonnieren, bei dem es keine Berechtigung hat. Die Fehlermeldung enthält das Thema .

Überprüfen Sie, ob die Konfiguration der Authentifizierungskomponente des Client-Geräts Folgendes enthält:

  • Eine Gerätegruppe, die dem Client-Gerät entspricht.

  • Eine Client-Geräteautorisierungsrichtlinie für diese Gerätegruppe, die die -mqtt:subscribeBerechtigung für das Thema erteilt.

Weitere Informationen zum Bereitstellen und Konfigurieren der Authentifizierungskomponente für Client-Geräte finden Sie im Folgenden:

MQTT-Verbindungsprobleme (Python)

Verwenden Sie die folgenden Informationen, um Probleme mit MQTT-Verbindungen von Client-Geräten zu beheben, wenn Sie AWS IoT Device SDK v2 für Python verwenden.

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Dieser Fehler wird möglicherweise angezeigt, wenn die Authentifizierungskomponente des Client-Geräts keine Client-Geräteautorisierungsrichtlinie definiert, die dem Client-Gerät die Berechtigung zum Herstellen einer Verbindung erteilt.

Überprüfen Sie, ob die Konfiguration der Client-Geräte-Authentifizierungskomponente Folgendes enthält:

  • Eine Gerätegruppe, die dem Client-Gerät entspricht.

  • Eine Client-Geräteautorisierungsrichtlinie für diese Gerätegruppe, die die -mqtt:connectBerechtigung für das Client-Gerät erteilt.

Weitere Informationen zum Bereitstellen und Konfigurieren der Authentifizierungskomponente für Client-Geräte finden Sie im Folgenden:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Dieser Fehler kann auftreten, wenn die Authentifizierungskomponente des Client-Geräts keine Client-Geräteautorisierungsrichtlinie definiert, die dem Client-Gerät die Berechtigung zum Herstellen einer Verbindung gewährt.

Überprüfen Sie, ob die Konfiguration der Client-Geräte-Authentifizierungskomponente Folgendes enthält:

  • Eine Gerätegruppe, die dem Client-Gerät entspricht.

  • Eine Client-Geräteautorisierungsrichtlinie für diese Gerätegruppe, die die -mqtt:connectBerechtigung für das Client-Gerät erteilt.

Weitere Informationen zum Bereitstellen und Konfigurieren der Authentifizierungskomponente für Client-Geräte finden Sie im Folgenden:

Verbindungsprobleme mit MQTT (C++)

Verwenden Sie die folgenden Informationen, um Probleme mit MQTT-Verbindungen des Client-Geräts zu beheben, wenn Sie AWS IoT Device SDK v2 für C++ verwenden.

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Dieser Fehler wird möglicherweise angezeigt, wenn die Authentifizierungskomponente des Client-Geräts keine Client-Geräteautorisierungsrichtlinie definiert, die dem Client-Gerät die Berechtigung zum Herstellen einer Verbindung erteilt.

Überprüfen Sie, ob die Konfiguration der Client-Geräte-Authentifizierungskomponente Folgendes enthält:

  • Eine Gerätegruppe, die dem Client-Gerät entspricht.

  • Eine Client-Geräteautorisierungsrichtlinie für diese Gerätegruppe, die die -mqtt:connectBerechtigung für das Client-Gerät erteilt.

Weitere Informationen zum Bereitstellen und Konfigurieren der Authentifizierungskomponente für Client-Geräte finden Sie im Folgenden:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Dieser Fehler wird möglicherweise angezeigt, wenn die Authentifizierungskomponente des Client-Geräts keine Client-Geräteautorisierungsrichtlinie definiert, die dem Client-Gerät die Berechtigung zum Herstellen einer Verbindung erteilt.

Überprüfen Sie, ob die Konfiguration der Client-Geräte-Authentifizierungskomponente Folgendes enthält:

  • Eine Gerätegruppe, die dem Client-Gerät entspricht.

  • Eine Client-Geräteautorisierungsrichtlinie für diese Gerätegruppe, die die -mqtt:connectBerechtigung für das Client-Gerät erteilt.

Weitere Informationen zum Bereitstellen und Konfigurieren der Authentifizierungskomponente für Client-Geräte finden Sie im Folgenden:

MQTT-Verbindungsprobleme (Java)

Verwenden Sie die folgenden Informationen, um Probleme mit MQTT-Verbindungen von Client-Geräten zu beheben, wenn Sie AWS IoT Device SDK v2 für Java verwenden.

software.amazon.awssdk.crt.mqtt.MqttException: Protocol error occurred

Dieser Fehler wird möglicherweise angezeigt, wenn die Authentifizierungskomponente des Client-Geräts keine Client-Geräteautorisierungsrichtlinie definiert, die dem Client-Gerät die Berechtigung zum Herstellen einer Verbindung erteilt.

Überprüfen Sie, ob die Konfiguration der Client-Geräte-Authentifizierungskomponente Folgendes enthält:

  • Eine Gerätegruppe, die dem Client-Gerät entspricht.

  • Eine Client-Geräteautorisierungsrichtlinie für diese Gerätegruppe, die die -mqtt:connectBerechtigung für das Client-Gerät erteilt.

Weitere Informationen zum Bereitstellen und Konfigurieren der Authentifizierungskomponente für Client-Geräte finden Sie im Folgenden:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Dieser Fehler kann auftreten, wenn die Authentifizierungskomponente des Client-Geräts keine Client-Geräteautorisierungsrichtlinie definiert, die dem Client-Gerät die Berechtigung zum Herstellen einer Verbindung gewährt.

Überprüfen Sie, ob die Konfiguration der Client-Geräte-Authentifizierungskomponente Folgendes enthält:

  • Eine Gerätegruppe, die dem Client-Gerät entspricht.

  • Eine Client-Geräteautorisierungsrichtlinie für diese Gerätegruppe, die die -mqtt:connectBerechtigung für das Client-Gerät erteilt.

Weitere Informationen zum Bereitstellen und Konfigurieren der Authentifizierungskomponente für Client-Geräte finden Sie im Folgenden:

Verbindungsprobleme mit MQTT (JavaScript)

Verwenden Sie die folgenden Informationen, um Probleme mit MQTT-Verbindungen von Client-Geräten zu beheben, wenn Sie AWS IoT Device SDK v2 für JavaScript verwenden.

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Dieser Fehler kann auftreten, wenn die Authentifizierungskomponente des Client-Geräts keine Client-Geräteautorisierungsrichtlinie definiert, die dem Client-Gerät die Berechtigung zum Herstellen einer Verbindung gewährt.

Überprüfen Sie, ob die Konfiguration der Client-Geräte-Authentifizierungskomponente Folgendes enthält:

  • Eine Gerätegruppe, die dem Client-Gerät entspricht.

  • Eine Client-Geräteautorisierungsrichtlinie für diese Gerätegruppe, die die -mqtt:connectBerechtigung für das Client-Gerät erteilt.

Weitere Informationen zum Bereitstellen und Konfigurieren der Authentifizierungskomponente für Client-Geräte finden Sie im Folgenden:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Dieser Fehler kann auftreten, wenn die Authentifizierungskomponente des Client-Geräts keine Client-Geräteautorisierungsrichtlinie definiert, die dem Client-Gerät die Berechtigung zum Herstellen einer Verbindung gewährt.

Überprüfen Sie, ob die Konfiguration der Client-Geräte-Authentifizierungskomponente Folgendes enthält:

  • Eine Gerätegruppe, die dem Client-Gerät entspricht.

  • Eine Client-Geräteautorisierungsrichtlinie für diese Gerätegruppe, die die -mqtt:connectBerechtigung für das Client-Gerät erteilt.

Weitere Informationen zum Bereitstellen und Konfigurieren der Authentifizierungskomponente für Client-Geräte finden Sie im Folgenden: