Menyelesaikan masalah perangkat klien - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyelesaikan masalah perangkat klien

Gunakan informasi pemecahan masalah dan solusi di bagian ini untuk membantu menyelesaikan masalah dengan perangkat klien Greengrass dan komponen perangkat klien.

Masalah penemuan Greengrass

Gunakan informasi berikut untuk memecahkan masalah dengan penemuan Greengrass. Masalah ini dapat terjadi ketika perangkat klien menggunakan API penemuan Greengrass untuk mengidentifikasi perangkat inti Greengrass yang dapat mereka hubungkan.

Masalah penemuan Greengrass (HTTP API)

Gunakan informasi berikut untuk memecahkan masalah dengan penemuan Greengrass. Anda mungkin melihat kesalahan ini jika Anda menguji API penemuan dengan cURL.

curl: (52) Empty reply from server

Anda mungkin melihat kesalahan ini jika Anda menentukan sertifikat AWS IoT dalam permintaan.

Periksa apakah perangkat klien memiliki sertifikat terlampir, dan apakah sertifikat itu aktif. Untuk informasi selengkapnya, lihat Lampirkan objek atau kebijakan ke sertifikat klien dan Aktifkan atau nonaktifkan sertifikat klien dalam Panduan Developer AWS IoT Core.

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

Anda mungkin melihat kesalahan ini jika perangkat klien tidak memiliki izin untuk memanggil greengrass:Discover untuk dirinya sendiri.

Periksa apakah sertifikat perangkat klien memiliki kebijakan yang mengizinkan greengrass:Discover. Anda tidak dapat menggunakan variabel kebijakan (iot:Connection.Thing.*) di bagian Resource untuk izin ini. Untuk informasi selengkapnya, lihat Autentikasi dan otorisasi penemuan.

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

Anda mungkin melihat kesalahan ini dalam kasus berikut:

Periksa apakah perangkat klien terkait ke perangkat inti yang Anda inginkan untuk terhubung. Kemudian, periksa apakah perangkat inti menjalankan komponen autentikasi perangkat klien dan memiliki setidaknya satu titik akhir broker MQTT. Untuk informasi selengkapnya, lihat hal berikut:

Masalah penemuan Greengrass (AWS IoT Device SDK v2 for Python)

Gunakan informasi berikut untuk memecahkan masalah dengan penemuan Greengrass di AWS IoT Device SDK v2 for Python.

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

Anda mungkin melihat kesalahan ini jika Anda menentukan sertifikat AWS IoT yang tidak aktif dalam permintaan.

Periksa apakah perangkat klien memiliki sertifikat terlampir, dan apakah sertifikat itu aktif. Untuk informasi selengkapnya, lihat Lampirkan objek atau kebijakan ke sertifikat klien dan Aktifkan atau nonaktifkan sertifikat klien dalam Panduan Developer AWS IoT Core.

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

Anda mungkin melihat kesalahan ini jika perangkat klien tidak memiliki izin untuk memanggil greengrass:Discover untuk dirinya sendiri.

Periksa apakah sertifikat perangkat klien memiliki kebijakan yang mengizinkan greengrass:Discover. Anda tidak dapat menggunakan variabel kebijakan (iot:Connection.Thing.*) di bagian Resource untuk izin ini. Untuk informasi selengkapnya, lihat Autentikasi dan otorisasi penemuan.

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

Anda mungkin melihat kesalahan ini dalam kasus berikut:

Periksa apakah perangkat klien terkait ke perangkat inti yang Anda inginkan untuk terhubung. Kemudian, periksa apakah perangkat inti menjalankan komponen autentikasi perangkat klien dan memiliki setidaknya satu titik akhir broker MQTT. Untuk informasi selengkapnya, lihat hal berikut:

Masalah penemuan Greengrass (AWS IoT Device SDK v2 for C++)

Gunakan informasi berikut untuk memecahkan masalah dengan penemuan Greengrass di AWS IoT Device SDK v2 for C++.

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

