Risoluzione dei problemi relativi ai dispositivi client - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi relativi ai dispositivi client

Utilizza le informazioni e le soluzioni per la risoluzione dei problemi in questa sezione per risolvere i problemi con i dispositivi client Greengrass e i componenti dei dispositivi client.

Problemi relativi alla scoperta di Greengrass

Utilizza le seguenti informazioni per risolvere i problemi relativi a Greengrass discovery. Questi problemi possono verificarsi quando i dispositivi client utilizzano l'API Greengrass discovery per identificare un dispositivo principale Greengrass a cui connettersi.

Problemi relativi alla scoperta di Greengrass (API HTTP)

Utilizza le seguenti informazioni per risolvere i problemi relativi a Greengrass discovery. Potresti riscontrare questi errori se provi l'API di rilevamento con cURL.

curl: (52) Empty reply from server

Potresti visualizzare questo errore se specifichi un AWS IoT certificato inattivo nella richiesta.

Verifica che il dispositivo client abbia un certificato allegato e che il certificato sia attivo. Per ulteriori informazioni, consulta Allegare un elemento o una politica a un certificato client e Attivare o disattivare un certificato client nella Guida per gli AWS IoT Core sviluppatori.

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

Potresti visualizzare questo errore se il dispositivo client non dispone dell'autorizzazione greengrass:Discover per effettuare chiamate autonomamente.

Verifica che il certificato del dispositivo client disponga di una politica che lo consentagreengrass:Discover. Non puoi usare thing policy variables (iot:Connection.Thing.*) nella Resource sezione relativa a questa autorizzazione. Per ulteriori informazioni, consulta Autenticazione e autorizzazione Discovery.

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

Potresti visualizzare questo errore nei seguenti casi:

  • Il dispositivo client non è associato a nessun dispositivo o AWS IoT Greengrass V1 gruppo Greengrass core.

  • Nessuno dei dispositivi o AWS IoT Greengrass V1 gruppi principali Greengrass associati al dispositivo client dispone di un endpoint broker MQTT.

  • Nessuno dei dispositivi core Greengrass associati al dispositivo client esegue il componente di autenticazione del dispositivo client.

Verifica che il dispositivo client sia associato al dispositivo principale a cui desideri collegarlo. Quindi, verifica che il dispositivo principale esegua il componente di autenticazione del dispositivo client e disponga di almeno un endpoint del broker MQTT. Per ulteriori informazioni, consulta gli argomenti seguenti:

Problemi di scoperta di Greengrass (SDK per dispositivi AWS IoTv2 per Python)

Usa le seguenti informazioni per risolvere i problemi relativi alla scoperta di Greengrass nella versione 2 per Python. SDK per dispositivi AWS IoT

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

Potresti visualizzare questo errore se specifichi un certificato inattivo nella AWS IoT richiesta.

Verifica che il dispositivo client abbia un certificato allegato e che il certificato sia attivo. Per ulteriori informazioni, consulta Allegare un elemento o una politica a un certificato client e Attivare o disattivare un certificato client nella Guida per gli AWS IoT Core sviluppatori.

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

Potresti visualizzare questo errore se il dispositivo client non dispone dell'autorizzazione greengrass:Discover per effettuare chiamate autonomamente.

Verifica che il certificato del dispositivo client disponga di una politica che lo consentagreengrass:Discover. Non puoi usare thing policy variables (iot:Connection.Thing.*) nella Resource sezione relativa a questa autorizzazione. Per ulteriori informazioni, consulta Autenticazione e autorizzazione Discovery.

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

Potresti visualizzare questo errore nei seguenti casi:

  • Il dispositivo client non è associato a nessun dispositivo o AWS IoT Greengrass V1 gruppo Greengrass core.

  • Nessuno dei dispositivi o AWS IoT Greengrass V1 gruppi principali Greengrass associati al dispositivo client dispone di un endpoint broker MQTT.

  • Nessuno dei dispositivi core Greengrass associati al dispositivo client esegue il componente di autenticazione del dispositivo client.

Verifica che il dispositivo client sia associato al dispositivo principale a cui desideri collegarlo. Quindi, verifica che il dispositivo principale esegua il componente di autenticazione del dispositivo client e disponga di almeno un endpoint del broker MQTT. Per ulteriori informazioni, consulta gli argomenti seguenti:

Problemi relativi alla scoperta di Greengrass (SDK per dispositivi AWS IoTv2 per C++)

Utilizza le seguenti informazioni per risolvere i problemi relativi a Greengrass discovery nella versione 2 per C++. SDK per dispositivi AWS IoT

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

Potresti visualizzare questo errore se specifichi un certificato inattivo nella AWS IoT richiesta.

Verifica che il dispositivo client abbia un certificato allegato e che il certificato sia attivo. Per ulteriori informazioni, consulta Allegare un elemento o una politica a un certificato client e Attivare o disattivare un certificato client nella Guida per gli AWS IoT Core sviluppatori.

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

Potresti visualizzare questo errore se il dispositivo client non dispone dell'autorizzazione greengrass:Discover per effettuare chiamate autonomamente.

Verifica che il certificato del dispositivo client disponga di una politica che lo consentagreengrass:Discover. Non puoi usare thing policy variables (iot:Connection.Thing.*) nella Resource sezione relativa a questa autorizzazione. Per ulteriori informazioni, consulta Autenticazione e autorizzazione Discovery.

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

Potresti visualizzare questo errore nei seguenti casi:

  • Il dispositivo client non è associato a nessun dispositivo o AWS IoT Greengrass V1 gruppo Greengrass core.

  • Nessuno dei dispositivi o AWS IoT Greengrass V1 gruppi principali Greengrass associati al dispositivo client dispone di un endpoint broker MQTT.

  • Nessuno dei dispositivi core Greengrass associati al dispositivo client esegue il componente di autenticazione del dispositivo client.

Verifica che il dispositivo client sia associato al dispositivo principale a cui desideri collegarlo. Quindi, verifica che il dispositivo principale esegua il componente di autenticazione del dispositivo client e disponga di almeno un endpoint del broker MQTT. Per ulteriori informazioni, consulta gli argomenti seguenti:

Problemi relativi alla scoperta di Greengrass (SDK per dispositivi AWS IoTv2 per) JavaScript

Utilizza le seguenti informazioni per risolvere i problemi relativi a Greengrass discovery nella versione 2 per. SDK per dispositivi AWS IoT JavaScript

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

Potresti visualizzare questo errore se specifichi un certificato inattivo nella richiestaAWS IoT.

Verifica che il dispositivo client abbia un certificato allegato e che il certificato sia attivo. Per ulteriori informazioni, consulta Allegare un elemento o una politica a un certificato client e Attivare o disattivare un certificato client nella Guida per gli AWS IoT Core sviluppatori.

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

Potresti visualizzare questo errore se il dispositivo client non dispone dell'autorizzazione greengrass:Discover per effettuare chiamate autonomamente.

Verifica che il certificato del dispositivo client disponga di una politica che lo consentagreengrass:Discover. Non puoi usare thing policy variables (iot:Connection.Thing.*) nella Resource sezione relativa a questa autorizzazione. Per ulteriori informazioni, consulta Autenticazione e autorizzazione Discovery.

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

Potresti visualizzare questo errore nei seguenti casi:

  • Il dispositivo client non è associato a nessun dispositivo o AWS IoT Greengrass V1 gruppo Greengrass core.

  • Nessuno dei dispositivi o AWS IoT Greengrass V1 gruppi principali Greengrass associati al dispositivo client dispone di un endpoint broker MQTT.

  • Nessuno dei dispositivi core Greengrass associati al dispositivo client esegue il componente di autenticazione del dispositivo client.

Verifica che il dispositivo client sia associato al dispositivo principale a cui desideri collegarlo. Quindi, verifica che il dispositivo principale esegua il componente di autenticazione del dispositivo client e disponga di almeno un endpoint del broker MQTT. Per ulteriori informazioni, consulta gli argomenti seguenti:

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

Potresti visualizzare questo errore (senza un codice di risposta HTTP) quando esegui l'esempio Greengrass discovery. Questo errore può verificarsi per diversi motivi.

  • Potresti visualizzare questo errore se il dispositivo client non dispone dell'autorizzazione greengrass:Discover per effettuare chiamate autonomamente.

    Verifica che il certificato del dispositivo client disponga di una politica che lo consentagreengrass:Discover. Non puoi usare thing policy variables (iot:Connection.Thing.*) nella Resource sezione relativa a questa autorizzazione. Per ulteriori informazioni, consulta Autenticazione e autorizzazione Discovery.

  • Potresti visualizzare questo errore nei seguenti casi:

    • Il dispositivo client non è associato a nessun dispositivo o AWS IoT Greengrass V1 gruppo Greengrass core.

    • Nessuno dei dispositivi o AWS IoT Greengrass V1 gruppi principali Greengrass associati al dispositivo client dispone di un endpoint broker MQTT.

    • Nessuno dei dispositivi core Greengrass associati al dispositivo client esegue il componente di autenticazione del dispositivo client.

    Verifica che il dispositivo client sia associato al dispositivo principale a cui desideri collegarlo. Quindi, verifica che il dispositivo principale esegua il componente di autenticazione del dispositivo client e disponga di almeno un endpoint del broker MQTT. Per ulteriori informazioni, consulta gli argomenti seguenti:

Problemi di scoperta di Greengrass (SDK per dispositivi AWS IoTv2 per Java)

Utilizza le seguenti informazioni per risolvere i problemi relativi a Greengrass discovery nella versione 2 per Java. SDK per dispositivi AWS IoT

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

Potresti visualizzare questo errore se specifichi un certificato inattivo nella richiestaAWS IoT.

Verifica che il dispositivo client abbia un certificato allegato e che il certificato sia attivo. Per ulteriori informazioni, consulta Allegare un elemento o una politica a un certificato client e Attivare o disattivare un certificato client nella Guida per gli AWS IoT Core sviluppatori.

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

Potresti visualizzare questo errore se il dispositivo client non dispone dell'autorizzazione greengrass:Discover per effettuare chiamate autonomamente.

Verifica che il certificato del dispositivo client disponga di una politica che lo consentagreengrass:Discover. Non puoi usare thing policy variables (iot:Connection.Thing.*) nella Resource sezione relativa a questa autorizzazione. Per ulteriori informazioni, consulta Autenticazione e autorizzazione Discovery.

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

Potresti visualizzare questo errore nei seguenti casi:

  • Il dispositivo client non è associato a nessun dispositivo o AWS IoT Greengrass V1 gruppo Greengrass core.

  • Nessuno dei dispositivi o AWS IoT Greengrass V1 gruppi principali Greengrass associati al dispositivo client dispone di un endpoint broker MQTT.

  • Nessuno dei dispositivi core Greengrass associati al dispositivo client esegue il componente di autenticazione del dispositivo client.

Verifica che il dispositivo client sia associato al dispositivo principale a cui desideri collegarlo. Quindi, verifica che il dispositivo principale esegua il componente di autenticazione del dispositivo client e disponga di almeno un endpoint del broker MQTT. Per ulteriori informazioni, consulta gli argomenti seguenti:

Problemi di connessione MQTT

Utilizza le seguenti informazioni per risolvere i problemi relativi alle connessioni MQTT dei dispositivi client. Questi problemi possono verificarsi quando i dispositivi client tentano di connettersi a un dispositivo principale tramite MQTT.

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

Potresti visualizzare questo errore nei log di Greengrass quando un dispositivo client tenta di iscriversi a un argomento MQTT per il quale non dispone dell'autorizzazione. Il messaggio di errore include l'argomento.

Verificate che la configurazione del componente di autenticazione del dispositivo client includa quanto segue:

  • Un gruppo di dispositivi che corrisponde al dispositivo client.

  • Una politica di autorizzazione dei dispositivi client per quel gruppo di dispositivi che concede l'mqtt:subscribeautorizzazione per l'argomento.

Per ulteriori informazioni su come distribuire e configurare il componente di autenticazione del dispositivo client, consulta quanto segue:

Problemi di connessione MQTT (Python)

Usa le seguenti informazioni per risolvere i problemi relativi alle connessioni MQTT dei dispositivi client quando usi la versione SDK per dispositivi AWS IoT2 per Python.

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Potresti visualizzare questo errore se il componente di autenticazione del dispositivo client non definisce una politica di autorizzazione del dispositivo client che concede al dispositivo client l'autorizzazione alla connessione.

Verifica che la configurazione del componente di autenticazione del dispositivo client includa quanto segue:

  • Un gruppo di dispositivi che corrisponde al dispositivo client.

  • Una politica di autorizzazione dei dispositivi client per quel gruppo di dispositivi che concede l'mqtt:connectautorizzazione per il dispositivo client.

Per ulteriori informazioni su come distribuire e configurare il componente di autenticazione del dispositivo client, consulta quanto segue:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Potresti visualizzare questo errore se il componente di autenticazione del dispositivo client non definisce una politica di autorizzazione del dispositivo client che conceda al dispositivo client l'autorizzazione alla connessione.

Verifica che la configurazione del componente di autenticazione del dispositivo client includa quanto segue:

  • Un gruppo di dispositivi che corrisponde al dispositivo client.

  • Una politica di autorizzazione dei dispositivi client per quel gruppo di dispositivi che concede l'mqtt:connectautorizzazione per il dispositivo client.

Per ulteriori informazioni su come distribuire e configurare il componente di autenticazione del dispositivo client, consulta quanto segue:

Problemi di connessione MQTT (C++)

Utilizzate le seguenti informazioni per risolvere i problemi relativi alle connessioni MQTT dei dispositivi client quando utilizzate la versione v2 per C++. SDK per dispositivi AWS IoT

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Potresti visualizzare questo errore se il componente di autenticazione del dispositivo client non definisce una politica di autorizzazione del dispositivo client che concede al dispositivo client l'autorizzazione alla connessione.

Verifica che la configurazione del componente di autenticazione del dispositivo client includa quanto segue:

  • Un gruppo di dispositivi che corrisponde al dispositivo client.

  • Una politica di autorizzazione dei dispositivi client per quel gruppo di dispositivi che concede l'mqtt:connectautorizzazione per il dispositivo client.

Per ulteriori informazioni su come distribuire e configurare il componente di autenticazione del dispositivo client, consulta quanto segue:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Potresti visualizzare questo errore se il componente di autenticazione del dispositivo client non definisce una politica di autorizzazione del dispositivo client che conceda al dispositivo client l'autorizzazione alla connessione.

Verifica che la configurazione del componente di autenticazione del dispositivo client includa quanto segue:

  • Un gruppo di dispositivi che corrisponde al dispositivo client.

  • Una politica di autorizzazione dei dispositivi client per quel gruppo di dispositivi che concede l'mqtt:connectautorizzazione per il dispositivo client.

Per ulteriori informazioni su come distribuire e configurare il componente di autenticazione del dispositivo client, consulta quanto segue:

Problemi di connessione MQTT (Java)

Utilizzate le seguenti informazioni per risolvere i problemi relativi alle connessioni MQTT dei dispositivi client quando utilizzate la SDK per dispositivi AWS IoT versione v2 per Java.

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

Potresti visualizzare questo errore se il componente di autenticazione del dispositivo client non definisce una politica di autorizzazione del dispositivo client che concede al dispositivo client l'autorizzazione alla connessione.

Verifica che la configurazione del componente di autenticazione del dispositivo client includa quanto segue:

  • Un gruppo di dispositivi che corrisponde al dispositivo client.

  • Una politica di autorizzazione dei dispositivi client per quel gruppo di dispositivi che concede l'mqtt:connectautorizzazione per il dispositivo client.

Per ulteriori informazioni su come distribuire e configurare il componente di autenticazione del dispositivo client, consulta quanto segue:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Potresti visualizzare questo errore se il componente di autenticazione del dispositivo client non definisce una politica di autorizzazione del dispositivo client che conceda al dispositivo client l'autorizzazione alla connessione.

Verifica che la configurazione del componente di autenticazione del dispositivo client includa quanto segue:

  • Un gruppo di dispositivi che corrisponde al dispositivo client.

  • Una politica di autorizzazione dei dispositivi client per quel gruppo di dispositivi che concede l'mqtt:connectautorizzazione per il dispositivo client.

Per ulteriori informazioni su come distribuire e configurare il componente di autenticazione del dispositivo client, consulta quanto segue:

Problemi di connessione MQTT () JavaScript

Utilizzate le seguenti informazioni per risolvere i problemi relativi alle connessioni MQTT dei dispositivi client quando utilizzate la versione v2 per. SDK per dispositivi AWS IoT JavaScript

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Potresti visualizzare questo errore se il componente di autenticazione del dispositivo client non definisce una politica di autorizzazione del dispositivo client che conceda al dispositivo client l'autorizzazione alla connessione.

Verifica che la configurazione del componente di autenticazione del dispositivo client includa quanto segue:

  • Un gruppo di dispositivi che corrisponde al dispositivo client.

  • Una politica di autorizzazione dei dispositivi client per quel gruppo di dispositivi che concede l'mqtt:connectautorizzazione per il dispositivo client.

Per ulteriori informazioni su come distribuire e configurare il componente di autenticazione del dispositivo client, consulta quanto segue:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Potresti visualizzare questo errore se il componente di autenticazione del dispositivo client non definisce una politica di autorizzazione del dispositivo client che conceda al dispositivo client l'autorizzazione alla connessione.

Verifica che la configurazione del componente di autenticazione del dispositivo client includa quanto segue:

  • Un gruppo di dispositivi che corrisponde al dispositivo client.

  • Una politica di autorizzazione dei dispositivi client per quel gruppo di dispositivi che concede l'mqtt:connectautorizzazione per il dispositivo client.

Per ulteriori informazioni su come distribuire e configurare il componente di autenticazione del dispositivo client, consulta quanto segue: