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.
Při importu aktualizace do služby Azure Device Update pro IoT Hub odešlete také přidružený soubor manifestu importu JSON, který definuje důležité informace o aktualizaci. Tento článek popisuje schéma použité k vytvoření souboru manifestu importu JSON.
Další informace o konceptech a struktuře manifestu importu najdete v tématu Manifest importu služby Azure Device Update pro IoT Hub. Informace o tom, jak soubor vytvořit, najdete v tématu Příprava aktualizace k importu do služby Device Update pro IoT Hub.
Schéma
Schéma JSON manifestu importu je hostováno na adrese SchemaStore.org a skládá se z následujících vlastností. Žádné další vlastnosti nejsou povoleny.
Vlastnictví | Typ | Popis | Povinné |
---|---|---|---|
$schema | string |
Referenční informace ke schématu JSON | Ne |
ID aktualizace | updateId |
Jedinečný identifikátor aktualizace | Ano |
popis | string |
Volitelný popis aktualizace Maximální délka je 512 znaků. | Ne |
kompatibilita | compatibility |
Seznam sad vlastností zařízení, se kterými je tato aktualizace kompatibilní. | Ano |
instrukce | instructions |
Aktualizujte pokyny k instalaci. | Ano |
soubory |
file
[0-10]
|
Seznam souborů balíčku aktualizace Součet všech velikostí souborů nesmí překročit 2 GB. Může být prázdný nebo null, pokud jsou všechny kroky instrukce referenčními kroky. | Ne |
manifestVersion | string |
Import verze schématu manifestu Musí být 5.0. | Ano |
datum a čas vytvoření | string |
Importujte datum a čas vytvoření manifestu ve formátu ISO 8601, například "2020-10-02T22:18:04.9446744Z" . |
Ano |
Aktualizace objektu
Objekt updateID
je jedinečný identifikátor pro každou aktualizaci.
Vlastnictví | Typ | Popis | Povinné |
---|---|---|---|
poskytovatel | string |
Entita, která vytváří nebo přímo zodpovídá za aktualizaci.
Poskytovatelem může být název společnosti. Vzor: ^[a-zA-Z0-9.-]+$ Maximální délka: 64 znaků |
Ano |
Jméno | string |
Identifikátor třídy aktualizace.
Název může být název třídy zařízení nebo modelu. Vzor: ^[a-zA-Z0-9.-]+$ Maximální délka: 64 znaků |
Ano |
verze | string |
Číselné verze s dvěma až čtyřmi částmi, oddělené tečkou. Každá část musí být číslo mezi 0 a 2147483647 a úvodní nuly se vypustí. Vzor: ^\d+(?:\.\d+)+$ Příklady: "1.0" , "2021.11.8" |
Ano |
Žádné další vlastnosti nejsou povoleny.
Například:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
Objekt kompatibility
Objekt compatibility
popisuje 1 až 5 vlastností zařízení, se kterým je tato aktualizace kompatibilní. Každá vlastnost je dvojice string
název-hodnota typu. Název musí mít délku 1-32 znaků a hodnota musí být 1-64 znaků. Nemůžete použít stejnou sadu vlastností kompatibility s více než jedním poskytovatelem aktualizací a kombinací názvů.
Například:
{
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
]
}
Objekt Instructions
Objekt instructions
poskytuje pokyny k instalaci aktualizace. Objekt instructions obsahuje seznam položek steps
, které mají být provedeny. Žádné další vlastnosti nejsou povoleny.
Kroky mohou být buď kód, který se mají spustit, nebo ukazatele na další aktualizace. Výchozí hodnota objektu step je inline
, pokud není zadána žádná type
hodnota.
Vlastnictví | Typ | Popis | Povinné |
---|---|---|---|
kroky | array[1-10] |
Každý prvek v steps poli musí být buď vložený objekt kroku , nebo objekt referenčního kroku. |
Ano |
Například:
{
"instructions": {
"steps": [
{
"type": "inline",
...
},
{
"type": "reference",
...
}
]
}
}
Objekt vloženého kroku
Objekt inline
step je krok instrukce k instalaci, který provádí provádění kódu.
Vlastnictví | Typ | Popis | Povinné |
---|---|---|---|
typ | string |
Typ kroku instrukce, který provádí provádění kódu. Musí být inline . Výchozí hodnota je inline , pokud není zadaná žádná hodnota. |
Ne |
popis | string |
Volitelný popis kroku instrukce. Maximální délka: 64 znaků. | Ne |
obslužná rutina | string |
Identita zpracovatele na zařízení, které může tento krok provést. Vzor: ^\S+/\S+:\d{1,5}$ Minimální délka: pět znaků Maximální délka: 32 znaků Příklady: microsoft/script:1 , microsoft/swupdate:2 , microsoft/apt:1 |
Ano |
soubory |
string
[1-10]
|
Názvy aktualizačních souborů definované jako objekty souborů , které agent předá obslužné rutině. Délka každého prvku musí být 1 až 255 znaků. | Ano |
Obslužná rutina | inlineStepHandlerProperties |
Objekty JSON, které agent předá obslužné rutině jako argumenty. | Ne |
Žádné další vlastnosti nejsou povoleny.
Například:
{
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
}
]
}
Objekt referenčního kroku
Objekt reference
step je krok s pokyny k instalaci další aktualizace.
Vlastnictví | Typ | Popis | Povinné |
---|---|---|---|
typ | referenceStepType |
Typ kroku instrukce, který nainstaluje jinou aktualizaci. Musí být reference . |
Ano |
popis | stepDescription |
Volitelný popis kroku instrukce. Maximální délka: 64 znaků. | Ne |
ID aktualizace | updateId |
Jedinečný identifikátor aktualizace | Ano |
Žádné další vlastnosti nejsou povoleny.
Například:
{
"steps": [
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.HeatingElement",
"version": "1.0"
}
}
]
}
Objekt Soubory
Každý files
objekt je soubor datové části aktualizace, například binární soubor, soubor firmwaru nebo souboru skriptu, který musí být v rámci aktualizace jedinečný.
Vlastnictví | Typ | Popis | Povinné |
---|---|---|---|
název souboru | string |
Aktualizujte název souboru payloadu. Maximální délka: 255 znaků | Ano |
sizeInBytes | number |
Velikost souboru v počtu bajtů Maximální velikost: 2147483648 bajtů | Ano |
Hash | fileHashes |
Hash hodnoty souborů kódované metodou Base64 s názvem algoritmu jako klíčovým prvkem. Musí být specifikován alespoň algoritmus SHA-256 a další algoritmy mohou být specifikovány, pokud jsou podporovány agentem. Podrobnosti o výpočtu hodnoty hash naleznete v části Objekt Hashes . | Ano |
související soubory | relatedFile[0-4] |
Kolekce souborů souvisejících s jedním nebo více primárními soubory datové části. Další informace naleznete v tématu relatedFiles objektu. | Ne |
downloadHandler | downloadHandler |
Určuje, jak se mají zpracovat všechny související soubory. | Ano, pokud používáte relatedFiles rozhraní . Další informace naleznete v tématu downloadHandler objektu. |
Žádné další vlastnosti nejsou povoleny.
Například:
{
"files": [
{
"fileName": "full-image-file-name",
"sizeInBytes": 12345,
"hashes": {...},
"relatedFiles": [
{
"fileName": "delta-from-v1-file-name",
"sizeInBytes": 1234,
"hashes": {
"SHA256": "delta-from-v1-file-hash"
},
"properties": {...}
}
],
"downloadHandler": {
"id": "microsoft/delta:1"
}
}
]
}
Objekt Hashes
Objekt hashes
obsahuje hodnoty hash souborů s kódováním base64 s názvy algoritmů jako klíči. Musí být zadán alespoň algoritmus SHA-256 a v případě podpory agenta je možné zadat další algoritmy. Příklad správného výpočtu hodnoty hash naleznete ve funkci ve skriptu Get-AduFileHashes
AduUpdate.psm1.
Vlastnictví | Typ | Popis | Povinné |
---|---|---|---|
SHA256 řekl: | string |
Hodnota hash souboru kódovaná Base64 pomocí algoritmu SHA-256 | Ano |
Ostatní vlastnosti jsou povoleny.
Například:
{
"hashes": {
"sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
}
}
objekt relatedFiles
Objekt relatedFiles
obsahuje kolekci souborů, které se vztahují k jednomu nebo více primárním souborům datové části. Další informace naleznete v tématu Použití funkce souvisejících souborů k odkazování na více aktualizačních souborů.
Vlastnictví | Typ | Popis | Povinné |
---|---|---|---|
název souboru | string |
Seznam souvisejících souborů přidružených k primárnímu souboru datové části. | Ano |
sizeInBytes | number |
Velikost souboru v počtu bajtů Maximální velikost: 2147483648 bajtů. | Ano |
Hash | fileHashes |
Hash hodnoty souborů kódované metodou Base64 s názvem algoritmu jako klíčovým prvkem. Další informace naleznete v tématu Objekt Hashes. | Ano |
vlastnosti |
relatedFilesProperties
[0-5]
|
Až pět párů klíč-hodnota, kde klíč je omezen na 64 znaků ASCII a hodnota je JObjekt s až 256 znaky ASCII. | Ne |
Ostatní vlastnosti jsou povoleny.
Například:
"relatedFiles": [
{
"filename": "in1_in2_deltaupdate.dat",
"sizeInBytes": 102910752,
"hashes": {
"sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
},
"properties": {
"microsoft.sourceFileHashAlgorithm": "sha256",
"microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
}
}
],
downloadHandler objekt
Objekt downloadHandler
určuje, jak se mají zpracovat všechny související soubory.
Vlastnictví | Typ | Popis | Povinné |
---|---|---|---|
id | string |
Identifikátor pro downloadHandler . Limit je 64 znaků ASCII. |
Ano, pokud používáte relatedFiles |
Žádné další vlastnosti nejsou povoleny.
Například:
"downloadHandler": {
"id": "microsoft/delta:1"
}