Résolution des problèmes liés aux appareils clients - AWS IoT Greengrass

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes liés aux appareils clients

Utilisez les informations de dépannage et les solutions de cette section pour résoudre les problèmes liés aux appareils clients Greengrass et à leurs composants.

Problèmes liés à Greengrass Discovery

Utilisez les informations suivantes pour résoudre les problèmes liés à Greengrass Discovery. Ces problèmes peuvent survenir lorsque les appareils clients utilisent l'API de découverte Greengrass pour identifier un appareil principal de Greengrass auquel ils peuvent se connecter.

Problèmes liés à la découverte de Greengrass (API HTTP)

Utilisez les informations suivantes pour résoudre les problèmes liés à Greengrass Discovery. Ces erreurs peuvent s'afficher si vous testez l'API de découverte avec cURL.

curl: (52) Empty reply from server

Cette erreur peut s'afficher si vous spécifiez un AWS IoT certificat inactif dans la demande.

Vérifiez que l'appareil client possède un certificat attaché et que le certificat est actif. Pour plus d'informations, voir Attacher un objet ou une politique à un certificat client et Activer ou désactiver un certificat client dans le Guide du AWS IoT Core développeur.

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

Cette erreur peut s'afficher si l'appareil client n'est pas autorisé à effectuer des greengrass:Discover appels par lui-même.

Vérifiez que le certificat de l'appareil client dispose d'une politique qui l'autorisegreengrass:Discover. Vous ne pouvez pas utiliser les variables de politique des objets (iot:Connection.Thing.*) dans la Resource section relative à cette autorisation. Pour plus d’informations, consultez Authentification et autorisation de découverte.

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

Cette erreur peut s'afficher dans les cas suivants :

  • L'appareil client n'est associé à aucun appareil ou AWS IoT Greengrass V1 groupe principal de Greengrass.

  • Aucun des appareils ou AWS IoT Greengrass V1 groupes principaux Greengrass associés à l'appareil client ne possède de point de terminaison de courtier MQTT.

  • Aucun des périphériques principaux Greengrass associés à l'appareil client n'exécute le composant d'authentification du périphérique client.

Vérifiez que l'appareil client est associé au périphérique principal auquel vous souhaitez qu'il se connecte. Vérifiez ensuite que le périphérique principal exécute le composant d'authentification du périphérique client et possède au moins un point de terminaison de courtier MQTT. Pour plus d’informations, consultez les ressources suivantes :

Problèmes de découverte de Greengrass (Kit SDK des appareils AWS IoTversion 2 pour Python)

Utilisez les informations suivantes pour résoudre les problèmes liés à la découverte de Greengrass dans Kit SDK des appareils AWS IoTla version v2 pour Python.

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

Cette erreur peut s'afficher si vous spécifiez un AWS IoT certificat inactif dans la demande.

Vérifiez que l'appareil client possède un certificat attaché et que le certificat est actif. Pour plus d'informations, voir Attacher un objet ou une politique à un certificat client et Activer ou désactiver un certificat client dans le Guide du AWS IoT Core développeur.

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

Cette erreur peut s'afficher si l'appareil client n'est pas autorisé à effectuer des greengrass:Discover appels par lui-même.

Vérifiez que le certificat de l'appareil client dispose d'une politique qui l'autorisegreengrass:Discover. Vous ne pouvez pas utiliser les variables de politique des objets (iot:Connection.Thing.*) dans la Resource section relative à cette autorisation. Pour plus d’informations, consultez Authentification et autorisation de découverte.

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

Cette erreur peut s'afficher dans les cas suivants :

  • L'appareil client n'est associé à aucun appareil ou AWS IoT Greengrass V1 groupe principal de Greengrass.

  • Aucun des appareils ou AWS IoT Greengrass V1 groupes principaux Greengrass associés à l'appareil client ne possède de point de terminaison de courtier MQTT.

  • Aucun des périphériques principaux Greengrass associés à l'appareil client n'exécute le composant d'authentification du périphérique client.

Vérifiez que l'appareil client est associé au périphérique principal auquel vous souhaitez qu'il se connecte. Vérifiez ensuite que le périphérique principal exécute le composant d'authentification du périphérique client et possède au moins un point de terminaison de courtier MQTT. Pour plus d’informations, consultez les ressources suivantes :

Problèmes de découverte de Greengrass (Kit SDK des appareils AWS IoTversion 2 pour C++)

Utilisez les informations suivantes pour résoudre les problèmes liés à Greengrass Discovery dans Kit SDK des appareils AWS IoTla version v2 pour C++.

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

Cette erreur peut s'afficher si vous spécifiez un AWS IoT certificat inactif dans la demande.

Vérifiez que l'appareil client possède un certificat attaché et que le certificat est actif. Pour plus d'informations, voir Attacher un objet ou une politique à un certificat client et Activer ou désactiver un certificat client dans le Guide du AWS IoT Core développeur.

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

Cette erreur peut s'afficher si l'appareil client n'est pas autorisé à effectuer des greengrass:Discover appels par lui-même.

Vérifiez que le certificat de l'appareil client dispose d'une politique qui l'autorisegreengrass:Discover. Vous ne pouvez pas utiliser les variables de politique des objets (iot:Connection.Thing.*) dans la Resource section relative à cette autorisation. Pour plus d’informations, consultez Authentification et autorisation de découverte.

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

Cette erreur peut s'afficher dans les cas suivants :

  • L'appareil client n'est associé à aucun appareil ou AWS IoT Greengrass V1 groupe principal de Greengrass.

  • Aucun des appareils ou AWS IoT Greengrass V1 groupes principaux Greengrass associés à l'appareil client ne possède de point de terminaison de courtier MQTT.

  • Aucun des périphériques principaux Greengrass associés à l'appareil client n'exécute le composant d'authentification du périphérique client.

Vérifiez que l'appareil client est associé au périphérique principal auquel vous souhaitez qu'il se connecte. Vérifiez ensuite que le périphérique principal exécute le composant d'authentification du périphérique client et possède au moins un point de terminaison de courtier MQTT. Pour plus d’informations, consultez les ressources suivantes :

Problèmes de découverte de Greengrass (Kit SDK des appareils AWS IoTversion 2 pour) JavaScript

Utilisez les informations suivantes pour résoudre les problèmes liés à Greengrass Discovery dans Kit SDK des appareils AWS IoTla version v2 pour. JavaScript

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

Cette erreur peut s'afficher si vous spécifiez un AWS IoT certificat inactif dans la demande.

Vérifiez que l'appareil client possède un certificat attaché et que le certificat est actif. Pour plus d'informations, voir Attacher un objet ou une politique à un certificat client et Activer ou désactiver un certificat client dans le Guide du AWS IoT Core développeur.

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

Cette erreur peut s'afficher si l'appareil client n'est pas autorisé à effectuer des greengrass:Discover appels par lui-même.

Vérifiez que le certificat de l'appareil client dispose d'une politique qui l'autorisegreengrass:Discover. Vous ne pouvez pas utiliser les variables de politique des objets (iot:Connection.Thing.*) dans la Resource section relative à cette autorisation. Pour plus d’informations, consultez Authentification et autorisation de découverte.

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

Cette erreur peut s'afficher dans les cas suivants :

  • L'appareil client n'est associé à aucun appareil ou AWS IoT Greengrass V1 groupe principal de Greengrass.

  • Aucun des appareils ou AWS IoT Greengrass V1 groupes principaux Greengrass associés à l'appareil client ne possède de point de terminaison de courtier MQTT.

  • Aucun des périphériques principaux Greengrass associés à l'appareil client n'exécute le composant d'authentification du périphérique client.

Vérifiez que l'appareil client est associé au périphérique principal auquel vous souhaitez qu'il se connecte. Vérifiez ensuite que le périphérique principal exécute le composant d'authentification du périphérique client et possède au moins un point de terminaison de courtier MQTT. Pour plus d’informations, consultez les ressources suivantes :

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

Cette erreur peut s'afficher (sans code de réponse HTTP) lorsque vous exécutez l'exemple de découverte Greengrass. Cette erreur peut se produire pour plusieurs raisons.

Problèmes de découverte de Greengrass (Kit SDK des appareils AWS IoTv2 pour Java)

Utilisez les informations suivantes pour résoudre les problèmes liés à Greengrass Discovery dans Kit SDK des appareils AWS IoTla version v2 pour Java.

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

Cette erreur peut s'afficher si vous spécifiez un AWS IoT certificat inactif dans la demande.

Vérifiez que l'appareil client possède un certificat attaché et que le certificat est actif. Pour plus d'informations, voir Attacher un objet ou une politique à un certificat client et Activer ou désactiver un certificat client dans le Guide du AWS IoT Core développeur.

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

Cette erreur peut s'afficher si l'appareil client n'est pas autorisé à effectuer des greengrass:Discover appels par lui-même.

Vérifiez que le certificat de l'appareil client dispose d'une politique qui l'autorisegreengrass:Discover. Vous ne pouvez pas utiliser les variables de politique des objets (iot:Connection.Thing.*) dans la Resource section relative à cette autorisation. Pour plus d’informations, consultez Authentification et autorisation de découverte.

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

Cette erreur peut s'afficher dans les cas suivants :

  • L'appareil client n'est associé à aucun appareil ou AWS IoT Greengrass V1 groupe principal de Greengrass.

  • Aucun des appareils ou AWS IoT Greengrass V1 groupes principaux Greengrass associés à l'appareil client ne possède de point de terminaison de courtier MQTT.

  • Aucun des périphériques principaux Greengrass associés à l'appareil client n'exécute le composant d'authentification du périphérique client.

Vérifiez que l'appareil client est associé au périphérique principal auquel vous souhaitez qu'il se connecte. Vérifiez ensuite que le périphérique principal exécute le composant d'authentification du périphérique client et possède au moins un point de terminaison de courtier MQTT. Pour plus d’informations, consultez les ressources suivantes :

Problèmes de connexion MQTT

Utilisez les informations suivantes pour résoudre les problèmes liés aux connexions MQTT des appareils clients. Ces problèmes peuvent survenir lorsque des appareils clients tentent de se connecter à un périphérique principal via MQTT.

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

Cette erreur peut s'afficher dans les journaux de Greengrass lorsqu'un appareil client essaie de s'abonner à un sujet MQTT alors qu'il n'en a pas l'autorisation. Le message d'erreur inclut le sujet.

Vérifiez que la configuration du composant d'authentification de l'appareil client inclut les éléments suivants :

  • Groupe d'appareils correspondant à l'appareil client.

  • Une politique d'autorisation de l'appareil client pour ce groupe d'appareils qui accorde l'mqtt:subscribeautorisation pour le sujet.

Pour plus d'informations sur le déploiement et la configuration du composant d'authentification de l'appareil client, consultez les rubriques suivantes :

Problèmes de connexion MQTT (Python)

Utilisez les informations suivantes pour résoudre les problèmes liés aux connexions MQTT des appareils clients lorsque vous utilisez la Kit SDK des appareils AWS IoTversion v2 pour Python.

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Cette erreur peut s'afficher si le composant d'authentification du périphérique client ne définit pas de politique d'autorisation du périphérique client autorisant le périphérique client à se connecter.

Vérifiez que la configuration du composant d'authentification de l'appareil client inclut les éléments suivants :

  • Groupe d'appareils correspondant à l'appareil client.

  • Une politique d'autorisation du dispositif client pour ce groupe d'appareils qui accorde l'mqtt:connectautorisation au dispositif client.

Pour plus d'informations sur le déploiement et la configuration du composant d'authentification de l'appareil client, consultez les rubriques suivantes :

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Cette erreur peut s'afficher si le composant d'authentification du périphérique client ne définit pas de politique d'autorisation du périphérique client autorisant le périphérique client à se connecter.

Vérifiez que la configuration du composant d'authentification de l'appareil client inclut les éléments suivants :

  • Groupe d'appareils correspondant à l'appareil client.

  • Une politique d'autorisation du dispositif client pour ce groupe d'appareils qui accorde l'mqtt:connectautorisation au dispositif client.

Pour plus d'informations sur le déploiement et la configuration du composant d'authentification de l'appareil client, consultez les rubriques suivantes :

Problèmes de connexion MQTT (C++)

