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 as soluções de problemas nesta seção para ajudar a resolver problemas nos dispositivos cliente do Greengrass e nos componentes do dispositivo cliente.
Problemas de descoberta do Greengrass
Use as informações a seguir para ajudar a solucionar os problemas com a descoberta do Greengrass. Esses problemas podem ocorrer quando os dispositivos cliente usam a API de descoberta do Greengrass para identificar um dispositivo principal do Greengrass ao qual eles podem se conectar.
Tópicos
- Problemas de descoberta do Greengrass (API HTTP)
- Problemas de descoberta do Greengrass (AWS IoT Device SDK v2 para Python)
- Problemas de descoberta do Greengrass (AWS IoT Device SDK v2 para C++)
- Problemas de descoberta do Greengrass (AWS IoT Device SDK v2 para JavaScript)
- Problemas de descoberta do Greengrass (AWS IoT Device SDK v2 para Java)
Problemas de descoberta do Greengrass (API HTTP)
Use as informações a seguir para ajudar a solucionar os problemas com a descoberta do Greengrass. Você poderá ver esses erros se testar a API de descoberta com cURL.
Tópicos
curl: (52) Empty reply from server
Você poderá ver esse erro se especificar um certificado do AWS IoT 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 um item ou uma política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do desenvolvedor do AWS IoT Core.
HTTP 403: {"message":null,"traceId":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"}
Você poderá ver esse erro se o dispositivo cliente não tiver permissão para chamar greengrass:Discover
para ele mesmo.
Verifique se o certificado do dispositivo cliente tem uma política que permita greengrass:Discover
. Você não pode usar variáveis de política de itens (iot:Connection.Thing.
) na seção *
Resource
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 principal do Greengrass ou grupo do AWS IoT Greengrass V1.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente ou grupos do AWS IoT Greengrass V1 tem um endpoint do agente MQTT.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autorização do dispositivo cliente.
Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja que ele se conecte. Em seguida, verifique se o dispositivo principal executa o componente de autorização do dispositivo cliente e tem, pelo menos, um endpoint do agente MQTT. Para obter mais informações, consulte as informações a seguir.
Problemas de descoberta do Greengrass (AWS IoT Device SDK v2 para Python)
Use as informações a seguir para solucionar problemas com a descoberta do Greengrass no AWS IoT Device SDK v2 para Python
Tópicos
- awscrt.exceptions.AwsCrtError: AWS_ERROR_HTTP_CONNECTION_CLOSED: The connection has closed or is closing.
- awsiot.greengrass_discovery.DiscoveryException: ('Error during discover call: response_code=403', 403)
- awsiot.greengrass_discovery.DiscoveryException: ('Error during discover call: response_code=404', 404)
awscrt.exceptions.AwsCrtError: AWS_ERROR_HTTP_CONNECTION_CLOSED: The connection has closed or is closing.
Você poderá ver esse erro se especificar um certificado do AWS IoT 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 um item ou uma política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do desenvolvedor do AWS IoT Core.
awsiot.greengrass_discovery.DiscoveryException: ('Error during discover call: response_code=403', 403)
Você poderá ver esse erro se o dispositivo cliente não tiver permissão para chamar greengrass:Discover
para ele mesmo.
Verifique se o certificado do dispositivo cliente tem uma política que permita greengrass:Discover
. Você não pode usar variáveis de política de itens (iot:Connection.Thing.
) na seção *
Resource
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 principal do Greengrass ou grupo do AWS IoT Greengrass V1.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente ou grupos do AWS IoT Greengrass V1 tem um endpoint do agente MQTT.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autorização do dispositivo cliente.
Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja que ele se conecte. Em seguida, verifique se o dispositivo principal executa o componente de autorização do dispositivo cliente e tem, pelo menos, um endpoint do agente MQTT. Para obter mais informações, consulte as informações a seguir.
Problemas de descoberta do Greengrass (AWS IoT Device SDK v2 para C++)
Use as informações a seguir para solucionar problemas com a descoberta do Greengrass no AWS IoT Device SDK v2 para C++
Tópicos
aws-c-http: AWS_ERROR_HTTP_CONNECTION_CLOSED, The connection has closed or is closing.
Você poderá ver esse erro se especificar um certificado do AWS IoT 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 um item ou uma política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do desenvolvedor do AWS IoT Core.
aws-c-common: AWS_ERROR_UNKNOWN, Unknown error. (HTTP 403)
Você poderá ver esse erro se o dispositivo cliente não tiver permissão para chamar greengrass:Discover
para ele mesmo.
Verifique se o certificado do dispositivo cliente tem uma política que permita greengrass:Discover
. Você não pode usar variáveis de política de itens (iot:Connection.Thing.
) na seção *
Resource
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 principal do Greengrass ou grupo do AWS IoT Greengrass V1.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente ou grupos do AWS IoT Greengrass V1 tem um endpoint do agente MQTT.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autorização do dispositivo cliente.
Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja que ele se conecte. Em seguida, verifique se o dispositivo principal executa o componente de autorização do dispositivo cliente e tem, pelo menos, um endpoint do agente MQTT. Para obter mais informações, consulte as informações a seguir.
Problemas de descoberta do Greengrass (AWS IoT Device SDK v2 para JavaScript)
Use as informações a seguir para solucionar problemas com a descoberta do Greengrass no AWS IoT Device SDK v2 para JavaScript
Tópicos
Error: aws-c-http: AWS_ERROR_HTTP_CONNECTION_CLOSED, The connection has closed or is closing.
Você poderá ver esse erro se especificar um certificado do AWS IoT 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 um item ou uma política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do desenvolvedor do AWS IoT Core.
Error: Discovery failed (headers: [object Object]) { response_code: 403 }
Você poderá ver esse erro se o dispositivo cliente não tiver permissão para chamar greengrass:Discover
para ele mesmo.
Verifique se o certificado do dispositivo cliente tem uma política que permita greengrass:Discover
. Você não pode usar variáveis de política de itens (iot:Connection.Thing.
) na seção *
Resource
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 principal do Greengrass ou grupo do AWS IoT Greengrass V1.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente ou grupos do AWS IoT Greengrass V1 tem um endpoint do agente MQTT.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autorização do dispositivo cliente.
Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja que ele se conecte. Em seguida, verifique se o dispositivo principal executa o componente de autorização do dispositivo cliente e tem, pelo menos, um endpoint do agente MQTT. Para obter mais informações, consulte as informações a seguir.
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.
-
Você poderá ver esse erro se o dispositivo cliente não tiver permissão para chamar
greengrass:Discover
para ele mesmo.Verifique se o certificado do dispositivo cliente tem uma política que permita
greengrass:Discover
. Você não pode usar variáveis de política de itens (iot:Connection.Thing.
) na seção*
Resource
para essa permissão. Para ter mais informações, consulte Autenticação e autorização de descoberta. -
Você pode ver esse erro nos seguintes casos:
-
O dispositivo cliente não está associado a nenhum dispositivo principal do Greengrass ou grupo do AWS IoT Greengrass V1.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente ou grupos do AWS IoT Greengrass V1 tem um endpoint do agente MQTT.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autorização do dispositivo cliente.
Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja que ele se conecte. Em seguida, verifique se o dispositivo principal executa o componente de autorização do dispositivo cliente e tem, pelo menos, um endpoint do agente MQTT. Para obter mais informações, consulte as informações a seguir.
-
Problemas de descoberta do Greengrass (AWS IoT Device SDK v2 para Java)
Use as informações a seguir para solucionar problemas com a descoberta do Greengrass no AWS IoT Device SDK v2 para Java
Tópicos
- 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.)
- java.lang.RuntimeException: Error x-amzn-ErrorType(403)
- java.lang.RuntimeException: Error x-amzn-ErrorType(404)
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ê poderá ver esse erro se especificar um certificado do AWS IoT 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 um item ou uma política a um certificado de cliente e Ativar ou desativar um certificado de cliente no Guia do desenvolvedor do AWS IoT Core.
java.lang.RuntimeException: Error x-amzn-ErrorType(403)
Você poderá ver esse erro se o dispositivo cliente não tiver permissão para chamar greengrass:Discover
para ele mesmo.
Verifique se o certificado do dispositivo cliente tem uma política que permita greengrass:Discover
. Você não pode usar variáveis de política de itens (iot:Connection.Thing.
) na seção *
Resource
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 principal do Greengrass ou grupo do AWS IoT Greengrass V1.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente ou grupos do AWS IoT Greengrass V1 tem um endpoint do agente MQTT.
-
Nenhum dos dispositivos principais do Greengrass associados ao dispositivo cliente executa o componente de autorização do dispositivo cliente.
Verifique se o dispositivo cliente está associado ao dispositivo principal ao qual você deseja que ele se conecte. Em seguida, verifique se o dispositivo principal executa o componente de autorização do dispositivo cliente e tem, pelo menos, um endpoint do agente MQTT. Para obter mais informações, consulte as informações a seguir.
Problemas de conexão MQTT
Use as informações a seguir para solucionar problemas com as conexões MQTT de dispositivos cliente. Esses problemas podem ocorrer quando os dispositivos cliente tentam se conectar a um dispositivo principal por MQTT.
Tópicos
io.moquette.broker.Authorizator: Client does not have read permissions on the topic
Você pode ver esse erro nos logs do Greengrass quando um dispositivo cliente tenta assinar um tópico MQTT para o qual não tem permissão. A mensagem de erro inclui o tópico.
Verifique se a configuração do componente de autorização do dispositivo cliente inclui o seguinte:
-
Um grupo de dispositivos que corresponde ao dispositivo cliente.
-
Uma política de autorização do dispositivo cliente para esse grupo de dispositivos que concede a permissão
mqtt:subscribe
para o tópico.
Para obter mais informações sobre como implantar e configurar o componente de autorização do dispositivo cliente, consulte o seguinte:
Problemas de conexão MQTT (Python)
Use as informações a seguir para solucionar problemas com as conexões MQTT de dispositivos cliente ao usar o AWS IoT Device SDK v2 para Python
Tópicos
AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred
Você poderá ver esse erro se o componente de autorização do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão para o dispositivo cliente se conectar.
Verifique se a configuração do componente de autorização do dispositivo cliente inclui o seguinte:
-
Um grupo de dispositivos que corresponde ao dispositivo cliente.
-
Uma política de autorização do dispositivo cliente para esse grupo de dispositivos que concede a permissão
mqtt:connect
para o dispositivo cliente.
Para obter mais informações sobre como implantar e configurar o componente de autorização do dispositivo cliente, consulte o seguinte:
AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred
Você poderá ver esse erro se o componente de autorização do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão para o dispositivo cliente se conectar.
Verifique se a configuração do componente de autorização do dispositivo cliente inclui o seguinte:
-
Um grupo de dispositivos que corresponde ao dispositivo cliente.
-
Uma política de autorização do dispositivo cliente para esse grupo de dispositivos que concede a permissão
mqtt:connect
para o dispositivo cliente.
Para obter mais informações sobre como implantar e configurar o componente de autorização do dispositivo cliente, consulte o seguinte:
Problemas de conexão MQTT (C++)
Use as informações a seguir para solucionar problemas com as conexões MQTT de dispositivos cliente ao usar o AWS IoT Device SDK v2 para C++
Tópicos
AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred
Você poderá ver esse erro se o componente de autorização do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão para o dispositivo cliente se conectar.
Verifique se a configuração do componente de autorização do dispositivo cliente inclui o seguinte:
-
Um grupo de dispositivos que corresponde ao dispositivo cliente.
-
Uma política de autorização do dispositivo cliente para esse grupo de dispositivos que concede a permissão
mqtt:connect
para o dispositivo cliente.
Para obter mais informações sobre como implantar e configurar o componente de autorização do dispositivo cliente, consulte o seguinte:
AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred
Você poderá ver esse erro se o componente de autorização do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão para o dispositivo cliente se conectar.
Verifique se a configuração do componente de autorização do dispositivo cliente inclui o seguinte:
-
Um grupo de dispositivos que corresponde ao dispositivo cliente.
-
Uma política de autorização do dispositivo cliente para esse grupo de dispositivos que concede a permissão
mqtt:connect
para o dispositivo cliente.
Para obter mais informações sobre como implantar e configurar o componente de autorização do dispositivo cliente, consulte o seguinte:
Problemas de conexão MQTT (Java)
Use as informações a seguir para solucionar problemas com as conexões MQTT de dispositivos cliente ao usar o AWS IoT Device SDK v2 para Java
Tópicos
software.amazon.awssdk.crt.mqtt.MqttException: Protocol error occurred
Você poderá ver esse erro se o componente de autorização do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão para o dispositivo cliente se conectar.
Verifique se a configuração do componente de autorização do dispositivo cliente inclui o seguinte:
-
Um grupo de dispositivos que corresponde ao dispositivo cliente.
-
Uma política de autorização do dispositivo cliente para esse grupo de dispositivos que concede a permissão
mqtt:connect
para o dispositivo cliente.
Para obter mais informações sobre como implantar e configurar o componente de autorização do dispositivo cliente, consulte o seguinte:
AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred
Você poderá ver esse erro se o componente de autorização do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão para o dispositivo cliente se conectar.
Verifique se a configuração do componente de autorização do dispositivo cliente inclui o seguinte:
-
Um grupo de dispositivos que corresponde ao dispositivo cliente.
-
Uma política de autorização do dispositivo cliente para esse grupo de dispositivos que concede a permissão
mqtt:connect
para o dispositivo cliente.
Para obter mais informações sobre como implantar e configurar o componente de autorização do dispositivo cliente, consulte o seguinte:
Problemas de conexão MQTT (JavaScript)
Use as informações a seguir para solucionar problemas com as conexões MQTT de dispositivos cliente ao usar o AWS IoT Device SDK v2 para JavaScript
Tópicos
AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred
Você poderá ver esse erro se o componente de autorização do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão para o dispositivo cliente se conectar.
Verifique se a configuração do componente de autorização do dispositivo cliente inclui o seguinte:
-
Um grupo de dispositivos que corresponde ao dispositivo cliente.
-
Uma política de autorização do dispositivo cliente para esse grupo de dispositivos que concede a permissão
mqtt:connect
para o dispositivo cliente.
Para obter mais informações sobre como implantar e configurar o componente de autorização do dispositivo cliente, consulte o seguinte:
AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred
Você poderá ver esse erro se o componente de autorização do dispositivo cliente não definir uma política de autorização do dispositivo cliente que conceda permissão para o dispositivo cliente se conectar.
Verifique se a configuração do componente de autorização do dispositivo cliente inclui o seguinte:
-
Um grupo de dispositivos que corresponde ao dispositivo cliente.
-
Uma política de autorização do dispositivo cliente para esse grupo de dispositivos que concede a permissão
mqtt:connect
para o dispositivo cliente.
Para obter mais informações sobre como implantar e configurar o componente de autorização do dispositivo cliente, consulte o seguinte: