Solução de problemas de dispositivos cliente - AWS IoT Greengrass

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solução de problemas de dispositivos cliente

Use as informações e soluções de solução de problemas desta seção para ajudar a resolver problemas com os dispositivos e componentes do dispositivo cliente do Greengrass.

Problemas de descoberta do Greengrass

Use as informações a seguir para solucionar problemas com o Greengrass discovery. Esses problemas podem ocorrer quando dispositivos clientes usam a API de descoberta do Greengrass para identificar um dispositivo principal do Greengrass ao qual eles podem se conectar.

Problemas de descoberta do Greengrass (API HTTP)

Use as informações a seguir para solucionar problemas com o Greengrass discovery. Talvez você veja esses erros se testar a API de descoberta com cURL.

curl: (52) Empty reply from server

Você pode ver esse erro se especificar um AWS IoT certificado inativo na solicitação.

Verifique se o dispositivo cliente tem um certificado anexado e se o certificado está ativo. Para obter mais informações, consulte Anexar algo ou política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do AWS IoT Core desenvolvedor.

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

Você pode ver esse erro se o dispositivo cliente não tiver permissão para ligar greengrass:Discover por si mesmo.

Verifique se o certificado do dispositivo cliente tem uma política que permitagreengrass:Discover. Você não pode usar variáveis de política de coisas (iot:Connection.Thing.*) na Resource seção para essa permissão. Para ter mais informações, consulte Autenticação e autorização de descoberta.

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

Você pode ver esse erro nos seguintes casos:

  • O dispositivo cliente não está associado a nenhum dispositivo ou AWS IoT Greengrass V1 grupo principal do Greengrass.

  • Nenhum dos dispositivos ou AWS IoT Greengrass V1 grupos principais do Greengrass associados ao dispositivo cliente tem um endpoint de agente MQTT.

  • Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autenticação do dispositivo cliente.

Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja se conectar. Em seguida, verifique se o dispositivo principal executa o componente de autenticação do dispositivo cliente e tem pelo menos um endpoint do agente MQTT. Para ver mais informações, consulte:

Problemas de descoberta do Greengrass (AWS IoT Device SDKv2 para Python)

Use as informações a seguir para solucionar problemas com a descoberta do Greengrass na v2 para AWS IoT Device SDK Python.

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

Você pode ver esse erro se especificar um AWS IoT certificado inativo na solicitação.

Verifique se o dispositivo cliente tem um certificado anexado e se o certificado está ativo. Para obter mais informações, consulte Anexar algo ou política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do AWS IoT Core desenvolvedor.

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

Você pode ver esse erro se o dispositivo cliente não tiver permissão para ligar greengrass:Discover por si mesmo.

Verifique se o certificado do dispositivo cliente tem uma política que permitagreengrass:Discover. Você não pode usar variáveis de política de coisas (iot:Connection.Thing.*) na Resource seção para essa permissão. Para ter mais informações, consulte Autenticação e autorização de descoberta.

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

Você pode ver esse erro nos seguintes casos:

  • O dispositivo cliente não está associado a nenhum dispositivo ou AWS IoT Greengrass V1 grupo principal do Greengrass.

  • Nenhum dos dispositivos ou AWS IoT Greengrass V1 grupos principais do Greengrass associados ao dispositivo cliente tem um endpoint de agente MQTT.

  • Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autenticação do dispositivo cliente.

Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja se conectar. Em seguida, verifique se o dispositivo principal executa o componente de autenticação do dispositivo cliente e tem pelo menos um endpoint do agente MQTT. Para ver mais informações, consulte:

Problemas de descoberta do Greengrass (AWS IoT Device SDKv2 para C++)

Use as informações a seguir para solucionar problemas com a descoberta do Greengrass na v2 para AWS IoT Device SDK C++.

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

Você pode ver esse erro se especificar um AWS IoT certificado inativo na solicitação.

Verifique se o dispositivo cliente tem um certificado anexado e se o certificado está ativo. Para obter mais informações, consulte Anexar algo ou política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do AWS IoT Core desenvolvedor.

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

Você pode ver esse erro se o dispositivo cliente não tiver permissão para ligar greengrass:Discover por si mesmo.

Verifique se o certificado do dispositivo cliente tem uma política que permitagreengrass:Discover. Você não pode usar variáveis de política de coisas (iot:Connection.Thing.*) na Resource seção para essa permissão. Para ter mais informações, consulte Autenticação e autorização de descoberta.

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

