Bagikan melalui


Mengimpor pembaruan ke Device Update for IoT Hub: skema dan informasi lainnya

Jika Anda ingin mengimpor pembaruan ke Device Update for IoT Hub, pastikan Anda telah meninjau konsep dan panduan cara terlebih dahulu. Jika Anda tertarik dengan detail skema manifes impor itu sendiri, lihat di bawah ini.

Skema JSON manifes impor dihosting di SchemaStore.org.

Skema

Properti Tipe Deskripsi Wajib diisi
$schema string Referensi skema JSON. No
updateId updateId Pengidentifikasi pembaruan unik. Ya
description string Deskripsi pembaruan opsional.

Panjang maksimum: 512 karakter
No
Kompatibilitas compatibility Daftar rangkaian properti perangkat yang kompatibel dengan pembaruan ini. Ya
instruksi instructions Petunjuk penginstalan pembaruan. Ya
file file [0-10] Daftar file payload pembaruan. Jumlah semua ukuran file tidak boleh melebihi 2 GB. Mungkin kosong atau nol jika semua langkah petunjuk adalah langkah referensi. No
manifestVersion string Versi skema manifes impor. Harus 5.0. Ya
createdDateTime string Manifes impor tanggal & waktu dibuat dalam format ISO 8601.

Contoh: "2020-10-02T22:18:04.9446744Z"
Ya

Properti tambahan tidak diizinkan.

objek updateId

Objek updateID adalah pengidentifikasi unik untuk setiap pembaruan.

Properti Tipe Deskripsi Wajib diisi
penyedia string Entitas yang membuat atau bertanggung jawab langsung atas pembaruan tersebut. Hal ini dapat berupa nama perusahaan.

Pola: ^[a-zA-Z0-9.-]+$
Panjang maksimum: 64 karakter
Ya
nama string Pengidentifikasi untuk kelas pembaruan. Biasanya berupa kelas perangkat atau nama model.

Pola: ^[a-zA-Z0-9.-]+$
Panjang maksimum: 64 karakter
Ya
versi string Nomor versi numerik yang dipisahkan titik dua hingga empat bagian. Setiap bagian harus merupakan angka antara 0 dan 2147483647 dan nol yang ada di depan akan dihapus.

Pola: ^\d+(?:\.\d+)+$
Contoh: "1.0", "2021.11.8"
Ya

Properti tambahan tidak diizinkan.

Contohnya:

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

objek kompatibilitas

Objek kompatibilitas menjelaskan properti perangkat yang kompatibel dengan pembaruan ini.

  • Jenis: object
  • Properti Minimum: 1
  • Properti Maksimum: 5

Setiap properti adalah pasangan nama-nilai dari string jenis.

  • Panjang Nama Properti Minimum: 1
  • Panjang Nama Properti Maksimum: 32
  • Panjang Nilai Properti Minimum: 1
  • Panjang Nilai Properti Maksimum: 64

Kumpulan properti kompatibilitas yang sama persis tidak dapat digunakan dengan lebih dari satu penyedia pembaruan dan kombinasi nama.

Contohnya:

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

objek petunjuk

Objek instruksi menyediakan instruksi pemasangan pembaruan. Objek instruksi berisi daftar langkah-langkah yang harus dilakukan. Langkah-langkahnya dapat berupa kode yang akan dieksekusi atau penunjuk terkait pembaruan lain.

Properti Tipe Deskripsi Wajib diisi
Langkah-langkah array[1-10] Setiap elemen dalam array harus berupa objek inlineStep atau objek referenceStep. Ya

Properti tambahan tidak diizinkan.

Contohnya:

{
  "instructions": {
    "steps": [
      {
        "type": "inline",
        ...
      },
      {
        "type": "reference",
        ...
      }
    ]
  }
}

objek inlineStep

Objek langkah sebaris adalah langkah instruksi penginstalan yang melakukan eksekusi kode.

Properti Tipe Deskripsi Wajib
jenis string Jenis langkah petunjuk yang melakukan eksekusi kode. Harus berupa inline .

Defaultnya diatur ke inline jika tidak ada nilai yang diberikan.
No
description string Deskripsi langkah petunjuk opsional.

Panjang maksimum: 64 karakter
No
Handler string Identitas penangan pada perangkat yang dapat menjalankan langkah ini.

Pola: ^\S+/\S+:\d{1,5}$
Panjang minimum: 5 karakter
Panjang maksimum: 32 karakter
Contoh: microsoft/script:1, microsoft/swupdate:1, microsoft/apt:1
Ya
file string [1-10] Nama file pembaruan yang ditetapkan sebagai objek file yang akan diteruskan agen ke penangan. Setiap elemen dalam array harus memiliki panjang antara 1 hingga 255 karakter. Ya
handlerProperties inlineStepHandlerProperties Objek JSON yang akan diteruskan oleh agen ke penanganan sebagai argumen. No

