Kelompok hal yang dinamis - AWS IoT Core

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

Kelompok hal yang dinamis

Grup benda dinamis dibuat dari kueri penelusuran tertentu di registri. Parameter kueri penelusuran seperti konektivitas perangkat, pembuatan bayangan perangkat, dan data AWS IoT Device Defender pelanggaran mendukung hal ini. Grup benda dinamis memerlukan pengindeksan armada yang diaktifkan untuk mengindeks, mencari, dan mengumpulkan data perangkat Anda. Anda dapat melihat pratinjau hal-hal dalam grup hal dinamis menggunakan kueri penelusuran 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.

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

  • Keanggotaan hal tidak didefinisikan secara eksplisit. Untuk membuat grup hal dinamis, tentukan string kueri penelusuran untuk menentukan keanggotaan grup.

  • Kelompok benda dinamis tidak dapat menjadi bagian dari hierarki.

  • Grup benda dinamis tidak dapat menerapkan kebijakan pada mereka.

  • Anda menggunakan serangkaian perintah yang berbeda untuk membuat, memperbarui, dan menghapus grup hal dinamis. Untuk semua operasi lainnya, Anda menggunakan perintah yang sama untuk kedua jenis grup hal.

  • Jumlah grup dinamis per Akun AWS terbatas.

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

Untuk informasi selengkapnya tentang grup benda statis, lihatKelompok benda statis.

Gunakan kasus kelompok benda dinamis

Anda dapat menggunakan grup benda dinamis untuk kasus penggunaan berikut:

Tentukan grup benda dinamis sebagai target pekerjaan

Membuat pekerjaan berkelanjutan dengan kelompok hal 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 hal dinamis, 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 bernama 80 PercentBatteryLife yang hanya menyertakan 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 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 untuk 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 kelompok benda sebagai target pekerjaan, lihat CreateJob.

Gunakan perubahan keanggotaan grup dinamis untuk melakukan tindakan yang diinginkan

Setiap kali perangkat ditambahkan atau dihapus dari grup hal dinamis, pemberitahuan dikirim ke topik MQTT sebagai bagian dari pembaruan acara 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.

Tambahkan perangkat ke grup benda dinamis untuk deteksi pelanggaran otomatis

AWS IoT Device Defender Deteksi pelanggan dapat menentukan profil keamanan pada grup hal dinamis. Perangkat 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 logging berbutir halus

Anda dapat menentukan tingkat log pada grup hal dinamis. Ini berguna jika Anda hanya ingin menyesuaikan tingkat logging dan detail untuk perangkat yang memenuhi kriteria tertentu. Misalnya, jika Anda mencurigai perangkat dengan versi firmware tertentu menyebabkan kesalahan pada topik yang dipublikasikan aturan tertentu, Anda mungkin ingin menyetel 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 tingkat debug, dengan target logging didefinisikan sebagai grup hal dinamis ini. Untuk informasi selengkapnya tentang logging berbutir halus, lihat Memantau AWS IoT menggunakan Log. CloudWatch Untuk informasi selengkapnya tentang cara menentukan tingkat logging untuk grup hal tertentu, lihat Mengonfigurasi login khusus sumber daya. AWS IoT

Buat grup hal 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 yang dapat diidentifikasi secara pribadi dalam nama grup benda dinamis Anda.

CreateDynamicThingGroupPerintah mengembalikan respons. Respons berisi nama indeks, string kueri, versi kueri, nama grup benda, ID grup benda, dan Nama Sumber Daya Amazon (ARN) dari grup hal 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. Isi ulang grup hal dinamis membutuhkan waktu untuk diselesaikan. Saat Anda membuat grup benda dinamis, status grup diatur keBUILDING. Ketika isi ulang selesai, status berubah menjadiACTIVE. Untuk memeriksa status grup benda dinamis Anda, gunakan perintah DescribeThingGrup.

Jelaskan kelompok hal yang dinamis

Gunakan DescribeThingGroup perintah untuk mendapatkan informasi tentang grup hal dinamis:

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

DescribeThingGroupPerintah mengembalikan informasi tentang kelompok tertentu:

{ "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" }

Berjalan DescribeThingGroup pada grup hal dinamis mengembalikan atribut yang khusus untuk grup hal dinamis. Contoh atribut kembali adalah QueryString dan status.

Status grup benda dinamis dapat mengambil nilai-nilai berikut:

ACTIVE

Kelompok benda dinamis siap digunakan.

BUILDING

Grup hal dinamis sedang dibuat, dan keanggotaan sedang diproses.

REBUILDING

Keanggotaan grup hal dinamis sedang diperbarui, mengikuti penyesuaian kueri penelusuran 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 kueri penelusuran untuk grup hal dinamis itu. Grup benda dinamis dengan BUILDING dan REBUILDING status mungkin tidak menyertakan semua hal yang cocok dengan kueri penelusuran.