Você pode ver esse erro nos seguintes casos:

  • O dispositivo cliente não está associado a nenhum dispositivo ou AWS IoT Greengrass V1 grupo principal do Greengrass.

  • Nenhum dos dispositivos ou AWS IoT Greengrass V1 grupos principais do Greengrass associados ao dispositivo cliente tem um endpoint de agente MQTT.

  • Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autenticação do dispositivo cliente.

Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja se conectar. Em seguida, verifique se o dispositivo principal executa o componente de autenticação do dispositivo cliente e tem pelo menos um endpoint do agente MQTT. Para ver mais informações, consulte:

Problemas de descoberta do Greengrass (versão 2 AWS IoT Device SDK para) JavaScript

Use as informações a seguir para solucionar problemas com a descoberta do Greengrass na AWS IoT Device SDK versão 2 para. JavaScript

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

Você pode ver esse erro se especificar um AWS IoT certificado inativo na solicitação.

Verifique se o dispositivo cliente tem um certificado anexado e se o certificado está ativo. Para obter mais informações, consulte Anexar algo ou política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do AWS IoT Core desenvolvedor.

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

Você pode ver esse erro se o dispositivo cliente não tiver permissão para ligar greengrass:Discover por si mesmo.

Verifique se o certificado do dispositivo cliente tem uma política que permitagreengrass:Discover. Você não pode usar variáveis de política de coisas (iot:Connection.Thing.*) na Resource seção para essa permissão. Para ter mais informações, consulte Autenticação e autorização de descoberta.

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

Você pode ver esse erro nos seguintes casos:

  • O dispositivo cliente não está associado a nenhum dispositivo ou AWS IoT Greengrass V1 grupo principal do Greengrass.

  • Nenhum dos dispositivos ou AWS IoT Greengrass V1 grupos principais do Greengrass associados ao dispositivo cliente tem um endpoint de agente MQTT.

  • Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autenticação do dispositivo cliente.

Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja se conectar. Em seguida, verifique se o dispositivo principal executa o componente de autenticação do dispositivo cliente e tem pelo menos um endpoint do agente MQTT. Para ver mais informações, consulte:

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

Você pode ver esse erro (sem um código de resposta HTTP) ao executar a amostra de descoberta do Greengrass. Esse erro pode ocorrer por vários motivos.

Problemas de descoberta do Greengrass (AWS IoT Device SDKv2 para Java)

Use as informações a seguir para solucionar problemas com a descoberta do Greengrass na v2 para AWS IoT Device SDK 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.)

Você pode ver esse erro se especificar um AWS IoT certificado inativo na solicitação.

Verifique se o dispositivo cliente tem um certificado anexado e se o certificado está ativo. Para obter mais informações, consulte Anexar algo ou política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do AWS IoT Core desenvolvedor.

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

Você pode ver esse erro se o dispositivo cliente não tiver permissão para ligar greengrass:Discover por si mesmo.

Verifique se o certificado do dispositivo cliente tem uma política que permitagreengrass:Discover. Você não pode usar variáveis de política de coisas (iot:Connection.Thing.*) na Resource seção para essa permissão. Para ter mais informações, consulte Autenticação e autorização de descoberta.

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

Você pode ver esse erro nos seguintes casos:

  • O dispositivo cliente não está associado a nenhum dispositivo ou AWS IoT Greengrass V1 grupo principal do Greengrass.

  • Nenhum dos dispositivos ou AWS IoT Greengrass V1 grupos principais do Greengrass associados ao dispositivo cliente tem um endpoint de agente MQTT.

  • Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autenticação do dispositivo cliente.

Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja se conectar. Em seguida, verifique se o dispositivo principal executa o componente de autenticação do dispositivo cliente e tem pelo menos um endpoint do agente MQTT. Para ver mais informações, consulte:

Problemas de conexão com o MQTT

Use as informações a seguir para solucionar problemas com as conexões MQTT do dispositivo cliente. Esses problemas podem ocorrer quando dispositivos clientes tentam se conectar a um dispositivo principal por meio do MQTT.

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

Você pode ver esse erro nos registros do Greengrass quando um dispositivo cliente tenta se inscrever em um tópico do MQTT sem permissão. A mensagem de erro inclui o tópico.

Verifique se a configuração do componente de autenticação do dispositivo cliente inclui o seguinte:

  • Um grupo de dispositivos que corresponde ao dispositivo cliente.

  • Uma política de autorização de dispositivo cliente para esse grupo de dispositivos que concede a mqtt:subscribe permissão para o tópico.

Para obter mais informações sobre como implantar e configurar o componente de autenticação do dispositivo cliente, consulte o seguinte:

Problemas de conexão com o MQTT (Python)

Use as informações a seguir para solucionar problemas com conexões MQTT do dispositivo cliente ao usar a AWS IoT Device SDKv2 para Python.

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Você pode ver esse erro se o componente de autenticação do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão ao dispositivo cliente para se conectar.

