選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

用戶端裝置故障診斷

焦點模式
用戶端裝置故障診斷 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用本節中的疑難排解資訊和解決方案,以協助解決 Greengrass 用戶端裝置和用戶端裝置元件的問題。

Greengrass 探索問題

使用下列資訊來疑難排解 Greengrass 探索的問題。當用戶端裝置使用 Greengrass 探索 API 來識別其可連線的 Greengrass 核心裝置時,可能會發生這些問題。

Greengrass 探索問題 (HTTP API)

使用下列資訊來疑難排解 Greengrass 探索的問題。如果您使用 cURL 測試探索 API,可能會看到這些錯誤。

curl: (52) Empty reply from server

如果您在請求中指定非作用中的 AWS IoT 憑證,您可能會看到此錯誤。

檢查用戶端裝置是否具有連接的憑證,以及憑證是否處於作用中狀態。如需詳細資訊,請參閱《 AWS IoT Core 開發人員指南》中的將物件或政策連接至用戶端憑證,以及啟用或停用用戶端憑證

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

如果用戶端裝置沒有greengrass:Discover自行呼叫的許可,您可能會看到此錯誤。

檢查用戶端裝置的憑證是否具有允許 的政策greengrass:Discover。您無法在此許可的 Resource區段中使用物件政策變數 (iot:Connection.Thing.*)。如需詳細資訊,請參閱探索身分驗證和授權

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

在下列情況中,您可能會看到此錯誤:

  • 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。

  • 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。

  • 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行用戶端裝置驗證元件

檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後,檢查核心裝置是否執行用戶端裝置驗證元件,並至少有一個 MQTT 代理程式端點。如需詳細資訊,請參閱下列內容:

Greengrass 探索問題 (AWS IoT Device SDK v2 for Python)

使用下列資訊來疑難排解AWS IoT Device SDK 適用於 Python 的 v2 中 Greengrass 探索的問題。

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

如果您在請求中指定非作用中的 AWS IoT 憑證,您可能會看到此錯誤。

檢查用戶端裝置是否具有連接的憑證,以及憑證是否處於作用中狀態。如需詳細資訊,請參閱《 AWS IoT Core 開發人員指南》中的將物件或政策連接至用戶端憑證,以及啟用或停用用戶端憑證

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

如果用戶端裝置沒有greengrass:Discover自行呼叫的許可,您可能會看到此錯誤。

檢查用戶端裝置的憑證是否具有允許 的政策greengrass:Discover。您無法在此許可的 Resource區段中使用物件政策變數 (iot:Connection.Thing.*)。如需詳細資訊,請參閱探索身分驗證和授權

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

在下列情況中,您可能會看到此錯誤:

  • 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。

  • 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。

  • 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行用戶端裝置驗證元件

檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後,檢查核心裝置是否執行用戶端裝置驗證元件,並至少有一個 MQTT 代理程式端點。如需詳細資訊,請參閱下列內容:

Greengrass 探索問題 (適用於 C++ 的AWS IoT Device SDK v2)

使用下列資訊來疑難排解適用於 AWS IoT Device SDK C++ 的 v2 中 Greengrass 探索的問題。

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

如果您在請求中指定非作用中的 AWS IoT 憑證,您可能會看到此錯誤。

檢查用戶端裝置是否具有連接的憑證,以及憑證是否處於作用中狀態。如需詳細資訊,請參閱《 AWS IoT Core 開發人員指南》中的將物件或政策連接至用戶端憑證,以及啟用或停用用戶端憑證

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

如果用戶端裝置沒有greengrass:Discover自行呼叫的許可,您可能會看到此錯誤。

檢查用戶端裝置的憑證是否具有允許 的政策greengrass:Discover。您無法在此許可的 Resource區段中使用物件政策變數 (iot:Connection.Thing.*)。如需詳細資訊,請參閱探索身分驗證和授權

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

在下列情況中,您可能會看到此錯誤:

  • 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。

  • 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。

  • 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行用戶端裝置驗證元件

檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後,檢查核心裝置是否執行用戶端裝置驗證元件,並至少有一個 MQTT 代理程式端點。如需詳細資訊,請參閱下列內容:

Greengrass 探索問題 (適用於 JavaScript 的AWS IoT Device SDK v2)

使用下列資訊來疑難排解適用於 AWS IoT Device SDK JavaScript 的 v2 中 Greengrass 探索的問題。

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

如果您在請求中指定非作用中的 AWS IoT 憑證,您可能會看到此錯誤。

檢查用戶端裝置是否具有連接的憑證,以及憑證是否處於作用中狀態。如需詳細資訊,請參閱《 AWS IoT Core 開發人員指南》中的將物件或政策連接至用戶端憑證,以及啟用或停用用戶端憑證

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

如果用戶端裝置沒有greengrass:Discover自行呼叫的許可,您可能會看到此錯誤。

檢查用戶端裝置的憑證是否具有允許 的政策greengrass:Discover。您無法在此許可的 Resource區段中使用物件政策變數 (iot:Connection.Thing.*)。如需詳細資訊,請參閱探索身分驗證和授權

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

在下列情況中,您可能會看到此錯誤:

  • 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。

  • 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。

  • 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行用戶端裝置驗證元件

檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後,檢查核心裝置是否執行用戶端裝置驗證元件,並至少有一個 MQTT 代理程式端點。如需詳細資訊,請參閱下列內容:

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

當您執行 Greengrass 探索範例時,您可能會看到此錯誤 (沒有 HTTP 回應碼)。此錯誤可能因多種原因而發生。

  • 如果用戶端裝置沒有greengrass:Discover自行呼叫的許可,您可能會看到此錯誤。

    檢查用戶端裝置的憑證是否具有允許 的政策greengrass:Discover。您無法在此許可的 Resource區段中使用物件政策變數 (iot:Connection.Thing.*)。如需詳細資訊,請參閱探索身分驗證和授權

  • 在下列情況中,您可能會看到此錯誤:

    • 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。

    • 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。

    • 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行用戶端裝置驗證元件

    檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後,檢查核心裝置是否執行用戶端裝置驗證元件,並至少有一個 MQTT 代理程式端點。如需詳細資訊,請參閱下列內容:

Greengrass 探索問題 (適用於 Java 的AWS IoT Device SDK v2)

使用下列資訊來疑難排解適用於 AWS IoT Device SDK Java 的 v2 中 Greengrass 探索的問題。

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

如果您在請求中指定非作用中的 AWS IoT 憑證,您可能會看到此錯誤。

檢查用戶端裝置是否具有連接的憑證,以及憑證是否處於作用中狀態。如需詳細資訊,請參閱《 AWS IoT Core 開發人員指南》中的將物件或政策連接至用戶端憑證,以及啟用或停用用戶端憑證

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

如果用戶端裝置沒有greengrass:Discover自行呼叫的許可,您可能會看到此錯誤。

檢查用戶端裝置的憑證是否具有允許 的政策greengrass:Discover。您無法在此許可的 Resource區段中使用物件政策變數 (iot:Connection.Thing.*)。如需詳細資訊,請參閱探索身分驗證和授權

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

在下列情況中,您可能會看到此錯誤:

  • 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。

  • 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。

  • 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行用戶端裝置驗證元件

檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後,檢查核心裝置是否執行用戶端裝置驗證元件,並至少有一個 MQTT 代理程式端點。如需詳細資訊,請參閱下列內容:

MQTT 連線問題

使用下列資訊對用戶端裝置 MQTT 連線的問題進行故障診斷。當用戶端裝置嘗試透過 MQTT 連線至核心裝置時,可能會發生這些問題。

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

當用戶端裝置嘗試訂閱沒有許可的 MQTT 主題時,您可能會在 Greengrass 日誌中看到此錯誤。錯誤訊息包含 主題。

檢查用戶端裝置驗證元件的組態是否包含下列項目:

  • 符合用戶端裝置的裝置群組。

  • 該裝置群組的用戶端裝置授權政策,授予主題的mqtt:subscribe許可。

如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊,請參閱以下內容:

MQTT 連線問題 (Python)

當您使用 AWS IoT Device SDK v2 for Python 時,請使用下列資訊來疑難排解用戶端裝置 MQTT 連線的問題。

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

如果用戶端裝置身分驗證元件未定義用戶端裝置授權政策,以授予用戶端裝置連線的許可,您可能會看到此錯誤。

檢查用戶端裝置驗證元件的組態是否包含下列項目:

  • 符合用戶端裝置的裝置群組。

  • 該裝置群組的用戶端裝置授權政策,授予用戶端裝置的mqtt:connect許可。

如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊,請參閱以下內容:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

如果用戶端裝置身分驗證元件未定義用戶端裝置授權政策來授予用戶端裝置連線許可,則可能會看到此錯誤。

檢查用戶端裝置驗證元件的組態是否包含下列項目:

  • 符合用戶端裝置的裝置群組。

  • 該裝置群組的用戶端裝置授權政策,授予用戶端裝置的mqtt:connect許可。

如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊,請參閱以下內容:

MQTT 連線問題 (C++)

當您使用 AWS IoT Device SDK v2 for C++ 時,請使用下列資訊來疑難排解用戶端裝置 MQTT 連線的問題。

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

如果用戶端裝置身分驗證元件未定義用戶端裝置授權政策,以授予用戶端裝置連線的許可,您可能會看到此錯誤。

檢查用戶端裝置驗證元件的組態是否包含下列項目:

  • 符合用戶端裝置的裝置群組。

  • 該裝置群組的用戶端裝置授權政策,授予用戶端裝置的mqtt:connect許可。

如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊,請參閱以下內容:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

如果用戶端裝置身分驗證元件未定義用戶端裝置授權政策,以授予用戶端裝置連線的許可,您可能會看到此錯誤。

檢查用戶端裝置驗證元件的組態是否包含下列項目:

  • 符合用戶端裝置的裝置群組。

  • 該裝置群組的用戶端裝置授權政策,授予用戶端裝置的mqtt:connect許可。

如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊,請參閱以下內容:

MQTT 連線問題 (Java)

當您使用 AWS IoT Device SDK v2 for Java 時,請使用下列資訊來疑難排解用戶端裝置 MQTT 連線的問題。

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

如果用戶端裝置身分驗證元件未定義用戶端裝置授權政策,以授予用戶端裝置連線的許可,您可能會看到此錯誤。

檢查用戶端裝置驗證元件的組態是否包含下列項目:

  • 符合用戶端裝置的裝置群組。

  • 該裝置群組的用戶端裝置授權政策,授予用戶端裝置的mqtt:connect許可。

如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊,請參閱以下內容:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

如果用戶端裝置身分驗證元件未定義用戶端裝置授權政策,以授予用戶端裝置連線的許可,您可能會看到此錯誤。

檢查用戶端裝置驗證元件的組態是否包含下列項目:

  • 符合用戶端裝置的裝置群組。

  • 該裝置群組的用戶端裝置授權政策,授予用戶端裝置的mqtt:connect許可。

如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊,請參閱以下內容:

MQTT 連線問題 (JavaScript)

當您使用 AWS IoT Device SDK v2 for JavaScript 時,請使用下列資訊對用戶端裝置 MQTT 連線的問題進行故障診斷。

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

如果用戶端裝置身分驗證元件未定義用戶端裝置授權政策,以授予用戶端裝置連線的許可,您可能會看到此錯誤。

檢查用戶端裝置驗證元件的組態是否包含下列項目:

  • 符合用戶端裝置的裝置群組。

  • 該裝置群組的用戶端裝置授權政策,授予用戶端裝置的mqtt:connect許可。

如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊,請參閱以下內容:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

如果用戶端裝置身分驗證元件未定義用戶端裝置授權政策,以授予用戶端裝置連線的許可,您可能會看到此錯誤。

檢查用戶端裝置驗證元件的組態是否包含下列項目:

  • 符合用戶端裝置的裝置群組。

  • 該裝置群組的用戶端裝置授權政策,授予用戶端裝置的mqtt:connect許可。

如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊,請參閱以下內容:

在本頁面

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。