View a markdown version of this page

Grup benda dinamis - AWS IoT Core

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

Grup benda dinamis

Grup hal dinamis dibuat dari kueri pencarian tertentu di registri. Parameter kueri pencarian seperti konektivitas perangkat, pembuatan bayangan perangkat, dan data AWS IoT Device Defender pelanggaran mendukung ini. Grup benda dinamis memerlukan pengindeksan armada yang diaktifkan untuk mengindeks, mencari, dan menggabungkan data perangkat Anda. Anda dapat melihat pratinjau hal-hal dalam grup benda dinamis menggunakan permintaan pencarian pengindeksan armada sebelum membuatnya. Untuk informasi selengkapnya, lihat Pengindeksan armada dan Sintaks kueri.

catatan

Operasi grup benda dinamis diukur di bawah operasi registri. Untuk informasi selengkapnya, lihat detail pengukuran AWS IoT Core tambahan.

Grup benda dinamis berbeda dari kelompok benda statis dengan cara berikut:

  • Keanggotaan hal tidak didefinisikan secara eksplisit. Untuk membuat grup benda dinamis, tent ukan string permintaan pencarian untuk menentukan keanggotaan grup.

  • Grup benda dinamis tidak dapat menjadi bagian dari hierarki.

  • Grup hal dinamis tidak dapat menerapkan kebijakan kepada mereka.

  • Anda menggunakan kumpulan perintah yang berbeda untuk membuat, memperbarui, dan menghapus grup benda dinamis. Untuk semua operasi lain, Anda menggunakan perintah yang sama untuk kedua jenis grup benda.

  • Jumlah grup dinam Akun AWS is per terbatas.

  • Jangan gunakan informasi identitas pribadi dalam nama grup barang Anda. Nama grup benda dapat muncul dalam komunikasi dan laporan yang tidak terenkripsi.

Untuk informasi selengkapnya tentang kelompok benda statis, lihatGrup benda statis.

Gunakan kasus grup benda dinamis

Anda dapat menggunakan grup benda dinamis untuk kasus penggunaan berikut:

Tentukan grup benda dinamis sebagai target untuk pekerjaan

Membuat pekerjaan berkelanjutan dengan grup benda dinamis sebagai target memungkinkan Anda untuk secara otomatis menargetkan perangkat ketika mereka memenuhi kriteria yang diinginkan. Kriteria dapat berupa status konektivitas atau kriteria apa pun yang disimpan dalam registri atau bayangan seperti versi perangkat lunak atau model. Jika sesuatu tidak muncul di grup benda dinamis, hal itu tidak akan menerima dokumen pekerjaan dari pekerjaan.

Misalnya, jika armada perangkat Anda memerlukan pembaruan firmware untuk meminimalkan risiko gangguan selama proses pembaruan, dan Anda hanya ingin memperbarui firmware pada perangkat dengan masa pakai baterai lebih dari 80%. Anda dapat membuat grup benda dinamis yang disebut 80 PercentBatteryLife yang hanya mencakup perangkat dengan masa pakai baterai di atas 80% dan menggunakannya sebagai target untuk pekerjaan Anda. Hanya perangkat yang memenuhi kriteria masa pakai baterai Anda yang akan menerima pembaruan firmware. Saat perangkat mencapai kriteria masa pakai baterai 80%, mereka secara otomatis ditambahkan ke grup benda dinamis dan akan menerima pembaruan firmware.

Anda mungkin juga memiliki beberapa model perangkat dengan firmware atau sistem operasi yang berbeda, yang memerlukan versi pembaruan perangkat lunak baru yang berbeda. Ini adalah kasus penggunaan yang paling umum untuk grup dinamis dengan pekerjaan berkelanjutan, di mana Anda dapat membuat grup dinamis untuk setiap model perangkat, firmware, dan kombinasi OS. Anda kemudian dapat mengatur pekerjaan berkelanjutan ke masing-masing grup dinamis ini untuk mendorong pembaruan perangkat lunak karena perangkat secara otomatis menjadi anggota grup ini berdasarkan kriteria yang ditentukan.

Untuk informasi selengkapnya tentang menentukan grup benda sebagai target pekerjaan, lihat CreateJob.

Gunakan perubahan keanggotaan grup dinamis untuk melakukan tindakan yang diinginkan

Setiap kali perangkat ditambahkan ke atau dihapus dari grup benda dinamis, pemberitahuan dikirim ke topik MQTT sebagai bagian dari pembaruan peristiwa registri. Anda dapat mengonfigurasi AWS IoT Core aturan untuk berinteraksi dengan AWS layanan berdasarkan pembaruan keanggotaan grup dinamis dan mengambil tindakan yang diinginkan. Contoh tindakan termasuk menulis ke Amazon DynamoDB, memanggil fungsi Lambda, atau mengirim pemberitahuan ke Amazon SNS.

Menambahkan perangkat ke grup benda dinamis untuk deteksi pelanggaran otomatis

AWS IoT Device Defender Deteksi pelanggan dapat menentukan profil keamanan pada grup benda dinamis. Perangkat dari grup benda dinamis secara otomatis terdeteksi untuk pelanggaran oleh profil keamanan yang ditentukan pada grup.

Tetapkan level log pada grup benda dinamis untuk mengamati perangkat dengan pencatatan halus

Anda dapat menentukan tingkat log pada grup benda dinamis. Ini berguna jika Anda hanya ingin menyesuaikan tingkat dan detail logging untuk perangkat yang memenuhi kriteria tertentu. Misalnya, jika Anda mencurigai perangkat dengan versi firmware tertentu menyebabkan kesalahan pada topik yang diterbitkan aturan tertentu, Anda mungkin ingin mengatur pencatatan terperinci untuk men-debug masalah ini. Dalam hal ini, Anda dapat membuat grup dinamis untuk semua perangkat yang memiliki versi firmware ini, yang kami asumsikan disimpan sebagai atribut registri atau dalam bayangan perangkat. Anda kemudian dapat mengatur level debug, dengan target logging didefinisikan sebagai grup benda dinamis ini. Untuk informasi selengkapnya tentang pencatatan berbutir halus, lihat Meman tau AWS IoT menggunakan CloudWatch Log. Untuk informasi selengkapnya tentang cara menentukan level logging untuk grup hal tertentu, lihat Meng onfigurasi login khusus sumber daya. AWS IoT

Buat grup benda yang dinamis

Gunakan CreateDynamicThingGroup perintah untuk membuat grup benda dinamis. Untuk membuat grup benda dinamis untuk PercentBatteryLife skenario 80, gunakan perintah create-dynamic-thing-group CLI:

$ aws iot create-dynamic-thing-group --thing-group-name "80PercentBatteryLife" --query-string "attributes.batterylife80"
catatan

Jangan gunakan informasi identitas pribadi dalam nama grup benda dinamis Anda.

Per CreateDynamicThingGroup intah mengembalikan respons. Respons berisi nama indeks, string kueri, versi kueri, nama grup benda, ID grup benda, dan Nama Sumber Daya Amazon (ARN) dari grup benda Anda:

{ "indexName": "AWS_Things", "queryVersion": "2017-09-30", "thingGroupName": "80PercentBatteryLife", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/80PercentBatteryLife", "queryString": "attributes.batterylife80\n", "thingGroupId": "abcdefgh12345678ijklmnop12345678qrstuvwx" }

Penciptaan kelompok benda dinamis tidak terjadi sekaligus. Pengisian ulang grup benda dinamis membutuhkan waktu untuk diselesaikan. Saat Anda membuat grup benda dinamis, status grup diatur keBUILDING. Ketika pengisian ulang selesai, status berubah menjadiACTIVE. Untuk memeriksa status grup benda dinamis Anda, gunakan DescribeThingGroup perintah.

Jelaskan kelompok benda yang dinamis

Gunakan DescribeThingGroup perintah untuk mendapatkan informasi tentang grup benda dinamis:

$ aws iot describe-thing-group --thing-group-name "80PercentBatteryLife"

Per DescribeThingGroup intah mengembalikan informasi tentang grup yang ditentukan:

{ "status": "ACTIVE", "indexName": "AWS_Things", "thingGroupName": "80PercentBatteryLife", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/80PercentBatteryLife", "queryString": "attributes.batterylife80\n", "version": 1, "thingGroupMetadata": { "creationDate": 1548716921.289 }, "thingGroupProperties": {}, "queryVersion": "2017-09-30", "thingGroupId": "84dd9b5b-2b98-4c65-84e4-be0e1ecf4fd8" }

Menjalankan DescribeThingGroup pada grup benda dinamis mengembalikan atribut yang spesifik untuk grup benda dinamis. Contoh atribut pengembalian adalah queryString dan status.

Status grup benda dinamis dapat mengambil nilai-nilai berikut:

ACTIVE

Grup benda dinamis siap digunakan.

BUILDING

Grup benda dinamis sedang dibuat, dan keanggotaan benda sedang diproses.

REBUILDING

Keanggotaan grup benda dinamis sedang diperbarui, mengikuti penyesuaian permintaan pencarian grup.

catatan

Setelah Anda membuat grup benda dinamis, gunakan itu terlepas dari statusnya. Hanya grup benda dinamis dengan ACTIVE status yang menyertakan semua hal yang cocok dengan permintaan pencarian untuk grup benda dinamis itu. Grup benda dinamis dengan BUILDING dan REBUILDING status mungkin tidak menyertakan semua hal yang cocok dengan permintaan pencarian.

Memperbarui grup benda dinamis

Gunakan UpdateDynamicThingGroup perintah untuk memperbarui atribut grup benda dinamis, termasuk permintaan pencarian grup. Perintah berikut memperbarui dua atribut. Salah satunya adalah deskripsi grup hal, dan yang lainnya adalah string kueri yang mengubah kriteria keanggotaan menjadi masa pakai baterai> 85:

$ aws iot update-dynamic-thing-group --thing-group-name "80PercentBatteryLife" --thing-group-properties "thingGroupDescription=\"This thing group contains devices with a battery life greater than 85 percent.\"" --query-string "attributes.batterylife85"

Per UpdateDynamicThingGroup intah mengembalikan respons yang berisi nomor versi grup setelah pembaruan:

{ "version": 2 }

Pembaruan grup hal dinamis tidak terjadi sekaligus. Pengisian ulang grup benda dinamis membutuhkan waktu untuk diselesaikan. Saat Anda memperbarui grup benda dinamis, status grup berubah menjadi REBUILDING sementara grup memperbarui keanggotaannya. Ketika pengisian ulang selesai, status berubah menjadiACTIVE. Untuk memeriksa status grup benda dinamis Anda, gunakan DescribeThingGroup perintah.

Menghapus grup benda dinamis

Gunakan DeleteDynamicThingGroup perintah untuk menghapus grup benda dinamis:

$ aws iot delete-dynamic-thing-group --thing-group-name "80PercentBatteryLife"

Per DeleteDynamicThingGroup intah tidak menghasilkan output apa pun.

Perintah yang menunjukkan grup mana yang dimiliki suatu benda (misalnya,ListGroupsForThing) mungkin terus menampilkan grup saat catatan di cloud sedang diperbarui.

Keterbatasan Grup Hal Dinamis dan Statis

Grup benda dinamis dan grup benda statis memiliki batasan berikut:

  • Jumlah atribut yang dapat dimiliki kelompok benda terbatas.

  • Jumlah kelompok yang dapat dimiliki suatu benda terbatas.

  • Anda tidak dapat mengganti nama grup benda.

  • Nama grup benda tidak dapat berisi karakter internasional, seperti û, é, dan ñ.

Batasan Grup Hal Dinamis

Grup benda dinamis memiliki batasan berikut:

Pengindeksan armada

Dengan layanan pengindeksan armada diaktifkan, Anda dapat melakukan kueri penelusuran pada armada perangkat Anda. Anda dapat membuat dan mengelola grup benda dinamis setelah pengisian ulang pengindeksan armada selesai. Waktu penyelesaian untuk proses pengisian ulang secara langsung dipengaruhi oleh ukuran armada perangkat Anda yang terdaftar di. AWS Cloud Setelah Anda mengaktifkan layanan pengindeksan armada untuk grup benda dinamis, Anda tidak dapat menonaktifkannya sampai Anda menghapus semua grup benda dinamis Anda.

catatan

Jika Anda memiliki izin untuk menanyakan indeks armada, Anda dapat mengakses data hal-hal di seluruh armada.

Jumlah kelompok benda dinamis terbatas

Jumlah kelompok benda dinamis terbatas.

Perintah yang berhasil dapat mencatat kesalahan

Saat Anda membuat atau memperbarui grup benda dinamis, ada kemungkinan bahwa beberapa hal memenuhi syarat untuk dimasukkan dalam grup benda dinamis, tetapi mereka tidak ditambahkan ke dalamnya. Skenario itu akan menyebabkan perintah pembuatan atau pembaruan yang berhasil saat mencatat kesalahan dan menghasilkan metrik. AddThingToDynamicThingGroupsFailed Satu metrik dapat mewakili beberapa entri log.

En tri log kesalahan di CloudWatch log dibuat ketika hal berikut terjadi:

  • Hal yang memenuhi syarat tidak dapat ditambahkan ke grup benda dinamis.

  • Suatu hal dihapus dari grup benda dinamis untuk menambahkannya ke grup lain.

Ketika sesuatu memenuhi syarat untuk ditambahkan ke grup benda dinamis, pertimbangkan hal berikut:

  • Apakah benda itu sudah ada dalam kelompok sebanyak mungkin? (Lihat batas)

    • TIDAK: Hal tersebut ditambahkan ke grup benda dinamis.

    • YA: Apakah benda itu anggota kelompok benda dinamis?

      • TIDAK: Hal tersebut tidak dapat ditambahkan ke grup benda dinamis, kesalahan dicatat, dan AddThingToDynamicThingGroupsFailed metrik dihasilkan.

      • YA: Apakah grup benda dinamis yang akan bergabung lebih tua dari grup benda dinamis mana pun yang sudah menjadi anggotanya?

Ketika sesuatu dalam grup benda dinamis tidak lagi memenuhi permintaan pencarian, benda tersebut dihapus dari grup benda dinamis. Demikian juga, ketika sesuatu diperbarui untuk memenuhi permintaan pencarian grup benda dinamis, benda tersebut kemudian ditambahkan ke grup seperti yang dijelaskan sebelumnya. Penambahan dan penghapusan ini normal dan tidak menghasilkan entri log kesalahan.

Dengan peng gantian di DynamicGroups aktifkan, grup statis mengambil prioritas di atas grup dinamis

Jumlah kelompok yang dapat dimiliki suatu benda terbatas. Saat Anda menggunakan UpdateThingGroupsForThing perintah AddThingToThingGroup or untuk memperbarui keanggotaan benda, menambahkan --overrideDynamicGroups parameter memberikan prioritas grup benda statis di atas grup benda dinamis.

Saat Anda menambahkan sesuatu ke grup benda statis, pertimbangkan hal berikut:

  • Apakah benda itu sudah termasuk dalam jumlah kelompok maksimum?

    • TIDAK: Hal tersebut ditambahkan ke grup benda statis.

    • YA: Apakah ada dalam kelompok dinamis apa pun?

      • TIDAK: Hal itu tidak dapat ditambahkan ke grup benda. Perintah tersebut menimbulkan pengecualian.

      • YA: Apakah di --overrideDynamicGroups aktifkan?

        • TIDAK: Hal itu tidak dapat ditambahkan ke grup benda. Perintah menimbulkan pengecualian.

        • YA: Hal tersebut dihapus dari grup benda dinamis yang terbaru dibuat, kesalahan dicatat, dan AddThingToDynamicThingGroupsFailed metrik dihasilkan untuk grup benda dinamis tempat benda itu dihapus. Kemudian, benda tersebut ditambahkan ke grup benda statis.

Grup benda dinamis yang lebih tua lebih diprioritaskan daripada yang lebih baru

Jumlah kelompok yang dapat dimiliki suatu benda terbatas. Ketika operasi pembuatan atau pembaruan membuat kelayakan grup tambahan untuk suatu hal dan benda tersebut telah mencapai batas grupnya, penghapusan dari grup benda dinamis lain dapat terjadi untuk mengaktifkan penambahan ini. Untuk informasi lebih lanjut tentang bagaimana ini terjadi, lihat Perintah yang berhasil dapat mencatat kesalahan dan Dengan peng gantian di DynamicGroups aktifkan, grup statis mengambil prioritas di atas grup dinamis untuk contoh.

Ketika sesuatu dihapus dari grup benda dinamis, kesalahan dicatat dan peristiwa dimunculkan.

Anda tidak dapat menerapkan kebijakan ke grup benda dinamis

Mencoba menerapkan kebijakan ke grup benda dinamis menghasilkan pengecualian.

Keanggotaan kelompok hal dinamis pada akhirnya konsisten

Hanya keadaan akhir suatu hal yang dievaluasi untuk registri. Status perantara dapat dilewati jika status diperbarui dengan cepat. Hindari mengaitkan aturan atau pekerjaan dengan grup benda dinamis yang keanggotaannya bergantung pada status perantara.