Anda mungkin melihat kesalahan ini jika Anda menentukan sertifikat AWS IoT yang tidak aktif dalam permintaan.

Periksa apakah perangkat klien memiliki sertifikat terlampir, dan apakah sertifikat itu aktif. Untuk informasi selengkapnya, lihat Lampirkan objek atau kebijakan ke sertifikat klien dan Aktifkan atau nonaktifkan sertifikat klien dalam Panduan Developer AWS IoT Core.

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

Anda mungkin melihat kesalahan ini jika perangkat klien tidak memiliki izin untuk memanggil greengrass:Discover untuk dirinya sendiri.

Periksa apakah sertifikat perangkat klien memiliki kebijakan yang mengizinkan greengrass:Discover. Anda tidak dapat menggunakan variabel kebijakan (iot:Connection.Thing.*) di bagian Resource untuk izin ini. Untuk informasi selengkapnya, lihat Autentikasi dan otorisasi penemuan.

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

Anda mungkin melihat kesalahan ini dalam kasus berikut:

Periksa apakah perangkat klien terkait ke perangkat inti yang Anda inginkan untuk terhubung. Kemudian, periksa apakah perangkat inti menjalankan komponen autentikasi perangkat klien dan memiliki setidaknya satu titik akhir broker MQTT. Untuk informasi selengkapnya, lihat hal berikut:

Masalah penemuan Greengrass (v2 untuk) AWS IoT Device SDK JavaScript

Gunakan informasi berikut untuk memecahkan masalah dengan penemuan Greengrass di v2 untuk. AWS IoT Device SDK JavaScript

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

Anda mungkin melihat kesalahan ini jika Anda menentukan sertifikat AWS IoT yang tidak aktif dalam permintaan.

Periksa apakah perangkat klien memiliki sertifikat terlampir, dan apakah sertifikat itu aktif. Untuk informasi selengkapnya, lihat Lampirkan objek atau kebijakan ke sertifikat klien dan Aktifkan atau nonaktifkan sertifikat klien dalam Panduan Developer AWS IoT Core.

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

Anda mungkin melihat kesalahan ini jika perangkat klien tidak memiliki izin untuk memanggil greengrass:Discover untuk dirinya sendiri.

Periksa apakah sertifikat perangkat klien memiliki kebijakan yang mengizinkan greengrass:Discover. Anda tidak dapat menggunakan variabel kebijakan (iot:Connection.Thing.*) di bagian Resource untuk izin ini. Untuk informasi selengkapnya, lihat Autentikasi dan otorisasi penemuan.

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

Anda mungkin melihat kesalahan ini dalam kasus berikut:

Periksa apakah perangkat klien terkait ke perangkat inti yang Anda inginkan untuk terhubung. Kemudian, periksa apakah perangkat inti menjalankan komponen autentikasi perangkat klien dan memiliki setidaknya satu titik akhir broker MQTT. Untuk informasi selengkapnya, lihat hal berikut:

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

Anda mungkin melihat kesalahan ini (tanpa kode respons HTTP) ketika Anda menjalankan sampel penemuan Greengrass. Kesalahan ini dapat terjadi karena berbagai alasan.

Masalah penemuan Greengrass (v2 for Java AWS IoT Device SDK)

Gunakan informasi berikut untuk memecahkan masalah dengan penemuan Greengrass di AWS IoT Device SDK v2 for 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.)

Anda mungkin melihat kesalahan ini jika Anda menentukan sertifikat AWS IoT yang tidak aktif dalam permintaan.

Periksa apakah perangkat klien memiliki sertifikat terlampir, dan apakah sertifikat itu aktif. Untuk informasi selengkapnya, lihat Lampirkan objek atau kebijakan ke sertifikat klien dan Aktifkan atau nonaktifkan sertifikat klien dalam Panduan Developer AWS IoT Core.

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

Anda mungkin melihat kesalahan ini jika perangkat klien tidak memiliki izin untuk memanggil greengrass:Discover untuk dirinya sendiri.

Periksa apakah sertifikat perangkat klien memiliki kebijakan yang mengizinkan greengrass:Discover. Anda tidak dapat menggunakan variabel kebijakan (iot:Connection.Thing.*) di bagian Resource untuk izin ini. Untuk informasi selengkapnya, lihat Autentikasi dan otorisasi penemuan.

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

Anda mungkin melihat kesalahan ini dalam kasus berikut:

Periksa apakah perangkat klien terkait ke perangkat inti yang Anda inginkan untuk terhubung. Kemudian, periksa apakah perangkat inti menjalankan komponen autentikasi perangkat klien dan memiliki setidaknya satu titik akhir broker MQTT. Untuk informasi selengkapnya, lihat hal berikut:

Masalah koneksi MQTT

Gunakan informasi berikut untuk memecahkan masalah dengan koneksi MQTT perangkat klien. Masalah ini dapat terjadi ketika perangkat klien mencoba terhubung ke perangkat inti melalui MQTT.

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

Anda mungkin melihat kesalahan ini di log Greengrass saat perangkat klien mencoba berlangganan topik MQTT yang tidak memiliki izin. Pesan kesalahan mencakup topik.

Periksa apakah konfigurasi komponen autentikasi perangkat klien mencakup yang berikut ini:

  • Grup perangkat yang cocok dengan perangkat klien.

  • Kebijakan otorisasi perangkat klien untuk grup perangkat yang memberikan mqtt:subscribe izin untuk topik tersebut.

Untuk informasi selengkapnya tentang cara menerapkan dan mengonfigurasi komponen autentikasi perangkat klien, lihat berikut ini:

Masalah koneksi MQTT (Python)

Gunakan informasi berikut untuk memecahkan masalah dengan koneksi MQTT perangkat klien saat Anda menggunakan v2 untuk Python. AWS IoT Device SDK

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Anda mungkin melihat kesalahan ini jika komponen autentikasi perangkat klien tidak menentukan kebijakan otorisasi perangkat klien yang memberikan izin perangkat klien untuk terhubung.

Periksa apakah konfigurasi komponen autentikasi perangkat klien menyertakan yang berikut ini:

  • Grup perangkat yang cocok dengan perangkat klien.

  • Kebijakan otorisasi perangkat klien untuk grup perangkat yang memberikan mqtt:connect izin untuk perangkat klien.

Untuk informasi selengkapnya tentang cara menerapkan dan mengonfigurasi komponen autentikasi perangkat klien, lihat berikut ini:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Anda mungkin melihat kesalahan ini jika komponen autentikasi perangkat klien tidak menentukan kebijakan otorisasi perangkat klien yang memberikan izin perangkat klien untuk terhubung.

Periksa apakah konfigurasi komponen autentikasi perangkat klien menyertakan yang berikut ini:

  • Grup perangkat yang cocok dengan perangkat klien.

  • Kebijakan otorisasi perangkat klien untuk grup perangkat yang memberikan mqtt:connect izin untuk perangkat klien.

Untuk informasi selengkapnya tentang cara menerapkan dan mengonfigurasi komponen autentikasi perangkat klien, lihat berikut ini:

Masalah koneksi MQTT (C ++)

Gunakan informasi berikut untuk memecahkan masalah dengan koneksi MQTT perangkat klien saat Anda menggunakan v2 untuk C++. AWS IoT Device SDK

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Anda mungkin melihat kesalahan ini jika komponen autentikasi perangkat klien tidak menentukan kebijakan otorisasi perangkat klien yang memberikan izin perangkat klien untuk terhubung.

Periksa apakah konfigurasi komponen autentikasi perangkat klien menyertakan yang berikut ini:

  • Grup perangkat yang cocok dengan perangkat klien.

  • Kebijakan otorisasi perangkat klien untuk grup perangkat yang memberikan mqtt:connect izin untuk perangkat klien.

Untuk informasi selengkapnya tentang cara menerapkan dan mengonfigurasi komponen autentikasi perangkat klien, lihat berikut ini:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Anda mungkin melihat kesalahan ini jika komponen autentikasi perangkat klien tidak menentukan kebijakan otorisasi perangkat klien yang memberikan izin perangkat klien untuk terhubung.

Periksa apakah konfigurasi komponen autentikasi perangkat klien menyertakan yang berikut ini:

  • Grup perangkat yang cocok dengan perangkat klien.

  • Kebijakan otorisasi perangkat klien untuk grup perangkat yang memberikan mqtt:connect izin untuk perangkat klien.

Untuk informasi selengkapnya tentang cara menerapkan dan mengonfigurasi komponen autentikasi perangkat klien, lihat berikut ini:

Masalah koneksi MQTT (Java)

Gunakan informasi berikut untuk memecahkan masalah dengan koneksi MQTT perangkat klien saat Anda menggunakan v2 untuk Java. AWS IoT Device SDK

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

Anda mungkin melihat kesalahan ini jika komponen autentikasi perangkat klien tidak menentukan kebijakan otorisasi perangkat klien yang memberikan izin perangkat klien untuk terhubung.

Periksa apakah konfigurasi komponen autentikasi perangkat klien menyertakan yang berikut ini:

  • Grup perangkat yang cocok dengan perangkat klien.

  • Kebijakan otorisasi perangkat klien untuk grup perangkat yang memberikan mqtt:connect izin untuk perangkat klien.

Untuk informasi selengkapnya tentang cara menerapkan dan mengonfigurasi komponen autentikasi perangkat klien, lihat berikut ini:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Anda mungkin melihat kesalahan ini jika komponen autentikasi perangkat klien tidak menentukan kebijakan otorisasi perangkat klien yang memberikan izin perangkat klien untuk terhubung.

Periksa apakah konfigurasi komponen autentikasi perangkat klien menyertakan yang berikut ini:

  • Grup perangkat yang cocok dengan perangkat klien.

  • Kebijakan otorisasi perangkat klien untuk grup perangkat yang memberikan mqtt:connect izin untuk perangkat klien.

Untuk informasi selengkapnya tentang cara menerapkan dan mengonfigurasi komponen autentikasi perangkat klien, lihat berikut ini:

Masalah koneksi MQTT () JavaScript

Gunakan informasi berikut untuk memecahkan masalah dengan koneksi MQTT perangkat klien saat Anda menggunakan v2 untuk. AWS IoT Device SDK JavaScript

AWS_ERROR_MQTT_PROTOCOL_ERROR: Protocol error occurred

Anda mungkin melihat kesalahan ini jika komponen autentikasi perangkat klien tidak menentukan kebijakan otorisasi perangkat klien yang memberikan izin perangkat klien untuk terhubung.

Periksa apakah konfigurasi komponen autentikasi perangkat klien menyertakan yang berikut ini:

  • Grup perangkat yang cocok dengan perangkat klien.

  • Kebijakan otorisasi perangkat klien untuk grup perangkat yang memberikan mqtt:connect izin untuk perangkat klien.

Untuk informasi selengkapnya tentang cara menerapkan dan mengonfigurasi komponen autentikasi perangkat klien, lihat berikut ini:

AWS_ERROR_MQTT_UNEXPECTED_HANGUP: Unexpected hangup occurred

Anda mungkin melihat kesalahan ini jika komponen autentikasi perangkat klien tidak menentukan kebijakan otorisasi perangkat klien yang memberikan izin perangkat klien untuk terhubung.

Periksa apakah konfigurasi komponen autentikasi perangkat klien menyertakan yang berikut ini:

  • Grup perangkat yang cocok dengan perangkat klien.

  • Kebijakan otorisasi perangkat klien untuk grup perangkat yang memberikan mqtt:connect izin untuk perangkat klien.

Untuk informasi selengkapnya tentang cara menerapkan dan mengonfigurasi komponen autentikasi perangkat klien, lihat berikut ini: