Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud chcete nasadit aktualizaci na zařízení ze služby Device Update pro IoT Hub, musíte nejprve tuto aktualizaci importovat do služby Device Update. Tento článek poskytuje přehled některých důležitých konceptů, které je třeba pochopit pro import aktualizací.
Manifest importu
Manifest importu je soubor JSON, který definuje důležité informace o importu aktualizace. V rámci procesu importu odešlete manifest importu i přidružený soubor aktualizace nebo soubory (například balíček aktualizace firmwaru). Metadata definovaná v manifestu importu se používají k ingestování aktualizace. Některá metadata se také používají v době nasazení – například k ověření, jestli byla aktualizace nainstalována správně.
Například:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
},
"isDeployable": false,
"compatibility": [
{
"deviceManufacturer": "Contoso",
"deviceModel": "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": "4.0"
}
Manifest importu obsahuje několik položek, které představují důležité koncepty služby Device Update pro IoT Hub. Tyto položky jsou uvedeny v této části. Informace o úplném schématu importu najdete v tématu Import schématu JSON manifestu.
Aktualizace identity
Identita aktualizace nebo updateId je jedinečný identifikátor pro aktualizaci ve službě Device Update pro IoT Hub. Skládá se ze tří částí:
- Zprostředkovatel: entita, která vytváří nebo přímo zodpovídá za aktualizaci. Často se jedná o název společnosti.
- Název: identifikátor třídy aktualizací. Často se jedná o třídu zařízení nebo název modelu.
- Verze: Číslo verze rozlišující tuto aktualizaci od ostatních, kteří mají stejného poskytovatele a název.
Například:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
Poznámka:
Id aktualizace používá pouze služba Device Update a může se lišit od identit skutečných softwarových komponent v zařízení.
Kompatibilita
Kompatibilita definuje kritéria zařízení, které může nainstalovat aktualizaci. Obsahuje vlastnosti zařízení, které jsou sadou párů klíč-hodnota, jejichž hodnota je libovolná a které zařízení hlásí. K nasazení budou mít nárok jenom zařízení s odpovídajícími vlastnostmi. Aktualizace může být kompatibilní s více třídami zařízení tím, že má více než jednu sadu vlastností zařízení.
Tady je příklad aktualizace, která se dá nasadit jenom do zařízení, které hlásí Contoso a Toustovač jako výrobce a model zařízení.
{
"compatibility": [
{
"deviceManufacturer": "Contoso",
"deviceModel": "Toaster"
}
]
}
Instrukce
Část Pokyny obsahuje potřebné informace nebo kroky pro instalaci aktualizace agentem zařízení. Nejjednodušší aktualizace obsahuje jeden integrovaný krok. Tento krok spustí zahrnutý datový soubor pomocí obslužné rutiny zaregistrované v agentu zařízení.
{
"instructions": {
"steps": [
{
"handler": "microsoft/swupdate:1",
"files": [
"contoso.toaster.1.0.swu"
]
}
]
}
}
Návod
handler je ekvivalentní updateType v manifestu importu verze 3.0 nebo starší.
Aktualizace může obsahovat více než jeden krok:
{
"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"
]
}
]
}
}
Aktualizace může obsahovat referenční kroky, které dávají agentovi zařízení pokyn nainstalovat jinou aktualizaci se samostatným importním manifestem, čímž se vytvoří vztah nadřazené a podřízené aktualizace. Například aktualizace toustovače může obsahovat dvě podřízené aktualizace:
{
"instructions": {
"steps": [
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.HeatingElement",
"version": "1.0"
}
},
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.Sensors",
"version": "1.0"
}
}
]
}
}
Poznámka:
Aktualizace může obsahovat libovolnou kombinaci přímo vložených a referenčních kroků.
Soubory
Část Soubory obsahuje metadata souborů datové části aktualizace, jako jsou jejich názvy, velikosti a hodnota hash. Služba Device Update pro IoT Hub používá tato metadata k ověření integrity během procesu importu. Stejné informace se pak předávají agentu zařízení, aby se před instalací opakovalo ověření integrity.
Poznámka:
Aktualizace, která obsahuje pouze referenční kroky, nebude mít v nadřazené aktualizaci žádný soubor datové části aktualizace.
Vytvoření manifestu importu
K vytvoření souboru JSON importu manifestu můžete použít libovolný textový editor. Existují také ukázkové skripty pro programové vytváření manifestu importu v Azure/iot-hub-device-update na GitHubu.
Důležité
Název souboru JSON manifestu importu musí končit .importmanifest.json při importu prostřednictvím webu Azure Portal.
Návod
Použijte Visual Studio Code pro povolení automatického dokončování a ověřování schématu JSON pro vytváření importního manifestu.
Omezení importu aktualizací
Pro každou aktualizaci zařízení ve službě IoT Hub se vynucují určitá omezení. Pokud jste je ještě nezkontrolovali, podívejte se na limity služby Device Update.
Další kroky
- Další informace o procesu importu najdete v tématu Příprava aktualizace k importu.
- Zkontrolujte schéma manifestu importu.