Verifique se a configuração do componente de autenticação do dispositivo cliente inclui o seguinte:

  • Um grupo de dispositivos que corresponde ao dispositivo cliente.

  • Uma política de autorização de dispositivo cliente para esse grupo de dispositivos que concede a mqtt:connect permissão para o dispositivo cliente.

Para obter mais informações sobre como implantar e configurar o componente de autenticação do dispositivo cliente, consulte o seguinte:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Você pode ver esse erro se o componente de autenticação do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão ao dispositivo cliente para se conectar.

Verifique se a configuração do componente de autenticação do dispositivo cliente inclui o seguinte:

  • Um grupo de dispositivos que corresponde ao dispositivo cliente.

  • Uma política de autorização de dispositivo cliente para esse grupo de dispositivos que concede a mqtt:connect permissão para o dispositivo cliente.

Para obter mais informações sobre como implantar e configurar o componente de autenticação do dispositivo cliente, consulte o seguinte:

Problemas de conexão com o MQTT (C++)

Use as informações a seguir para solucionar problemas com conexões MQTT do dispositivo cliente ao usar a AWS IoT Device SDKv2 para C++.

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Você pode ver esse erro se o componente de autenticação do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão ao dispositivo cliente para se conectar.

Verifique se a configuração do componente de autenticação do dispositivo cliente inclui o seguinte:

  • Um grupo de dispositivos que corresponde ao dispositivo cliente.

  • Uma política de autorização de dispositivo cliente para esse grupo de dispositivos que concede a mqtt:connect permissão para o dispositivo cliente.

Para obter mais informações sobre como implantar e configurar o componente de autenticação do dispositivo cliente, consulte o seguinte:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Você pode ver esse erro se o componente de autenticação do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão ao dispositivo cliente para se conectar.

Verifique se a configuração do componente de autenticação do dispositivo cliente inclui o seguinte:

  • Um grupo de dispositivos que corresponde ao dispositivo cliente.

  • Uma política de autorização de dispositivo cliente para esse grupo de dispositivos que concede a mqtt:connect permissão para o dispositivo cliente.

Para obter mais informações sobre como implantar e configurar o componente de autenticação do dispositivo cliente, consulte o seguinte:

Problemas de conexão com o MQTT (Java)

Use as informações a seguir para solucionar problemas com conexões MQTT do dispositivo cliente ao usar a AWS IoT Device SDKv2 para Java.

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

Você pode ver esse erro se o componente de autenticação do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão ao dispositivo cliente para se conectar.

Verifique se a configuração do componente de autenticação do dispositivo cliente inclui o seguinte:

  • Um grupo de dispositivos que corresponde ao dispositivo cliente.

  • Uma política de autorização de dispositivo cliente para esse grupo de dispositivos que concede a mqtt:connect permissão para o dispositivo cliente.

Para obter mais informações sobre como implantar e configurar o componente de autenticação do dispositivo cliente, consulte o seguinte:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Você pode ver esse erro se o componente de autenticação do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão ao dispositivo cliente para se conectar.

Verifique se a configuração do componente de autenticação do dispositivo cliente inclui o seguinte:

  • Um grupo de dispositivos que corresponde ao dispositivo cliente.

  • Uma política de autorização de dispositivo cliente para esse grupo de dispositivos que concede a mqtt:connect permissão para o dispositivo cliente.

Para obter mais informações sobre como implantar e configurar o componente de autenticação do dispositivo cliente, consulte o seguinte:

Problemas de conexão com o MQTT () JavaScript

Use as informações a seguir para solucionar problemas com conexões MQTT do dispositivo cliente ao usar a AWS IoT Device SDKv2 para. JavaScript

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Você pode ver esse erro se o componente de autenticação do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão ao dispositivo cliente para se conectar.

Verifique se a configuração do componente de autenticação do dispositivo cliente inclui o seguinte:

  • Um grupo de dispositivos que corresponde ao dispositivo cliente.

  • Uma política de autorização de dispositivo cliente para esse grupo de dispositivos que concede a mqtt:connect permissão para o dispositivo cliente.

Para obter mais informações sobre como implantar e configurar o componente de autenticação do dispositivo cliente, consulte o seguinte:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Você pode ver esse erro se o componente de autenticação do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão ao dispositivo cliente para se conectar.

Verifique se a configuração do componente de autenticação do dispositivo cliente inclui o seguinte:

  • Um grupo de dispositivos que corresponde ao dispositivo cliente.

  • Uma política de autorização de dispositivo cliente para esse grupo de dispositivos que concede a mqtt:connect permissão para o dispositivo cliente.

Para obter mais informações sobre como implantar e configurar o componente de autenticação do dispositivo cliente, consulte o seguinte: