

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

# 對用戶端裝置進行故障診斷
<a name="troubleshooting-client-devices"></a>

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

**Topics**
+ [Greengrass 探索問題](#greengrass-discovery-issues)
+ [MQTT 連線問題](#mqtt-connection-issues)

## Greengrass 探索問題
<a name="greengrass-discovery-issues"></a>

使用下列資訊來疑難排解 Greengrass 探索的問題。當用戶端裝置使用 [Greengrass 探索 API](greengrass-discover-api.md) 來識別其可連線的 Greengrass 核心裝置時，可能會發生這些問題。

**Topics**
+ [Greengrass 探索問題 (HTTP API)](#greengrass-discovery-http-issues)
+ [Greengrass 探索問題 (AWS IoT Device SDK v2 for Python)](#greengrass-discovery-python-issues)
+ [Greengrass 探索問題 （適用於 C\$1\$1 的AWS IoT Device SDK v2)](#greengrass-discovery-cpp-issues)
+ [Greengrass 探索問題 （適用於 JavaScript 的AWS IoT Device SDK v2)](#greengrass-discovery-javascript-issues)
+ [Greengrass 探索問題 （適用於 Java 的AWS IoT Device SDK v2)](#greengrass-discovery-java-issues)

### Greengrass 探索問題 (HTTP API)
<a name="greengrass-discovery-http-issues"></a>

使用下列資訊來疑難排解 Greengrass 探索的問題。如果您[使用 cURL 測試探索 API，](greengrass-discover-api.md#greengrass-discover-test-request)可能會看到這些錯誤。

**Topics**
+ [curl: (52) Empty reply from server](#greengrass-discovery-http-issue-no-response)
+ [HTTP 403: \$1"message":null,"traceId":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"\$1](#greengrass-discovery-http-issue-forbidden)
+ [HTTP 404: \$1"errorMessage":"The thing provided for discovery was not found"\$1](#greengrass-discovery-http-issue-not-found)

#### curl: (52) Empty reply from server
<a name="greengrass-discovery-http-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>如果您在請求 AWS IoT 中指定非作用中憑證，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>檢查用戶端裝置是否具有連接的憑證，以及憑證是否處於作用中狀態。如需詳細資訊，請參閱《 *AWS IoT Core 開發人員指南*》中的[將物件或政策連接至用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)和[啟用或停用用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)。

#### HTTP 403: \$1"message":null,"traceId":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"\$1
<a name="greengrass-discovery-http-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>如果用戶端裝置沒有`greengrass:Discover`自行呼叫 的許可，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>檢查用戶端裝置的憑證是否具有允許 的政策`greengrass:Discover`。您無法在此許可的 `Resource`區段中使用[物件政策變數](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (`iot:Connection.Thing.*`)。如需詳細資訊，請參閱[探索身分驗證和授權](greengrass-discover-api.md#greengrass-discover-auth)。

#### HTTP 404: \$1"errorMessage":"The thing provided for discovery was not found"\$1
<a name="greengrass-discovery-http-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>在下列情況下，您可能會看到此錯誤：<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。
+ 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。
+ 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行[用戶端裝置身分驗證元件](client-device-auth-component.md)。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後，檢查核心裝置是否執行[用戶端裝置身分驗證元件，](client-device-auth-component.md)並至少有一個 MQTT 代理程式端點。如需詳細資訊，請參閱下列內容：<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [關聯用戶端裝置](associate-client-devices.md)
+ [管理核心裝置端點](manage-core-device-endpoints.md)
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)

### Greengrass 探索問題 (AWS IoT Device SDK v2 for Python)
<a name="greengrass-discovery-python-issues"></a>

使用以下資訊來疑難排解[AWS IoT Device SDK 適用於 Python 的 v2](https://github.com/aws/aws-iot-device-sdk-python-v2) 中 Greengrass 探索的問題。

**Topics**
+ [awscrt.exceptions.AwsCrtError: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED: The connection has closed or is closing.](#greengrass-discovery-python-issue-no-response)
+ [awsiot.greengrass\$1discovery.DiscoveryException: ('Error during discover call: response\$1code=403', 403)](#greengrass-discovery-python-issue-forbidden)
+ [awsiot.greengrass\$1discovery.DiscoveryException: ('Error during discover call: response\$1code=404', 404)](#greengrass-discovery-python-issue-not-found)

#### awscrt.exceptions.AwsCrtError: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED: The connection has closed or is closing.
<a name="greengrass-discovery-python-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>如果您在請求 AWS IoT 中指定非作用中憑證，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>檢查用戶端裝置是否具有連接的憑證，以及憑證是否處於作用中狀態。如需詳細資訊，請參閱《 *AWS IoT Core 開發人員指南*》中的[將物件或政策連接至用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)和[啟用或停用用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)。

#### awsiot.greengrass\$1discovery.DiscoveryException: ('Error during discover call: response\$1code=403', 403)
<a name="greengrass-discovery-python-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>如果用戶端裝置沒有`greengrass:Discover`自行呼叫 的許可，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>檢查用戶端裝置的憑證是否具有允許 的政策`greengrass:Discover`。您無法在此許可的 `Resource`區段中使用[物件政策變數](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (`iot:Connection.Thing.*`)。如需詳細資訊，請參閱[探索身分驗證和授權](greengrass-discover-api.md#greengrass-discover-auth)。

#### awsiot.greengrass\$1discovery.DiscoveryException: ('Error during discover call: response\$1code=404', 404)
<a name="greengrass-discovery-python-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>在下列情況下，您可能會看到此錯誤：<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。
+ 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。
+ 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行[用戶端裝置身分驗證元件](client-device-auth-component.md)。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後，檢查核心裝置是否執行[用戶端裝置身分驗證元件，](client-device-auth-component.md)並至少有一個 MQTT 代理程式端點。如需詳細資訊，請參閱下列內容：<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [關聯用戶端裝置](associate-client-devices.md)
+ [管理核心裝置端點](manage-core-device-endpoints.md)
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)

### Greengrass 探索問題 （適用於 C\$1\$1 的AWS IoT Device SDK v2)
<a name="greengrass-discovery-cpp-issues"></a>

使用下列資訊對適用於 [AWS IoT Device SDK C\$1\$1 的 v2](https://github.com/aws/aws-iot-device-sdk-cpp-v2) 中的 Greengrass 探索問題進行故障診斷。

**Topics**
+ [aws-c-http: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED, The connection has closed or is closing.](#greengrass-discovery-cpp-issue-no-response)
+ [aws-c-common: AWS\$1ERROR\$1UNKNOWN, Unknown error. (HTTP 403)](#greengrass-discovery-cpp-issue-forbidden)
+ [aws-c-common: AWS\$1ERROR\$1UNKNOWN, Unknown error. (HTTP 404)](#greengrass-discovery-cpp-issue-not-found)

#### aws-c-http: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED, The connection has closed or is closing.
<a name="greengrass-discovery-cpp-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>如果您在請求 AWS IoT 中指定非作用中憑證，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>檢查用戶端裝置是否具有連接的憑證，以及憑證是否處於作用中狀態。如需詳細資訊，請參閱《 *AWS IoT Core 開發人員指南*》中的[將物件或政策連接至用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)和[啟用或停用用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)。

#### aws-c-common: AWS\$1ERROR\$1UNKNOWN, Unknown error. (HTTP 403)
<a name="greengrass-discovery-cpp-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>如果用戶端裝置沒有`greengrass:Discover`自行呼叫 的許可，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>檢查用戶端裝置的憑證是否具有允許 的政策`greengrass:Discover`。您無法在此許可的 `Resource`區段中使用[物件政策變數](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (`iot:Connection.Thing.*`)。如需詳細資訊，請參閱[探索身分驗證和授權](greengrass-discover-api.md#greengrass-discover-auth)。

#### aws-c-common: AWS\$1ERROR\$1UNKNOWN, Unknown error. (HTTP 404)
<a name="greengrass-discovery-cpp-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>在下列情況下，您可能會看到此錯誤：<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。
+ 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。
+ 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行[用戶端裝置身分驗證元件](client-device-auth-component.md)。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後，檢查核心裝置是否執行[用戶端裝置身分驗證元件，](client-device-auth-component.md)並至少有一個 MQTT 代理程式端點。如需詳細資訊，請參閱下列內容：<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [關聯用戶端裝置](associate-client-devices.md)
+ [管理核心裝置端點](manage-core-device-endpoints.md)
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)

### Greengrass 探索問題 （適用於 JavaScript 的AWS IoT Device SDK v2)
<a name="greengrass-discovery-javascript-issues"></a>

使用以下資訊對適用於 [AWS IoT Device SDK JavaScript 的 v2](https://github.com/aws/aws-iot-device-sdk-js-v2) 中的 Greengrass 探索問題進行故障診斷。

**Topics**
+ [Error: aws-c-http: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED, The connection has closed or is closing.](#greengrass-discovery-javascript-issue-no-response)
+ [Error: Discovery failed (headers: [object Object]) \$1 response\$1code: 403 \$1](#greengrass-discovery-javascript-issue-forbidden)
+ [Error: Discovery failed (headers: [object Object]) \$1 response\$1code: 404 \$1](#greengrass-discovery-javascript-issue-not-found)
+ [Error: Discovery failed (headers: [object Object])](#greengrass-discovery-javascript-issue-forbidden-not-found)

#### Error: aws-c-http: AWS\$1ERROR\$1HTTP\$1CONNECTION\$1CLOSED, The connection has closed or is closing.
<a name="greengrass-discovery-javascript-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>如果您在請求 AWS IoT 中指定非作用中憑證，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>檢查用戶端裝置是否具有連接的憑證，以及憑證是否處於作用中狀態。如需詳細資訊，請參閱《 *AWS IoT Core 開發人員指南*》中的[將物件或政策連接至用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)和[啟用或停用用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)。

#### Error: Discovery failed (headers: [object Object]) \$1 response\$1code: 403 \$1
<a name="greengrass-discovery-javascript-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>如果用戶端裝置沒有`greengrass:Discover`自行呼叫 的許可，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>檢查用戶端裝置的憑證是否具有允許 的政策`greengrass:Discover`。您無法在此許可的 `Resource`區段中使用[物件政策變數](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (`iot:Connection.Thing.*`)。如需詳細資訊，請參閱[探索身分驗證和授權](greengrass-discover-api.md#greengrass-discover-auth)。

#### Error: Discovery failed (headers: [object Object]) \$1 response\$1code: 404 \$1
<a name="greengrass-discovery-javascript-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>在下列情況下，您可能會看到此錯誤：<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。
+ 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。
+ 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行[用戶端裝置身分驗證元件](client-device-auth-component.md)。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後，檢查核心裝置是否執行[用戶端裝置身分驗證元件，](client-device-auth-component.md)並且至少有一個 MQTT 代理程式端點。如需詳細資訊，請參閱下列內容：<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [關聯用戶端裝置](associate-client-devices.md)
+ [管理核心裝置端點](manage-core-device-endpoints.md)
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)

#### Error: Discovery failed (headers: [object Object])
<a name="greengrass-discovery-javascript-issue-forbidden-not-found"></a>

當您執行 Greengrass 探索範例時，您可能會看到此錯誤 （沒有 HTTP 回應碼）。此錯誤可能因多種原因而發生。
+ <a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>如果用戶端裝置沒有`greengrass:Discover`自行呼叫 的許可，您可能會看到此錯誤。

  <a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>檢查用戶端裝置的憑證是否具有允許 的政策`greengrass:Discover`。您無法在此許可的 `Resource`區段中使用[物件政策變數](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (`iot:Connection.Thing.*`)。如需詳細資訊，請參閱[探索身分驗證和授權](greengrass-discover-api.md#greengrass-discover-auth)。
+ <a name="troubleshooting-greengrass-discovery-not-found-issue"></a>在下列情況下，您可能會看到此錯誤：<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
  + 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。
  + 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。
  + 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行[用戶端裝置身分驗證元件](client-device-auth-component.md)。

  <a name="troubleshooting-greengrass-discovery-not-found-solution"></a>檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後，檢查核心裝置是否執行[用戶端裝置身分驗證元件，](client-device-auth-component.md)並至少有一個 MQTT 代理程式端點。如需詳細資訊，請參閱下列內容：<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
  + [關聯用戶端裝置](associate-client-devices.md)
  + [管理核心裝置端點](manage-core-device-endpoints.md)
  + [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)

### Greengrass 探索問題 （適用於 Java 的AWS IoT Device SDK v2)
<a name="greengrass-discovery-java-issues"></a>

使用以下資訊來疑難排解適用於 [AWS IoT Device SDK Java 的 v2](https://github.com/aws/aws-iot-device-sdk-java-v2) 中 Greengrass 探索的問題。

**Topics**
+ [software.amazon.awssdk.crt.CrtRuntimeException: Error Getting Response Status Code from HttpStream. (aws\$1last\$1error: AWS\$1ERROR\$1HTTP\$1DATA\$1NOT\$1AVAILABLE(2062), This data is not yet available.)](#greengrass-discovery-java-issue-no-response)
+ [java.lang.RuntimeException: Error x-amzn-ErrorType(403)](#greengrass-discovery-java-issue-forbidden)
+ [java.lang.RuntimeException: Error x-amzn-ErrorType(404)](#greengrass-discovery-java-issue-not-found)

#### software.amazon.awssdk.crt.CrtRuntimeException: Error Getting Response Status Code from HttpStream. (aws\$1last\$1error: AWS\$1ERROR\$1HTTP\$1DATA\$1NOT\$1AVAILABLE(2062), This data is not yet available.)
<a name="greengrass-discovery-java-issue-no-response"></a>

<a name="troubleshooting-greengrass-discovery-no-response-issue"></a>如果您在請求 AWS IoT 中指定非作用中憑證，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-no-response-solution"></a>檢查用戶端裝置是否具有連接的憑證，以及憑證是否處於作用中狀態。如需詳細資訊，請參閱《 *AWS IoT Core 開發人員指南*》中的[將物件或政策連接至用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/attach-to-cert.html)和[啟用或停用用戶端憑證](https://docs.aws.amazon.com/iot/latest/developerguide/activate-or-deactivate-device-cert.html)。

#### java.lang.RuntimeException: Error x-amzn-ErrorType(403)
<a name="greengrass-discovery-java-issue-forbidden"></a>

<a name="troubleshooting-greengrass-discovery-forbidden-issue"></a>如果用戶端裝置沒有`greengrass:Discover`自行呼叫 的許可，您可能會看到此錯誤。

<a name="troubleshooting-greengrass-discovery-forbidden-solution"></a>檢查用戶端裝置的憑證是否具有允許 的政策`greengrass:Discover`。您無法在此許可的 `Resource`區段中使用[物件政策變數](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (`iot:Connection.Thing.*`)。如需詳細資訊，請參閱[探索身分驗證和授權](greengrass-discover-api.md#greengrass-discover-auth)。

#### java.lang.RuntimeException: Error x-amzn-ErrorType(404)
<a name="greengrass-discovery-java-issue-not-found"></a>

<a name="troubleshooting-greengrass-discovery-not-found-issue"></a>在下列情況下，您可能會看到此錯誤：<a name="troubleshooting-greengrass-discovery-not-found-issue-list"></a>
+ 用戶端裝置未與任何 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組建立關聯。
+ 用戶端裝置相關聯的 Greengrass 核心裝置或 AWS IoT Greengrass V1 群組都沒有 MQTT 代理程式端點。
+ 用戶端裝置相關聯的 Greengrass 核心裝置都不會執行[用戶端裝置身分驗證元件](client-device-auth-component.md)。

<a name="troubleshooting-greengrass-discovery-not-found-solution"></a>檢查用戶端裝置是否與您要其連線的核心裝置相關聯。然後，檢查核心裝置是否執行[用戶端裝置身分驗證元件，](client-device-auth-component.md)並至少有一個 MQTT 代理程式端點。如需詳細資訊，請參閱下列內容：<a name="troubleshooting-greengrass-discovery-not-found-solution-links"></a>
+ [關聯用戶端裝置](associate-client-devices.md)
+ [管理核心裝置端點](manage-core-device-endpoints.md)
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)

## MQTT 連線問題
<a name="mqtt-connection-issues"></a>

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

**Topics**
+ [io.moquette.broker.Authorizator: Client does not have read permissions on the topic](#client-missing-subscribe-permission)
+ [MQTT 連線問題 (Python)](#mqtt-connection-python-issues)
+ [MQTT 連線問題 (C\$1\$1)](#mqtt-connection-cpp-issues)
+ [MQTT 連線問題 (Java)](#mqtt-connection-java-issues)
+ [MQTT 連線問題 (JavaScript)](#mqtt-connection-javascript-issues)

### io.moquette.broker.Authorizator: Client does not have read permissions on the topic
<a name="client-missing-subscribe-permission"></a>

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

檢查[用戶端裝置身分驗證元件的](client-device-auth-component.md)組態是否包含下列項目：
+ 符合用戶端裝置的裝置群組。
+ 該裝置群組的用戶端裝置授權政策，授予 主題的 `mqtt:subscribe`許可。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊，請參閱下列內容：<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)
+ [用戶端裝置身分驗證](client-device-auth-component.md)
+ [建立部署](create-deployments.md)

### MQTT 連線問題 (Python)
<a name="mqtt-connection-python-issues"></a>

當您使用 [AWS IoT Device SDK v2 for Python](https://github.com/aws/aws-iot-device-sdk-python-v2) 時，請使用以下資訊對用戶端裝置 MQTT 連線的問題進行故障診斷。

**Topics**
+ [AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred](#mqtt-connection-python-issue-protocol-error)
+ [AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred](#mqtt-connection-python-issue-unexpected-hangup)

#### AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred
<a name="mqtt-connection-python-issue-protocol-error"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>如果[用戶端裝置身分驗證元件](client-device-auth-component.md)未定義授予用戶端裝置連線許可的用戶端裝置授權政策，您可能會看到此錯誤。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>檢查用戶端裝置身分驗證元件的組態是否包含下列項目：<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ 符合用戶端裝置的裝置群組。
+ 該裝置群組的用戶端裝置授權政策，授予用戶端裝置的 `mqtt:connect`許可。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊，請參閱下列內容：<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)
+ [用戶端裝置身分驗證](client-device-auth-component.md)
+ [建立部署](create-deployments.md)

#### AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred
<a name="mqtt-connection-python-issue-unexpected-hangup"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>如果[用戶端裝置身分驗證元件](client-device-auth-component.md)未定義授予用戶端裝置連線許可的用戶端裝置授權政策，您可能會看到此錯誤。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>檢查用戶端裝置身分驗證元件的組態是否包含下列項目：<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ 符合用戶端裝置的裝置群組。
+ 該裝置群組的用戶端裝置授權政策，授予用戶端裝置的 `mqtt:connect`許可。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊，請參閱下列內容：<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)
+ [用戶端裝置身分驗證](client-device-auth-component.md)
+ [建立部署](create-deployments.md)

### MQTT 連線問題 (C\$1\$1)
<a name="mqtt-connection-cpp-issues"></a>

當您將 [AWS IoT Device SDK v2 用於 C\$1\$1](https://github.com/aws/aws-iot-device-sdk-cpp-v2) 時，請使用以下資訊對用戶端裝置 MQTT 連線的問題進行故障診斷。

**Topics**
+ [AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred](#mqtt-connection-cpp-issue-protocol-error)
+ [AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred](#mqtt-connection-cpp-issue-unexpected-hangup)

#### AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred
<a name="mqtt-connection-cpp-issue-protocol-error"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>如果[用戶端裝置身分驗證元件](client-device-auth-component.md)未定義授予用戶端裝置連線許可的用戶端裝置授權政策，您可能會看到此錯誤。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>檢查用戶端裝置身分驗證元件的組態是否包含下列項目：<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ 符合用戶端裝置的裝置群組。
+ 該裝置群組的用戶端裝置授權政策，授予用戶端裝置的 `mqtt:connect`許可。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊，請參閱下列內容：<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)
+ [用戶端裝置身分驗證](client-device-auth-component.md)
+ [建立部署](create-deployments.md)

#### AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred
<a name="mqtt-connection-cpp-issue-unexpected-hangup"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>如果[用戶端裝置身分驗證元件](client-device-auth-component.md)未定義授予用戶端裝置連線許可的用戶端裝置授權政策，您可能會看到此錯誤。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>檢查用戶端裝置身分驗證元件的組態是否包含下列項目：<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ 符合用戶端裝置的裝置群組。
+ 該裝置群組的用戶端裝置授權政策，授予用戶端裝置的 `mqtt:connect`許可。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊，請參閱下列內容：<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)
+ [用戶端裝置身分驗證](client-device-auth-component.md)
+ [建立部署](create-deployments.md)

### MQTT 連線問題 (Java)
<a name="mqtt-connection-java-issues"></a>

當您使用[AWS IoT Device SDK 適用於 Java 的 v2](https://github.com/aws/aws-iot-device-sdk-java-v2) 時，請使用以下資訊對用戶端裝置 MQTT 連線的問題進行故障診斷。

**Topics**
+ [software.amazon.awssdk.crt.mqtt.MqttException: Protocol error occurred](#mqtt-connection-java-issue-protocol-error)
+ [AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred](#mqtt-connection-java-issue-unexpected-hangup)

#### software.amazon.awssdk.crt.mqtt.MqttException: Protocol error occurred
<a name="mqtt-connection-java-issue-protocol-error"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>如果[用戶端裝置身分驗證元件](client-device-auth-component.md)未定義授予用戶端裝置連線許可的用戶端裝置授權政策，您可能會看到此錯誤。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>檢查用戶端裝置身分驗證元件的組態是否包含下列項目：<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ 符合用戶端裝置的裝置群組。
+ 該裝置群組的用戶端裝置授權政策，授予用戶端裝置的 `mqtt:connect`許可。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊，請參閱下列內容：<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)
+ [用戶端裝置身分驗證](client-device-auth-component.md)
+ [建立部署](create-deployments.md)

#### AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred
<a name="mqtt-connection-java-issue-unexpected-hangup"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>如果[用戶端裝置身分驗證元件](client-device-auth-component.md)未定義授予用戶端裝置連線許可的用戶端裝置授權政策，您可能會看到此錯誤。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>檢查用戶端裝置身分驗證元件的組態是否包含下列項目：<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ 符合用戶端裝置的裝置群組。
+ 該裝置群組的用戶端裝置授權政策，授予用戶端裝置的 `mqtt:connect`許可。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊，請參閱下列內容：<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)
+ [用戶端裝置身分驗證](client-device-auth-component.md)
+ [建立部署](create-deployments.md)

### MQTT 連線問題 (JavaScript)
<a name="mqtt-connection-javascript-issues"></a>

當您使用 [AWS IoT Device SDK v2 for JavaScript](https://github.com/aws/aws-iot-device-sdk-js-v2) 時，請使用以下資訊對用戶端裝置 MQTT 連線的問題進行故障診斷。

**Topics**
+ [AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred](#mqtt-connection-javascript-issue-protocol-error)
+ [AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred](#mqtt-connection-javascript-issue-unexpected-hangup)

#### AWS\$1ERROR\$1MQTT\$1PROTOCOL\$1ERROR: Protocol error occurred
<a name="mqtt-connection-javascript-issue-protocol-error"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>如果[用戶端裝置身分驗證元件](client-device-auth-component.md)未定義授予用戶端裝置連線許可的用戶端裝置授權政策，您可能會看到此錯誤。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>檢查用戶端裝置身分驗證元件的組態是否包含下列項目：<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ 符合用戶端裝置的裝置群組。
+ 該裝置群組的用戶端裝置授權政策，授予用戶端裝置的 `mqtt:connect`許可。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊，請參閱下列內容：<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)
+ [用戶端裝置身分驗證](client-device-auth-component.md)
+ [建立部署](create-deployments.md)

#### AWS\$1ERROR\$1MQTT\$1UNEXPECTED\$1HANGUP: Unexpected hangup occurred
<a name="mqtt-connection-javascript-issue-unexpected-hangup"></a>

<a name="troubleshooting-mqtt-connection-protocol-error-issue"></a>如果[用戶端裝置身分驗證元件](client-device-auth-component.md)未定義授予用戶端裝置連線許可的用戶端裝置授權政策，您可能會看到此錯誤。

<a name="troubleshooting-mqtt-connection-protocol-error-check-cda-configuration"></a>檢查用戶端裝置身分驗證元件的組態是否包含下列項目：<a name="troubleshooting-mqtt-connection-protocol-error-cda-configuration-checks"></a>
+ 符合用戶端裝置的裝置群組。
+ 該裝置群組的用戶端裝置授權政策，授予用戶端裝置的 `mqtt:connect`許可。

<a name="troubleshooting-mqtt-connection-protocol-error-info-links-intro"></a>如需如何部署和設定用戶端裝置身分驗證元件的詳細資訊，請參閱下列內容：<a name="troubleshooting-mqtt-connection-protocol-error-info-links"></a>
+ [設定雲端探索 （主控台）](connect-client-devices.md#configure-cloud-discovery-console)
+ [用戶端裝置身分驗證](client-device-auth-component.md)
+ [建立部署](create-deployments.md)