Bagikan melalui


Menyebarkan modul Azure IoT Edge dengan Azure CLI

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.

Setelah membuat modul Azure IoT Edge dengan logika bisnis, Anda ingin menyebarkannya ke perangkat Anda untuk beroperasi di tepi. Jika Anda memiliki beberapa modul yang bekerja sama untuk mengumpulkan dan memproses data, Anda dapat menyebarkannya sekaligus. Anda juga dapat mendeklarasikan aturan perutean yang menghubungkannya.

Azure CLI adalah platform lintas sumber terbuka, alat baris perintah untuk mengelola sumber daya Azure seperti IoT Edge. Ini memungkinkan Anda mengelola sumber daya Azure IoT Hub, instans layanan provisi perangkat, dan hub tertaut di luar kotak. Ekstensi IoT baru memperkaya Azure CLI dengan fitur-fitur seperti manajemen perangkat dan kemampuan IoT Edge penuh.

Artikel ini memperlihatkan cara membuat manifes penyebaran JSON, lalu menggunakan file tersebut untuk mendorong penyebaran ke perangkat IoT Edge. Untuk informasi tentang membuat penyebaran yang menargetkan beberapa perangkat berdasarkan tag bersama, lihat Menyebarkan dan memantau modul IoT Edge dalam skala besar

Prasyarat

Mengonfigurasi manifes penerapan

Manifes penyebaran adalah dokumen JSON yang menjelaskan modul mana yang akan disebarkan, bagaimana data mengalir di antara modul, dan properti yang diinginkan dari modul twin. Untuk informasi selengkapnya tentang cara kerja manifes penyebaran dan cara membuatnya, lihat Memahami cara modul IoT Edge dapat digunakan, dikonfigurasi, dan digunakan kembali.

Untuk menyebarkan modul menggunakan Azure CLI, simpan manifes penyebaran secara lokal sebagai file .json. Anda menggunakan jalur file di bagian berikutnya saat menjalankan perintah untuk menerapkan konfigurasi ke perangkat Anda.

Berikut adalah manifes penyebaran dasar dengan satu modul sebagai contoh:

Catatan

Manifes penyebaran sampel ini menggunakan skema versi 1.1 untuk agen dan hub IoT Edge. Skema versi 1.1 dirilis bersama dengan IoT Edge versi 1.0.10, dan memungkinkan fitur seperti urutan mulai modul dan prioritas rute.

{
  "content": {
    "modulesContent": {
      "$edgeAgent": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "runtime": {
            "type": "docker",
            "settings": {
              "minDockerVersion": "v1.25",
              "loggingOptions": "",
              "registryCredentials": {}
            }
          },
          "systemModules": {
            "edgeAgent": {
              "type": "docker",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-agent:1.5",
                "createOptions": "{}"
              }
            },
            "edgeHub": {
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-hub:1.5",
                "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
              }
            }
          },
          "modules": {
            "SimulatedTemperatureSensor": {
              "version": "1.0",
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5",
                "createOptions": "{}"
              }
            }
          }
        }
      },
      "$edgeHub": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "routes": {
            "upstream": "FROM /messages/* INTO $upstream"
          },
          "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
          }
        }
      },
      "SimulatedTemperatureSensor": {
        "properties.desired": {
          "SendData": true,
          "SendInterval": 5
        }
      }
    }
  }
}

Sebarkan ke perangkat Anda

Anda menyebarkan modul ke perangkat dengan menerapkan manifes penyebaran yang Anda konfigurasi dengan informasi modul.

Ubah direktori ke folder tempat Anda menyimpan manifes penyebaran. Jika Anda menggunakan salah satu templat Visual Studio Code IoT Edge, gunakan deployment.json file di folder konfigurasi direktori solusi Anda dan bukan deployment.template.json file .

Gunakan perintah berikut untuk menerapkan konfigurasi ke perangkat IoT Edge:

az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]

Parameter ID perangkat peka huruf besar/kecil. Parameter konten menunjuk ke file manifes penyebaran yang Anda simpan.

Cuplikan layar memperlihatkan output baris perintah az iot edge set-modules.

Melihat modul di perangkat Anda

Setelah menyebarkan modul ke perangkat, Anda dapat melihat semuanya dengan perintah berikut:

Lihat modul di perangkat IoT Edge Anda:

az iot hub module-identity list --device-id [device id] --hub-name [hub name]

Parameter ID perangkat peka huruf besar/kecil.

Cuplikan layar memperlihatkan output perintah az iot hub module-identity list.

Langkah berikutnya

Pelajari cara Menyebarkan dan memantau modul IoT Edge dalam skala besar