Bagikan melalui


Konsep impor Azure Device Update for IoT Hub

Untuk menyebarkan pembaruan ke perangkat menggunakan Azure Device Update for IoT Hub, Anda terlebih dahulu mengimpor pembaruan ke layanan Pembaruan Perangkat, yang menyimpan pembaruan yang diimpor dan menyebarkannya ke perangkat. Artikel ini memberikan ringkasan tentang beberapa konsep yang penting untuk dipahami saat mengimpor pembaruan.

Manifes impor

Manifes impor adalah file JSON yang menentukan informasi penting tentang pembaruan yang Anda impor. Anda mengirimkan manifes impor dan file atau file pembaruan terkait, seperti paket pembaruan firmware, sebagai bagian dari proses impor. Metadata yang ditentukan dalam manifes impor digunakan untuk menyerap pembaruan. Beberapa metadata juga digunakan pada waktu penyebaran, misalnya untuk memvalidasi apakah pembaruan diinstal dengan benar.

Kode JSON berikut menunjukkan contoh impor file manifes:

{
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  },
  "isDeployable": false,
  "compatibility": [
    {
      "manufacturer": "Contoso",
      "model": "Toaster"
    }
  ],
  "instructions": {
    "steps": [
      {
        "handler": "microsoft/swupdate:2",
        "files": [
          "firmware.swu"
        ],
        "handlerProperties": {
          "installedCriteria": "1.0"
        }
      }
    ]
  },
  "files": [
    {
      "filename": "firmware.swu",
      "sizeInBytes": 7558,
      "hashes": {
        "sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
      }
    }
  ],
  "createdDateTime": "2022-01-19T06:23:52.6996916Z",
  "manifestVersion": "5.0"
}

Bagian file manifes impor mewakili konsep Pembaruan Perangkat penting, seperti yang dijelaskan di bagian berikut. Untuk informasi tentang skema manifes impor lengkap, lihat Mengimpor skema JSON manifes.

Identitas pembaruan

Identitas pembaruan atau updateId merupakan pengidentifikasi unik untuk pembaruan di Pembaruan Perangkat, dan berisi properti berikut:

  • Penyedia adalah entitas yang membuat atau bertanggung jawab atas pembaruan. Penyedia sering kali merupakan nama perusahaan.
  • Nama adalah pengidentifikasi untuk kelas pembaruan. Nama sering kali merupakan kelas perangkat atau nama model.
  • Versi adalah angka yang membedakan pembaruan ini dari orang lain dengan penyedia dan nama yang sama.

Contoh:

{
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  }
}

Catatan

hanya updateId digunakan oleh layanan Pembaruan Perangkat, dan berbeda dari identitas komponen perangkat lunak pada perangkat.

Kompatibilitas

Bagian Kompatibilitas menggunakan satu atau beberapa pasangan kunci-nilai arbitrer untuk menentukan perangkat yang dapat menginstal pembaruan. Hanya perangkat yang melaporkan properti yang cocok dengan nilai kompatibilitas yang memenuhi syarat untuk menyebarkan pembaruan. Anda dapat membuat pembaruan yang kompatibel dengan beberapa kelas perangkat dengan menyertakan lebih dari satu set properti kompatibilitas perangkat.

Contoh berikut menunjukkan pembaruan yang hanya dapat disebarkan ke perangkat yang melaporkan Contoso dan Toaster sebagai produsen dan model perangkat mereka.

{
  "compatibility": [
    {
      "manufacturer": "Contoso",
      "model": "Toaster"
    }
  ]
}

Petunjuk

Bagian Instruksi berisi informasi atau langkah-langkah yang diperlukan bagi agen perangkat untuk menginstal pembaruan. Pembaruan paling sederhana berisi satu langkah sebaris yang menjalankan file payload pembaruan menggunakan handler yang terdaftar di agen perangkat. Contoh berikut menunjukkan bagian instruksi langkah tunggal.

{
  "instructions": {
    "steps": [
      {
        "handler": "microsoft/swupdate:2",
        "files": [
          "contoso.toaster.1.0.swu"
        ]
      }
    ]
  }
}

Catatan

Properti handler setara dengan updateType properti dalam manifes impor versi 3.0 atau yang lebih lama.

Pembaruan dapat berisi lebih dari satu langkah, seperti dalam contoh berikut:

{
  "instructions": {
    "steps": [
      {
        "description": "pre-install script",
        "handler": "microsoft/script:1",
        "handlerProperties": {
          "arguments": "--pre-install"
        },
        "files": [
          "configure.sh"
        ]
      },
      {
        "description": "firmware package",
        "handler": "microsoft/swupdate:2",
        "files": [
          "contoso.toaster.1.0.swu"
        ]
      }
    ]
  }
}

Pembaruan mungkin berisi langkah-langkah referensi yang menginstruksikan agen perangkat untuk menginstal pembaruan lain dengan manifes impornya sendiri, membuat hubungan pembaruan induk dan anak. Pembaruan dapat berisi kombinasi langkah-langkah sebaris dan referensi.

Misalnya, pembaruan untuk pemanggang roti mungkin berisi dua pembaruan turunan:

{
  "instructions": {
    "steps": [
      {
        "type": "reference",
        "updateId": {
          "provider": "Contoso",
          "name": "Toaster.HeatingElement",
          "version": "1.0"
        }
      },
      {
        "type": "reference",
        "updateId": {
          "provider": "Contoso",
          "name": "Toaster.Sensors",
          "version": "1.0"
        }
      }
    ]
  }
}

File

Bagian File dari manifes impor berisi metadata file muatan pembaruan seperti name, , sizedan hash. Pembaruan Perangkat menggunakan metadata ini untuk validasi integritas selama proses impor, dan meneruskan informasi yang sama ke agen perangkat untuk validasi integritas sebelum penginstalan.

Catatan

Pembaruan induk yang hanya berisi langkah-langkah referensi tidak menentukan file payload pembaruan apa pun.

Buat manifes impor

Meskipun dimungkinkan untuk menulis manifes impor JSON secara manual menggunakan editor teks, Azure CLI sangat menyederhanakan proses. Saat Anda siap untuk mencoba pembuatan manifes impor, Anda dapat menggunakan panduan Cara Penggunaan.

Penting

Untuk mengimpor ke layanan Pembaruan Perangkat melalui portal Azure, nama file JSON manifes impor harus berakhir dengan .importmanifest.json.

Tip

Anda dapat menggunakan Visual Studio Code untuk mengaktifkan lengkapi otomatis dan validasi skema JSON saat membuat manifes impor.

Memperbarui batas impor

Batas tertentu diberlakukan untuk setiap instans Device Update for IoT Hub. Jika Anda belum meninjaunya, lihat Batas Pembaruan Perangkat.