Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan Masalah Pengindeksan Armada
Memecahkan masalah kueri agregasi untuk layanan pengindeksan armada
Jika Anda mengalami kesalahan jenis ketidakcocokan, Anda dapat menggunakan CloudWatch Log untuk memecahkan masalah. CloudWatch Log harus diaktifkan sebelum log ditulis oleh layanan Pengindeksan Armada. Untuk informasi selengkapnya, lihat Monitor AWS IoT menggunakan CloudWatch Log.
Untuk membuat kueri agregasi pada bidang yang tidak dikelola, Anda harus menentukan bidang yang Anda tetapkan dalam customFields
argumen yang diteruskan ke atau. UpdateIndexingConfiguration
update-indexing-configuration Jika nilai bidang tidak konsisten dengan tipe data bidang yang dikonfigurasi, nilai ini diabaikan saat Anda melakukan kueri agregasi.
Jika bidang tidak dapat diindeks karena jenis yang tidak cocok, layanan Pengindeksan Armada akan mengirimkan log kesalahan ke Log. CloudWatch Log kesalahan berisi nama bidang, nilai yang tidak dapat dikonversi, dan nama benda untuk perangkat. Berikut ini adalah contoh log kesalahan:
{ "timestamp": "2017-02-20 20:31:22.932", "logLevel": "ERROR", "traceId": "79738924-1025-3a00-a669-7bec69f7f07a", "accountId": "000000000000", "status": "SucceededWithIssues", "eventType": "IndexingCustomFieldFailed", "thingName": "thing0", "failedCustomFields": [ { "Name": "attributeName1", "Value": "apple", "ExpectedType": "String" }, { "Name": "attributeName2", "Value": "2", "ExpectedType": "Boolean" } ] }
Jika perangkat telah terputus selama kurang lebih satu jam, timestamp
nilai status konektivitas mungkin hilang. Untuk sesi persisten, nilainya mungkin hilang setelah klien terputus lebih lama dari konfigurasi time-to-live (TTL) untuk sesi persisten. Data status konektivitas diindeks hanya untuk koneksi di mana ID klien memiliki nama benda yang cocok. (ID klien adalah nilai yang digunakan untuk menghubungkan perangkat ke AWS IoT Core.)
Memecahkan masalah konfigurasi pengindeksan armada
Tidak dapat menurunkan konfigurasi pengindeksan armada
Menurunkan konfigurasi pengindeksan armada tidak didukung saat Anda ingin menghapus sumber data yang terkait dengan metrik armada atau grup dinamis.
Misalnya, jika konfigurasi pengindeksan Anda memiliki data registri, data bayangan, dan data konektivitas, dan metrik armada ada dengan kuerithingName:TempSensor*
AND shadow.desired.temperature>80
, memperbarui konfigurasi pengindeksan untuk menyertakan hanya data registri akan mengakibatkan kesalahan.
Memodifikasi bidang kustom yang digunakan oleh metrik armada yang ada tidak didukung.
Tidak dapat memperbarui konfigurasi pengindeksan karena metrik armada atau grup dinamis yang tidak kompatibel
Jika Anda tidak dapat memperbarui konfigurasi pengindeksan karena metrik armada atau grup dinamis yang tidak kompatibel, hapus metrik armada atau grup dinamis yang tidak kompatibel sebelum memperbarui konfigurasi pengindeksan.
Memecahkan masalah pengindeksan lokasi dan geoquery
Untuk memecahkan masalah kesalahan jenis yang tidak cocok dalam pengindeksan lokasi dan geoquery, Anda dapat mengaktifkan log. CloudWatch Untuk informasi lebih lanjut tentang cara memantau AWS IoT penggunaan CloudWatch, ikuti step-by-steppanduan ini.
Saat Anda mengindeks data lokasi menggunakan geoquery, bidang lokasi yang Anda tentukan geoLocations
harus cocok dengan bidang lokasi yang Anda berikan. UpdateIndexingConfiguration
Jika ada ketidakcocokan, pengindeksan armada mengirimkan kesalahan tipe yang tidak cocok ke. CloudWatch Log kesalahan berisi nama bidang, nilai yang tidak dapat dikonversi, dan nama benda untuk perangkat.
Berikut ini adalah contoh log kesalahan:
{ "timestamp": "2023-11-09 01:39:43.466", "logLevel": "ERROR", "traceId": "79738924-1025-3a00-a669-7bec69f7f07a", "accountId": "123456789012", "status": "Failure", "eventType": "IndexingGeoLocationFieldFailed", "thingName": "thing0", "failedGeolocationFields": [ { "Name": "attributeName1", "Value": "apple", "ExpectedType": "Geopoint" } ], "reason": "failed to index the field because it could not be converted to one of the expected geoLocation formats." }
Untuk informasi selengkapnya, lihat Pengindeksan data lokasi.
Pemecahan masalah metrik armada
Tidak dapat melihat titik data di CloudWatch
Jika Anda dapat membuat metrik armada tetapi Anda tidak dapat melihat titik data CloudWatch, kemungkinan Anda tidak memiliki sesuatu yang memenuhi kriteria string kueri.
Lihat contoh perintah ini tentang cara membuat metrik armada:
aws iot create-fleet-metric --metric-name "example_FM" --query-string "thingName:TempSensor* AND attributes.temperature>80" --period 60 --aggregation-field "attributes.temperature" --aggregation-type name=Statistics,values=count
Jika Anda tidak memiliki sesuatu yang memenuhi kriteria string kueri--query-string
"thingName:TempSensor* AND attributes.temperature>80"
:
-
Dengan
values=count
, Anda akan dapat membuat metrik armada dan akan ada titik data untuk ditampilkan CloudWatch. Titik data dari nilaicount
selalu 0. -
Dengan
values
selain itucount
, Anda akan dapat membuat metrik armada tetapi Anda tidak akan melihat metrik armada CloudWatch dan tidak akan ada titik data untuk ditampilkan CloudWatch.