Perbarui grup hal dinamis

Gunakan UpdateDynamicThingGroup perintah untuk memperbarui atribut grup benda dinamis, termasuk kueri penelusuran grup. Perintah berikut memperbarui dua atribut. Salah satunya adalah deskripsi grup benda, 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"

UpdateDynamicThingGroupPerintah mengembalikan respons yang berisi nomor versi grup setelah pembaruan:

{ "version": 2 }

Pembaruan grup hal dinamis tidak terjadi sekaligus. Isi ulang grup hal dinamis membutuhkan waktu untuk diselesaikan. Saat Anda memperbarui grup hal dinamis, status grup berubah menjadi REBUILDING saat grup memperbarui keanggotaannya. Ketika isi ulang selesai, status berubah menjadiACTIVE. Untuk memeriksa status grup benda dinamis Anda, gunakan perintah DescribeThingGrup.

Hapus grup benda dinamis

Gunakan DeleteDynamicThingGroup perintah untuk menghapus grup hal dinamis:

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

DeleteDynamicThingGroupPerintah tidak menghasilkan output apa pun.

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

Batasan Grup Hal Dinamis dan Statis

Grup benda dinamis dan grup benda statis berbagi 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

Kelompok benda dinamis memiliki keterbatasan sebagai berikut:

Pengindeksan armada

Dengan mengaktifkan layanan pengindeksan armada, Anda dapat melakukan kueri penelusuran di armada perangkat Anda. Anda dapat membuat dan mengelola grup benda dinamis setelah pengisian ulang pengindeksan armada selesai. Waktu penyelesaian untuk proses pengurukan langsung dipengaruhi oleh ukuran armada perangkat Anda yang terdaftar di. AWS Cloud Setelah Anda mengaktifkan layanan pengindeksan armada untuk grup hal 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 berbagai 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 hal dinamis, ada kemungkinan beberapa hal memenuhi syarat untuk dimasukkan dalam grup hal dinamis, tetapi tidak ditambahkan ke dalamnya. Skenario itu akan menyebabkan perintah buat atau perbarui yang berhasil saat mencatat kesalahan dan menghasilkan metrik. AddThingToDynamicThingGroupsFailed Sebuah metrik tunggal dapat mewakili beberapa entri log.

Entri log kesalahan di CloudWatch log dibuat ketika hal berikut terjadi:

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

  • Sesuatu dihapus dari grup benda dinamis untuk menambahkannya ke grup lain.

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

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

    • TIDAK: Benda itu ditambahkan ke grup hal dinamis.

    • YA: Apakah benda itu anggota dari kelompok benda dinamis?

      • TIDAK: Masalahnya tidak dapat ditambahkan ke grup hal dinamis, kesalahan dicatat, dan AddThingToDynamicThingGroupsFailedmetrik dihasilkan.

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

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

Dengan overrideDynamicGroups diaktifkan, grup statis lebih diprioritaskan daripada grup dinamis

Jumlah kelompok yang dapat dimiliki suatu benda terbatas. Saat Anda menggunakan perintah AddThingToThingGrup atau UpdateThingGroupsForBenda untuk memperbarui keanggotaan sesuatu, menambahkan --overrideDynamicGroups parameter memberikan prioritas grup benda statis daripada grup hal dinamis.

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

  • Apakah benda itu sudah termasuk dalam jumlah kelompok maksimum?

    • TIDAK: Benda itu ditambahkan ke grup benda statis.

    • YA: Apakah ada dalam kelompok dinamis?

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

      • YA: --overrideDynamicGroups Diaktifkan?

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

        • YA: Masalahnya dihapus dari grup hal dinamis yang terbaru dibuat, kesalahan dicatat, dan AddThingToDynamicThingGroupsFailedmetrik dihasilkan untuk grup hal dinamis dari mana benda itu dihapus. Kemudian, benda itu ditambahkan ke grup benda statis.

Kelompok hal dinamis yang lebih lama diprioritaskan daripada yang lebih baru

Jumlah kelompok yang dapat dimiliki suatu benda terbatas. Ketika operasi buat atau perbarui membuat kelayakan grup tambahan untuk suatu hal dan benda tersebut telah mencapai batas grupnya, penghapusan dari grup hal dinamis lain dapat terjadi untuk mengaktifkan penambahan ini. Untuk informasi lebih lanjut tentang bagaimana hal ini terjadi, lihat Perintah yang berhasil dapat mencatat kesalahan dan Dengan overrideDynamicGroups diaktifkan, grup statis lebih diprioritaskan daripada grup dinamis untuk contoh.

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

Anda tidak dapat menerapkan kebijakan ke grup benda dinamis

Mencoba menerapkan kebijakan ke grup hal dinamis menghasilkan pengecualian.

Keanggotaan grup hal dinamis pada akhirnya konsisten

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