Memahami modul Azure IoT Edge

Berlaku untuk:Tanda centang IoT Edge 1.5 IoT Edge 1.5 Tanda centang IoT Edge 1.4 IoT Edge 1.4

Penting

IoT Edge 1.5 LTS dan IoT Edge 1.4 LTS adalah rilis yang didukung. IoT Edge 1.4 LTS adalah akhir masa pakai pada 12 November 2024. Jika Anda menggunakan rilis sebelumnya, lihat Memperbarui IoT Edge.

Azure IoT Edge memungkinkan Anda menerapkan dan mengelola logika bisnis di tepi dalam bentuk modul. Modul Azure IoT Edge merupakan unit komputasi terkecil yang dikelola oleh Azure IoT Edge, dan dapat berisi layanan Azure (seperti Azure Stream Analytics) atau kode khusus solusi Anda sendiri. Untuk memahami bagaimana modul dikembangkan, diterapkan, dan dikelola, pertimbangkan empat elemen konseptual modul berikut:

  • Gambar modul adalah paket yang berisi perangkat lunak yang mendefinisikan modul.
  • Instans modul adalah unit komputasi tertentu yang menjalankan gambar modul pada perangkat IoT Edge. Instans modul dimulai oleh runtime IoT Edge.
  • Identitas modul adalah bagian dari informasi (termasuk kredensial keamanan) yang disimpan di IoT Hub yang terkait dengan setiap instans modul.
  • Kembar modul adalah dokumen JSON yang disimpan di IoT Hub yang berisi informasi status untuk instans modul, termasuk metadata, konfigurasi, dan kondisi.

Gambar dan instans modul

Gambar modul IoT Edge berisi aplikasi yang memanfaatkan fitur manajemen, keamanan, dan komunikasi dari runtime IoT Edge. Anda dapat mengembangkan gambar modul Anda sendiri, atau mengekspornya dari layanan Azure yang didukung, seperti Azure Stream Analytics. Gambar ada di cloud dan dapat diperbarui, diubah, dan digunakan dalam solusi yang berbeda-beda. Misalnya, modul yang menggunakan pembelajaran mesin untuk memprediksi output lini produksi ada sebagai gambar terpisah daripada modul yang menggunakan visi komputer untuk mengontrol drone.

Setiap kali gambar modul diterapkan ke perangkat dan dimulai oleh runtime IoT Edge, contoh baru dari modul tersebut dibuat. Dua perangkat di berbagai belahan dunia dapat menggunakan gambar modul yang sama. Namun, setiap perangkat akan memiliki instans modulnya tersendiri ketika modul dimulai pada perangkat.

Diagram - Gambar modul di cloud, instans modul di perangkat

Dalam implementasinya, gambar modul ada sebagai gambar kontainer di repositori, dan instans modul adalah kontainer di perangkat.

Identitas modul

Ketika instans modul baru dibuat oleh runtime IoT Edge, instans tersebut mendapatkan identitas modul yang sesuai. Identitas modul disimpan di IoT Hub, dan digunakan sebagai ruang lingkup alamat dan keamanan untuk semua komunikasi lokal dan cloud untuk instans modul tersebut.

Identitas yang terkait dengan instans modul bergantung pada identitas perangkat tempat instans berjalan dan nama yang Anda berikan ke modul tersebut dalam solusi Anda. Misalnya, jika Anda memanggil insight modul yang menggunakan Azure Stream Analytics, dan Anda menerapkannya di perangkat yang disebut Hannover01, runtime IoT Edge akan membuat identitas modul terkait yang disebut /devices/Hannover01/modules/insight.

Lebih jelasnya, dalam skenario ketika Anda perlu menyebarkan satu gambar modul beberapa kali pada perangkat yang sama, Anda dapat menyebarkan gambar yang sama beberapa kali dengan nama yang berbeda.

Diagram - Identitas modul bersifat unik dalam perangkat dan di seluruh perangkat

Kembaran modul

Setiap instans modul juga memiliki modul kembar yang sesuai yang dapat Anda gunakan untuk mengonfigurasi instans modul. Modul instans dan modul kembar dikaitkan satu sama lain melalui identitas modul.

Modul kembar adalah dokumen JSON yang menyimpan informasi modul dan properti konfigurasi. Konsep ini serupa dengan konsep peranti kembar dari IoT Hub. Struktur dari modul kembar sama dengan kembaran perangkat. API yang digunakan untuk berinteraksi dengan kedua jenis kembar juga sama. Satu-satunya perbedaan di antara keduanya adalah identitas yang digunakan untuk membuat instans SDK klien.

// Create a ModuleClient object. This ModuleClient will act on behalf of a
// module since it is created with a module’s connection string instead
// of a device connection string.
ModuleClient client = new ModuleClient.CreateFromEnvironmentAsync(settings);
await client.OpenAsync();

// Get the module twin
Twin twin = await client.GetTwinAsync();

Kapabilitas offline

Modul Azure IoT Edge dapat beroperasi offline tanpa batas waktu setelah disinkronkan dengan IoT Hub setidaknya sekali. Perangkat IoT Edge juga dapat memperluas kemampuan offline ini ke perangkat IoT lainnya. Untuk informasi selengkapnya, lihat Memahami kemampuan offline yang diperluas untuk perangkat, modul, dan perangkat hilir IoT Edge.

Langkah berikutnya