Properti agen IoT Edge dan kembar modul hub IoT Edge
Berlaku untuk: IoT Edge 1.5
Penting
IoT Edge 1.5 LTS adalah rilis yang didukung. IoT Edge 1.4 LTS adalah akhir masa pakai per 12 November 2024. Jika Anda menggunakan rilis sebelumnya, lihat Memperbarui IoT Edge.
Agen IoT Edge dan hub IoT Edge adalah dua modul yang membentuk runtime IoT Edge. Untuk informasi selengkapnya tentang tanggung jawab setiap modul runtime, lihat Memahami runtime Azure IoT Edge dan arsitekturnya.
Artikel ini berisi properti yang diinginkan dan properti yang dilaporkan dari modul runtime kembar. Untuk informasi selengkapnya tentang cara menggunakan modul di perangkat IoT Edge, lihat Mempelajari cara menyebarkan modul dan menetapkan rute di IoT Edge.
Modul kembar mencakup:
Properti yang diinginkan. Backend solusi dapat mengatur properti yang diinginkan, dan modul dapat membacanya. Modul juga dapat menerima pemberitahuan perubahan pada properti yang diinginkan. Properti yang diinginkan digunakan bersama dengan properti yang dilaporkan untuk menyinkronkan konfigurasi atau kondisi modul.
Properti yang dilaporkan. Modul dapat mengatur properti yang dilaporkan, dan backend solusi dapat membaca dan memintanya kueri. Properti yang dilaporkan digunakan bersama dengan properti yang diinginkan untuk menyinkronkan konfigurasi atau kondisi modul.
Properti yang diinginkan EdgeAgent
Modul kembar untuk agen IoT Edge dipanggil $edgeAgent
dan mengoordinasikan komunikasi antara agen IoT Edge yang berjalan di perangkat dan IoT Hub. Properti yang diinginkan diatur saat menerapkan manifes penyebaran di perangkat tertentu sebagai bagian dari penyebaran satu-perangkat atau penyebaran luas.
Properti | Deskripsi | Wajib diisi |
---|---|---|
imagePullPolicy | Kapan harus menarik gambar di OnCreate atau Never (Tidak pernah dapat digunakan jika gambar sudah ada di perangkat) | Ya |
restartPolicy | Ketika modul harus dimulai ulang. Nilai yang mungkin adalah: Tidak pernah: jangan mulai ulang modul jika tidak berjalan, Selalu: selalu mulai ulang modul jika tidak berjalan, On-Unhealthy: restart modul jika tidak sehat. Tidak sehat adalah apa yang dilaporkan Docker berdasarkan pemeriksaan kesehatan, misalnya "Tidak Sehat - kontainer tidak berfungsi dengan benar", On-Failed: restart if Failed. | Ya |
runtime.type | Harus docker. | Ya |
runtime.settings.minDockerVersion | Atur ke versi Docker minimum yang diperlukan oleh manifes penyebaran ini. | Ya |
runtime.settings.loggingOptions | JSON yang dirangkai yang berisi opsi pengelogan untuk kontainer agen IoT Edge. Opsi pengelogan Docker | No |
runtime.settings.registryCredentials. {registryId}.username | Nama pengguna registri kontainer. Untuk Azure Container Registry, nama pengguna biasanya berupa nama registri. Informasi masuk registri diperlukan untuk setiap gambar modul pribadi. | No |
runtime.settings.registryCredentials. {registryId}.password | Kata sandi untuk registri kontainer. | No |
runtime.settings.registryCredentials. {registryId}.address | Alamat registri kontainer. Untuk Azure Container Registry, alamat biasanya berupa {nama registri}.azurecr.io. | No |
schemaVersion | Baik 1.0 atau 1.1. Versi 1.1 diperkenalkan dengan IoT Edge versi 1.0.10, dan direkomendasikan. | Ya |
status | Status modul yang diinginkan: Berjalan atau Dihentikan. | Wajib |
systemModules.edgeAgent.type | Harus docker. | Ya |
systemModules.edgeAgent.startupOrder | Nilai bilangan bulat untuk lokasi yang dimiliki modul dalam urutan startup. 0 adalah bilangan bulat pertama dan maks (4294967295) terakhir. Jika nilai tidak disediakan, defaultnya adalah bilangan bulat maks. | No |
systemModules.edgeAgent.settings.image | URI citra agen IoT Edge. Saat ini, agen IoT Edge tidak dapat memperbarui sendiri. | Ya |
systemModules.edgeAgent.settings.createOptions | JSON yang dirangkai yang berisi opsi pembuatan kontainer agen IoT Edge. Opsi pembuatan Docker | No |
systemModules.edgeAgent.configuration.id | ID penyebaran yang menyebarkan modul ini. | IoT Hub menetapkan properti ini saat manifes diterapkan menggunakan penyebaran. Bukan bagian dari manifes penyebaran. |
systemModules.edgeHub.type | Harus docker. | Ya |
systemModules.edgeHub.status | Harus berjalan. | Ya |
systemModules.edgeHub.restartPolicy | Harus selalu. | Ya |
systemModules.edgeHub.startupOrder | Nilai bilangan bulat yang spot-nya dimiliki modul dalam urutan startup. 0 adalah bilangan bulat pertama dan maks (4294967295) terakhir. Jika nilai tidak disediakan, defaultnya adalah bilangan bulat maks. | No |
systemModules.edgeHub.settings.image | URI citra hub IoT Edge. | Ya |
systemModules.edgeHub.settings.createOptions | JSON yang dirangkai yang berisi opsi pembuatan kontainer hub IoT Edge. Opsi pembuatan Docker | No |
systemModules.edgeHub.configuration.id | ID penyebaran yang menyebarkan modul ini. | IoT Hub menetapkan properti ini saat manifes diterapkan menggunakan penyebaran. Bukan bagian dari manifes penyebaran. |
modules.{moduleId}.version | String yang ditentukan pengguna yang mewakili versi modul ini. | Ya |
modules.{moduleId}.type | Harus docker. | Ya |
modules.{moduleId}.status | {running | stop} | Ya |
modules.{moduleId}.restartPolicy | {never | always} | Ya |
modules.{moduleId}.startupOrder | Nilai bilangan bulat untuk lokasi yang dimiliki modul dalam urutan startup. 0 adalah bilangan bulat pertama dan maks (4294967295) terakhir. Jika nilai tidak disediakan, defaultnya adalah bilangan bulat maks. | No |
modules.{moduleId}.imagePullPolicy | {on-create | never} | No |
modules.{moduleId}.env | Daftar variabel lingkungan untuk diteruskan ke modul. Mengambil format "<name>": {"value": "<value>"} . |
No |
modules.{moduleId}.settings.image | URI ke citra modul. | Ya |
modules.{moduleId}.settings.createOptions | JSON yang dirangkai yang berisi opsi pembuatan kontainer modul. Opsi pembuatan Docker | No |
modules.{moduleId}.configuration.id | ID penyebaran yang menyebarkan modul ini. | IoT Hub menetapkan properti ini saat manifes diterapkan menggunakan penyebaran. Bukan bagian dari manifes penyebaran. |
version | Iterasi saat ini yang memiliki versi, penerapan, dan build. | No |
Properti yang dilaporkan EdgeAgent
Properti yang dilaporkan agen IoT Edge mencakup tiga informasi utama:
- Status aplikasi properti yang terakhir dilihat;
- Status modul yang saat ini berjalan pada perangkat, seperti yang dilaporkan oleh agen IoT Edge; dan
- Salinan properti yang diinginkan yang saat ini dijalankan pada perangkat.
Salinan properti yang diinginkan saat ini berguna untuk mengetahui apakah perangkat telah menerapkan penyebaran terbaru atau masih menjalankan manifes penyebaran sebelumnya.
Catatan
Properti yang dilaporkan agen IoT Edge berguna karena dapat dikueri dengan bahasa kueri IoT Hub untuk menyelidiki status penyebaran dalam skala besar. Untuk informasi selengkapnya tentang cara menggunakan properti agen IoT Edge untuk status, lihat Memahami penyebaran IoT Edge untuk satu perangkat atau dalam skala besar.
Tabel berikut ini tidak menyertakan informasi yang disalin dari properti yang diinginkan.
Properti | Deskripsi |
---|---|
lastDesiredStatus.code | Kode status ini mengacu pada properti terakhir yang diinginkan yang dilihat oleh agen IoT Edge. Nilai yang diizinkan: 200 Berhasil, 400 Konfigurasi tidak valid, 412 Versi skema tidak valid, 417 Properti yang diinginkan kosong, 500 Gagal. |
lastDesiredStatus.description | Deskripsi teks status. |
lastDesiredVersion | Bilangan bulat ini mengacu pada versi terakhir properti yang diinginkan yang diproses oleh agen IoT Edge. |
runtime.platform.OS | Melaporkan OS yang berjalan di perangkat. |
runtime.platform.architecture | Melaporkan arsitektur CPU pada perangkat. |
schemaVersion | Versi skema properti yang dilaporkan. |
systemModules.edgeAgent.runtimeStatus | Status agen IoT Edge yang dilaporkan: {menjalankan | tidak sehat}. |
systemModules.edgeAgent.statusDescription | Deskripsi teks tentang status agen IoT Edge yang dilaporkan. |
systemModules.edgeAgent.exitCode | Kode keluar yang dilaporkan oleh kontainer agen IoT Edge jika kontainer keluar. |
systemModules.edgeAgent.lastStartTimeUtc | Waktu ketika agen IoT Edge terakhir kali dimulai. |
systemModules.edgeAgent.lastExitTimeUtc | Waktu ketika agen IoT Edge terakhir kali keluar. |
systemModules.edgeHub.runtimeStatus | Status hub IoT Edge: { menjalankan | | backoff | gagal | gagal tidak sehat }. |
systemModules.edgeHub.statusDescription | Deskripsi teks status hub IoT Edge, jika tidak sehat. |
systemModules.edgeHub.exitCode | Kode keluar yang dilaporkan oleh kontainer hub IoT Edge, jika kontainer keluar. |
systemModules.edgeHub.lastStartTimeUtc | Waktu saat hub IoT Edge terakhir kali dimulai. |
systemModules.edgeHub.lastExitTimeUtc | Waktu ketika hub IoT Edge terakhir kali keluar. |
systemModules.edgeHub.lastRestartTimeUtc | Waktu saat hub IoT Edge terakhir kali dimulai ulang. |
systemModules.edgeHub.restartCount | Frekuensi modul ini dimulai ulang sebagai bagian dari kebijakan mulai ulang. |
modules.{moduleId}.runtimeStatus | Status modul: { menjalankan | backoff | gagal yang dihentikan | | tidak sehat }. |
modules.{moduleId}.statusDescription | Deskripsi teks status modul, jika tidak sehat. |
modules.{moduleId}.exitCode | Kode keluar yang dilaporkan oleh kontainer modul, jika kontainer keluar. |
Modul. {moduleId}.lastStartTimeUtc | Waktu ketika modul terakhir kali dimulai. |
modules.{moduleId}.lastExitTimeUtc | Waktu ketika modul terakhir keluar. |
modules.{moduleId}.lastRestartTimeUtc | Waktu ketika modul terakhir kali dihidupkan ulang. |
modules.{moduleId}.restartCount | Frekuensi modul ini dimulai ulang sebagai bagian dari kebijakan mulai ulang. |
version | Versi gambar. Contoh: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Properti EdgeHub yang diinginkan
Modul kembar untuk hub IoT Edge dipanggil $edgeHub
dan mengoordinasikan komunikasi antara hub IoT Edge yang berjalan di perangkat dan IoT Hub. Properti yang diinginkan diatur saat menerapkan manifes penyebaran di perangkat tertentu sebagai bagian dari penyebaran satu-perangkat atau penyebaran luas.
Properti | Deskripsi | Diperlukan dalam manifes penyebaran |
---|---|---|
schemaVersion | Baik 1.0 atau 1.1. Versi 1.1 diperkenalkan dengan IoT Edge versi 1.0.10, dan direkomendasikan. | Ya |
routes.{routeName} | String yang mewakili rute hub IoT Edge. Untuk informasi selengkapnya, lihat Menyatakan rute. | Elemen routes bisa ada tapi kosong. |
storeAndForwardConfiguration.timeToLiveSecs | Waktu perangkat dalam detik hub IoT Edge menyimpan pesan jika terputus dari titik akhir perutean, baik IoT Hub atau modul lokal. Kali ini berlanjut pada pemadaman listrik atau mulai ulang. Untuk informasi lebih lanjut, lihat Kemampuan offline. | Ya |
Properti yang dilaporkan EdgeHub
Properti | Deskripsi |
---|---|
lastDesiredVersion | Bilangan bulat ini mengacu pada versi terakhir properti yang diinginkan yang diproses oleh hub IoT Edge. |
lastDesiredStatus.code | Kode status mengacu pada properti terakhir yang diinginkan yang dilihat oleh hub IoT Edge. Nilai yang diizinkan: 200 Berhasil, 400 Konfigurasi tidak valid, 500 Gagal |
lastDesiredStatus.description | Deskripsi teks status. |
klien | Semua klien terhubung ke edgeHub dengan status dan waktu terhubung terakhir. Contoh: "klien": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. |
clients.{perangkat atau moduleId}.status | Status konektivitas perangkat atau modul ini. Nilai yang mungkin {tersambung | terputus}. Hanya identitas modul yang dapat berada dalam status terputus. Perangkat hilir yang terhubung ke hub IoT Edge hanya muncul saat terhubung. |
clients.{perangkat atau moduleId}.lastConnectTime | Terakhir kali perangkat atau modul terhubung. |
clients.{perangkat atau moduleId}.lastDisconnectTime | Terakhir kali perangkat atau modul terputus. |
schemaVersion | Versi skema properti yang dilaporkan. |
version | Versi gambar. Contoh: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Langkah berikutnya
Untuk mempelajari cara menggunakan properti ini untuk menyusun manifes penyebaran, lihat Memahami cara menggunakan, mengonfigurasi, dan menggunakan kembali modul IoT Edge.