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.