Utilisez les informations suivantes pour résoudre les problèmes liés aux connexions MQTT des appareils clients lorsque vous utilisez la Kit SDK des appareils AWS IoTversion v2 pour C++.

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Cette erreur peut s'afficher si le composant d'authentification du périphérique client ne définit pas de politique d'autorisation du périphérique client autorisant le périphérique client à se connecter.

Vérifiez que la configuration du composant d'authentification de l'appareil client inclut les éléments suivants :

  • Groupe d'appareils correspondant à l'appareil client.

  • Une politique d'autorisation du dispositif client pour ce groupe d'appareils qui accorde l'mqtt:connectautorisation au dispositif client.

Pour plus d'informations sur le déploiement et la configuration du composant d'authentification de l'appareil client, consultez les rubriques suivantes :

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Cette erreur peut s'afficher si le composant d'authentification du périphérique client ne définit pas de politique d'autorisation du périphérique client autorisant le périphérique client à se connecter.

Vérifiez que la configuration du composant d'authentification de l'appareil client inclut les éléments suivants :

  • Groupe d'appareils correspondant à l'appareil client.

  • Une politique d'autorisation du dispositif client pour ce groupe d'appareils qui accorde l'mqtt:connectautorisation au dispositif client.

Pour plus d'informations sur le déploiement et la configuration du composant d'authentification de l'appareil client, consultez les rubriques suivantes :

Problèmes de connexion MQTT (Java)

Utilisez les informations suivantes pour résoudre les problèmes liés aux connexions MQTT des appareils clients lorsque vous utilisez la Kit SDK des appareils AWS IoTversion v2 pour Java.

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

Cette erreur peut s'afficher si le composant d'authentification du périphérique client ne définit pas de politique d'autorisation du périphérique client autorisant le périphérique client à se connecter.

Vérifiez que la configuration du composant d'authentification de l'appareil client inclut les éléments suivants :

  • Groupe d'appareils correspondant à l'appareil client.

  • Une politique d'autorisation du dispositif client pour ce groupe d'appareils qui accorde l'mqtt:connectautorisation au dispositif client.

Pour plus d'informations sur le déploiement et la configuration du composant d'authentification de l'appareil client, consultez les rubriques suivantes :

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Cette erreur peut s'afficher si le composant d'authentification du périphérique client ne définit pas de politique d'autorisation du périphérique client autorisant le périphérique client à se connecter.

Vérifiez que la configuration du composant d'authentification de l'appareil client inclut les éléments suivants :

  • Groupe d'appareils correspondant à l'appareil client.

  • Une politique d'autorisation du dispositif client pour ce groupe d'appareils qui accorde l'mqtt:connectautorisation au dispositif client.

Pour plus d'informations sur le déploiement et la configuration du composant d'authentification de l'appareil client, consultez les rubriques suivantes :

Problèmes de connexion MQTT () JavaScript

Utilisez les informations suivantes pour résoudre les problèmes liés aux connexions MQTT des appareils clients lorsque vous utilisez la Kit SDK des appareils AWS IoTversion 2 pour. JavaScript

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Cette erreur peut s'afficher si le composant d'authentification du périphérique client ne définit pas de politique d'autorisation du périphérique client autorisant le périphérique client à se connecter.

Vérifiez que la configuration du composant d'authentification de l'appareil client inclut les éléments suivants :

  • Groupe d'appareils correspondant à l'appareil client.

  • Une politique d'autorisation du dispositif client pour ce groupe d'appareils qui accorde l'mqtt:connectautorisation au dispositif client.

Pour plus d'informations sur le déploiement et la configuration du composant d'authentification de l'appareil client, consultez les rubriques suivantes :

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Cette erreur peut s'afficher si le composant d'authentification du périphérique client ne définit pas de politique d'autorisation du périphérique client autorisant le périphérique client à se connecter.

Vérifiez que la configuration du composant d'authentification de l'appareil client inclut les éléments suivants :

  • Groupe d'appareils correspondant à l'appareil client.

  • Une politique d'autorisation du dispositif client pour ce groupe d'appareils qui accorde l'mqtt:connectautorisation au dispositif client.

Pour plus d'informations sur le déploiement et la configuration du composant d'authentification de l'appareil client, consultez les rubriques suivantes :