Properti tambahan tidak diizinkan.

Contohnya:

{
  "steps": [
    {
      "description": "pre-install script",
      "handler": "microsoft/script:1",
      "handlerProperties": {
        "arguments": "--pre-install"
      },
      "files": [
        "configure.sh"
      ]
    }
  ]
}

objek referenceStep

Objek langkah referensi adalah langkah instruksi penginstalan yang menginstal pembaruan lain.

Properti Tipe Deskripsi Wajib
jenis referenceStepType Jenis langkah petunjuk yang memasang pembaruan lain. Harus berupa reference . Ya
description stepDescription Deskripsi langkah petunjuk opsional.

Panjang maksimum: 64 karakter
No
updateId updateId Pengidentifikasi pembaruan unik. Ya

Properti tambahan tidak diizinkan.

Contohnya:

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

objek file

Objek file adalah file payload pembaruan, misalnya, biner, firmware, skrip, dll. Setiap objek file harus bersifat unik dalam pembaruan.

Properti Tipe Deskripsi Wajib diisi
filename string Perbarui nama file payload.

Panjang maksimum: 255 karakter
Ya
sizeInBytes number Ukuran file dalam jumlah byte.

Ukuran maksimum: 2147483648 byte
Ya
hash fileHashes Hash file yang dikodekan Base64 dengan nama algoritma sebagai kunci. Setidaknya algoritma SHA-256 harus ditentukan, dan algoritma tambahan dapat ditentukan jika didukung oleh agen. Lihat di bawah ini untuk detail tentang cara menghitung hash. Ya
relatedFiles relatedFile[0-4] Kumpulan file terkait ke satu atau beberapa file payload utama Anda. No
downloadHandler downloadHandler Menentukan cara memproses file terkait. Ya hanya jika menggunakan relatedFiles

Properti tambahan tidak diizinkan.

Contohnya:

{
  "files": [
    {
      "filename": "configure.sh",
      "sizeInBytes": 7558,
      "hashes": {...}
    }
  ]
}

objek fileHashes

File hash yang dikodekan Base64 dengan nama algoritma sebagai kunci. Setidaknya algoritma SHA-256 harus ditentukan, dan algoritma lain dapat ditentukan jika didukung oleh agen. Untuk contoh cara menghitung hash dengan benar, lihat fungsi Get-AduFileHashes di skrip AduUpdate.psm1.

Properti Tipe Deskripsi Wajib diisi
sha256 string Nilai hash file yang dikodekan Base64 menggunakan algoritma SHA-256. Ya

Properti tambahan diizinkan.

Contohnya:

{
  "hashes": {
    "sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
  }
}

objek relatedFiles

Kumpulan file terkait ke satu atau beberapa file payload utama Anda.

Properti Tipe Deskripsi Wajib diisi
filename string Daftar file terkait yang terkait dengan file payload utama. Ya
sizeInBytes number Ukuran file dalam jumlah byte.

Ukuran maksimum: 2147483648 byte
Ya
hash fileHashes Hash file yang dikodekan Base64 dengan nama algoritma sebagai kunci. Setidaknya algoritma SHA-256 harus ditentukan, dan algoritma tambahan dapat ditentukan jika didukung oleh agen. Lihat di bawah ini untuk detail tentang cara menghitung hash. Ya
properties relatedFilesProperties [0-5] Batas 5 pasangan kunci-nilai, di mana kunci dibatasi hingga 64 karakter ASCII dan nilainya adalah JObject (dengan hingga 256 karakter ASCII). No

Properti tambahan diizinkan.

Contohnya:

"relatedFiles": [
  {
    "filename": "in1_in2_deltaupdate.dat",
    "sizeInBytes": 102910752,
    "hashes": {
      "sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
    },
    "properties": {
      "microsoft.sourceFileHashAlgorithm": "sha256",
      "microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
    }
  }
],

Untuk informasi selengkapnya, lihat Menggunakan fitur file terkait untuk mereferensikan beberapa file pembaruan.

objek downloadHandler

Menentukan cara memproses file terkait.

Properti Tipe Deskripsi Wajib diisi
id string Pengidentifikasi untuk downloadHandler. Batas 64 karakter ASCII. Ya

Properti tambahan tidak diizinkan.

Contohnya:

"downloadHandler": {
  "id": "microsoft/delta:1"
}

Langkah berikutnya

Pelajari selengkapnya tentang konsep impor.

Jika Anda siap, cobalah panduan Impor Cara Menggunakan, yang akan memandu Anda melalui proses impor langkah demi langkah.