Update van Azure Device Update voor IoT Hub-updatemanifest
In dit artikel worden de updatemanifestgegevens beschreven die door Azure Device Update voor IoT Hub tijdens de update-implementatie naar apparaten worden verzonden. Het updatemanifest is een geserialiseerd JSON-tekenreeksobject met metagegevens over de update die moet worden geïnstalleerd.
Device Update maakt gebruik van IoT Plug en Play om het updatemanifest te verzenden en ondertekent het cryptografisch zodat de Device Update-agent de echtheid ervan kan verifiëren. Zie Device Update-beveiliging voor meer informatie over hoe het updatemanifest wordt gebruikt om inhoud veilig te installeren.
Manifest importeren versus manifest bijwerken
Het updatemanifest verschilt van het importmanifest device update.
- Het importmanifest is een JSON-bestand dat de update beschrijft die moet worden geïmporteerd in Device Update. Degene die de update voor Device Update maakt, maakt het bijbehorende importmanifestbestand.
- Het updatemanifest is een JSON-tekenreeksobject dat informatie communiceert met de Device Update-agent tijdens een update. De Device Update-service genereert automatisch het updatemanifest door enkele van dezelfde eigenschappen op te halen die zijn gedefinieerd in het importmanifest.
Elk manifesttype heeft een eigen schema- en schemaversie. Zie het importmanifestschema van Device Update voor meer informatie over het importmanifestschema.
Manifestschema bijwerken
Het JSON-schemaversie 4 van het updatemanifest wordt gehost op SchemaStore.org.
Voorbeeld van updatemanifest
{
"manifestVersion": "4",
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
},
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
],
"instructions": {
"steps": [
{
"handler": "microsoft/swupdate:2",
"handlerProperties": {
"installedCriteria": "1.0"
},
"files": [
"fileId0"
]
}
]
},
"files": {
"fileId0": {
"filename": "contoso.toaster.1.0.swu",
"sizeInBytes": 718,
"hashes": {
"sha256": "mcB5SexMU4JOOzqmlJqKbue9qMskWY3EI/iVjJxCtAs="
}
}
},
"createdDateTime": "2021-09-28T18:32:01.8404544Z"
}
Manifest voor volledige versus mini-update
Als een updatemanifest te groot is om efficiënt te worden gecommuniceerd, verzendt Device Update het naar het apparaat in losgekoppelde indeling, ook wel een mini-updatemanifest genoemd. Een minimanifest bevat metagegevens over het updatemanifest dat de Device Update-agent kan gebruiken om het volledige updatemanifest te downloaden en de echtheid ervan te verifiëren.
In het volgende voorbeeld ziet u een mini-updatemanifest:
{
"manifestVersion": "4",
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
},
"detachedManifestFileId": "fileId1",
"files": {
"fileId1": {
"filename": "contoso.toaster.1.0.updatemanifest.json",
"sizeInBytes": 2048,
"hashes": {
"sha256": "789s9PDfX4uA9wFUubyC30BWkLFbgmpkpmz1fEdqo2U="
}
}
}
}