Menyebarkan modul Azure IoT Edge dengan Azure CLI

Berlaku untuk:IoT Edge 1.1 tanda centang IoT Edge 1.1 IoT Edge 1.2 tanda centang IoT Edge 1.2 IoT Edge 1.3 tanda centang IoT Edge 1.3

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

Azure CLI adalah alat baris perintah lintas platform sumber terbuka 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 menunjukkan 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 penyebaran

Manifes penyebaran adalah dokumen JSON yang menjelaskan modul yang akan disebarkan, bagaimana data mengalir di antara modul, dan properti yang diinginkan dari salinan modul. Untuk mengetahui 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 selanjutnya 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.1",
                "createOptions": "{}"
              }
            },
            "edgeHub": {
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-hub:1.1",
                "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.0",
                "createOptions": "{}"
              }
            }
          }
        }
      },
      "$edgeHub": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "routes": {
            "upstream": "FROM /messages/* INTO $upstream"
          },
          "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
          }
        }
      },
      "SimulatedTemperatureSensor": {
        "properties.desired": {
          "SendData": true,
          "SendInterval": 5
        }
      }
    }
  }
}

Menyebarkan ke perangkat Anda

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

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

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.

output set modul tepi az iot

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.

output daftar modul identitas az iot hub

Langkah berikutnya

Pelajari cara Menyebarkan dan memantau modul IoT Edge dalam skala besar