Mengimpor pembaruan ke Device Update for IoT Hub
Untuk menyebarkan pembaruan ke perangkat dari Device Update for IoT Hub, pertama-tama Anda harus mengimpor pembaruan tersebut ke layanan Pembaruan Perangkat. Pembaruan yang diimpor akan disimpan di layanan Pembaruan Perangkat dan dapat disebarkan dari sana ke perangkat. Artikel ini memberikan ringkasan tentang beberapa konsep yang penting untuk dipahami saat mengimpor pembaruan.
Manifes impor
Manifes impor adalah file JSON yang mendefinisikan 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 didefinisikan dalam manifes impor digunakan untuk memproses pembaruan. Beberapa metadata juga digunakan pada waktu penyebaran - misalnya, untuk memvalidasi apakah pembaruan diinstal dengan benar.
Contohnya:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
},
"isDeployable": false,
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
],
"instructions": {
"steps": [
{
"handler": "microsoft/swupdate:1",
"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"
}
Manifes impor berisi beberapa item yang mewakili konsep Device Update for IoT Hub penting. Item-item ini diuraikan dalam bagian ini. Untuk informasi tentang skema impor lengkap, lihat Impor skema JSON manifes.
Identitas pembaruan
Identitas pembaruan atau updateId adalah pengidentifikasi unik untuk pembaruan di Device Update for IoT Hub. Identitas pembaruan terdiri dari tiga bagian:
- Penyedia: entitas yang membuat atau bertanggung jawab langsung atas pembaruan tersebut. Biasanya adalah nama perusahaan.
- Nama : Pengidentifikasi untuk kelas pembaruan. Biasanya berupa perangkat atau nama model.
- Versi: nomor versi yang membedakan pembaruan ini dari pembaruan lain yang memiliki penyedia dan nama yang sama.
Contohnya:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
Catatan
UpdateId hanya digunakan oleh layanan Pembaruan Perangkat, dan mungkin berbeda dari identitas komponen perangkat lunak sebenarnya pada perangkat.
Kompatibilitas
Kompatibilitas menentukan kriteria perangkat yang dapat menginstal pembaruan. UpdateId berisi properti perangkat yang merupakan kumpulan pasangan nilai kunci arbitrer yang dilaporkan dari perangkat. Hanya perangkat dengan properti yang cocok yang memenuhi syarat untuk penyebaran. Pembaruan mungkin kompatibel dengan beberapa kelas perangkat dengan memiliki lebih dari satu set properti perangkat.
Berikut adalah contoh pembaruan yang hanya dapat disebarkan ke perangkat yang melaporkan Contoso dan Toaster sebagai produsen dan model perangkatnya.
{
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
]
}
Instruksi
Bagian Instruksi berisi informasi atau langkah-langkah yang diperlukan bagi agen perangkat untuk menginstal pembaruan. Pembaruan paling sederhana berisi satu langkah inline. Langkah itu mengeksekusi file payload yang disertakan menggunakan handler yang terdaftar di agen perangkat:
{
"instructions": {
"steps": [
{
"handler": "microsoft/swupdate:1",
"files": [
"contoso.toaster.1.0.swu"
]
}
]
}
}
Tip
handler
setara dengan updateType
dalam manifes impor versi 3.0 atau yang lebih lama.
Pembaruan mungkin berisi lebih dari satu langkah:
{
"instructions": {
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
},
{
"description": "firmware package",
"handler": "microsoft/swupdate:1",
"files": [
"contoso.toaster.1.0.swu"
]
}
]
}
}
Pembaruan dapat berisi langkah-langkah referensi yang menginstruksikan agen perangkat untuk menginstal pembaruan lain dengan manifes impornya sendiri sekaligus, membangun hubungan pembaruan induk dan anak. 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"
}
}
]
}
}
Catatan
Pembaruan mungkin berisi kombinasi langkah-langkah sebaris dan referensi.
File
Bagian File berisi metadata file payload pembaruan seperti nama, ukuran, dan hashnya. Device Update for IoT Hub menggunakan metadata ini untuk validasi integritas selama proses impor. Informasi yang sama kemudian diteruskan ke agen perangkat untuk mengulangi validasi integritas sebelum penginstalan.
Catatan
Pembaruan yang hanya berisi langkah-langkah referensi tidak akan memiliki file payload pembaruan apa pun di pembaruan induk.
Buat manifes impor
Meskipun dimungkinkan untuk menulis manifes impor JSON secara manual menggunakan editor teks, Azure Command Line Interface (CLI) sangat menyederhanakan proses. Ketika Anda siap untuk mencoba pembuatan manifes impor, Anda dapat menggunakan panduan Cara.
Penting
Nama file JSON manifes impor harus diakhiri dengan .importmanifest.json
saat diimpor melalui portal Microsoft Azure.
Tip
Gunakan Visual Studio Code untuk mengaktifkan pelengkapan otomatis dan validasi skema JSON saat membuat manifes impor.
Batasan mengimpor pembaruan
Batas tertentu diberlakukan untuk setiap instans Device Update for IoT Hub. Jika Anda belum meninjaunya, lihat Batas Pembaruan Perangkat.
Langkah berikutnya
- Untuk mempelajari selengkapnya tentang proses impor, lihat Menyiapkan pembaruan untuk mengimpor.
- Tinjau Impor skema manifes.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk