客户端设备排查 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

客户端设备排查

使用本节中的故障排除信息和解决方案帮助解决 Greengrass 客户端设备和客户端设备组件的问题。

Greengrass 发现问题

使用以下信息排查 Greengrass 发现问题。当客户端设备使用Greengrass 发现 API以识别可以连接的 Greengrass 核心设备。

Greengrass 发现问题(HTTP API)

使用以下信息排查 Greengrass 发现问题。您可能会看到这些错误,如果您使用 cURL 测试发现 API.

curl: (52) Empty reply from server

您可能会看到此错误,如果您指定一个非活动Amazon IoT证书。

检查客户端设备是否具有附加的证书,并且证书是否处于活动状态。有关更多信息,请参阅 。将事物或策略附加到客户端证书激活或停用客户端证书中的Amazon IoT Core开发人员指南.

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

如果客户端设备无权调用greengrass:Discover为本身。

检查客户端设备的证书是否具有允许greengrass:Discover. 您不能使用事物策略变量(iot:Connection.Thing.*) 中的Resource部分获取此权限。有关更多信息,请参阅 发现身份验证和授权

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

如果客户端设备未与任何 Greengrass 核心设备关联,或Amazon IoT Greengrass V1组中)。

检查客户端设备是否与要连接的核心设备相关联。有关更多信息,请参阅 关联客户端设备

Greengrass 发现问题 (Amazon IoT Device SDK用于 Python 的 v2)

使用以下信息排查 Greengrass 发现的问题Amazon IoT Device SDK适用于 Python 的 v2.

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

您可能会看到此错误,如果您指定一个非活动Amazon IoT证书。

检查客户端设备是否具有附加的证书,并且证书是否处于活动状态。有关更多信息,请参阅 。将事物或策略附加到客户端证书激活或停用客户端证书中的Amazon IoT Core开发人员指南.

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

如果客户端设备无权调用greengrass:Discover为本身。

检查客户端设备的证书是否具有允许greengrass:Discover. 您不能使用事物策略变量(iot:Connection.Thing.*) 中的Resource部分获取此权限。有关更多信息,请参阅 发现身份验证和授权

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

如果客户端设备未与任何 Greengrass 核心设备关联,或Amazon IoT Greengrass V1组中)。

检查客户端设备是否与要连接的核心设备相关联。有关更多信息,请参阅 关联客户端设备

Greengrass 发现问题 (Amazon IoT Device SDKv2 适用于 C ++)

使用以下信息排查 Greengrass 发现的问题Amazon IoT Device SDKv2 适用于 C ++.

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

您可能会看到此错误,如果您指定一个非活动Amazon IoT证书。

检查客户端设备是否具有附加的证书,并且证书是否处于活动状态。有关更多信息,请参阅 。将事物或策略附加到客户端证书激活或停用客户端证书中的Amazon IoT Core开发人员指南.

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

如果客户端设备无权调用greengrass:Discover为本身。

检查客户端设备的证书是否具有允许greengrass:Discover. 您不能使用事物策略变量(iot:Connection.Thing.*) 中的Resource部分获取此权限。有关更多信息,请参阅 发现身份验证和授权

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

如果客户端设备未与任何 Greengrass 核心设备关联,或Amazon IoT Greengrass V1组中)。

检查客户端设备是否与要连接的核心设备相关联。有关更多信息,请参阅 关联客户端设备

Greengrass 发现问题 (Amazon IoT Device SDKv2 适用于 JavaScript)

使用以下信息排查 Greengrass 发现的问题Amazon IoT Device SDKv2 适用于 JavaScript.

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

您可能会看到此错误,如果您指定一个非活动Amazon IoT证书。

检查客户端设备是否具有附加的证书,并且证书是否处于活动状态。有关更多信息,请参阅 。将事物或策略附加到客户端证书激活或停用客户端证书中的Amazon IoT Core开发人员指南.

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

如果客户端设备无权调用greengrass:Discover为本身。

检查客户端设备的证书是否具有允许greengrass:Discover. 您不能使用事物策略变量(iot:Connection.Thing.*) 中的Resource部分获取此权限。有关更多信息,请参阅 发现身份验证和授权

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

如果客户端设备未与任何 Greengrass 核心设备关联,或Amazon IoT Greengrass V1组中)。

检查客户端设备是否与要连接的核心设备相关联。有关更多信息,请参阅 关联客户端设备

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

运行 Greengrass 发现示例时,您可能会看到此错误(没有 HTTP 响应代码)。由于多种原因而出现该错误。

  • 如果客户端设备无权调用greengrass:Discover为本身。

    检查客户端设备的证书是否具有允许greengrass:Discover. 您不能使用事物策略变量(iot:Connection.Thing.*) 中的Resource部分获取此权限。有关更多信息,请参阅 发现身份验证和授权

  • 如果客户端设备未与任何 Greengrass 核心设备关联,或Amazon IoT Greengrass V1组中)。

    检查客户端设备是否与要连接的核心设备相关联。有关更多信息,请参阅 关联客户端设备

Greengrass 发现问题 (Amazon IoT Device SDK适用于 Java 的 v2)

使用以下信息排查 Greengrass 发现的问题Amazon IoT Device SDK适用于 Java 的 v2.

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

您可能会看到此错误,如果您指定一个非活动Amazon IoT证书。

检查客户端设备是否具有附加的证书,并且证书是否处于活动状态。有关更多信息,请参阅 。将事物或策略附加到客户端证书激活或停用客户端证书中的Amazon IoT Core开发人员指南.

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

如果客户端设备无权调用greengrass:Discover为本身。

检查客户端设备的证书是否具有允许greengrass:Discover. 您不能使用事物策略变量(iot:Connection.Thing.*) 中的Resource部分获取此权限。有关更多信息,请参阅 发现身份验证和授权

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

如果客户端设备未与任何 Greengrass 核心设备关联,或Amazon IoT Greengrass V1组中)。

检查客户端设备是否与要连接的核心设备相关联。有关更多信息,请参阅关联客户端设备