Import aktualizací do služby Device Update pro IoT Hub: schéma a další informace
Pokud chcete naimportovat aktualizaci do služby Device Update pro IoT Hub, nezapomeňte si nejprve projít koncepty a návody. Pokud vás zajímají podrobnosti samotného schématu manifestu importu, podívejte se níže.
Schéma JSON manifestu importu je hostované na SchemaStore.org.
Schéma
Vlastnost | Type | Popis | Povinní účastníci |
---|---|---|---|
$schema | string |
Referenční informace ke schématu JSON | No |
updateId | updateId |
Jedinečný identifikátor aktualizace | Ano |
popis | string |
Volitelný popis aktualizace Maximální délka: 512 znaků |
No |
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ů datové části aktualizace Součet všech velikostí souborů nesmí překročit 2 GB. Pokud jsou všechny kroky pokynů referenčními kroky, může být prázdná nebo null. | No |
manifestVersion | string |
Import verze schématu manifestu Musí být 5.0. | Ano |
createdDateTime | string |
Manifest importu data a času byl vytvořen ve formátu ISO 8601. Příklad: "2020-10-02T22:18:04.9446744Z" |
Ano |
Nejsou povoleny další vlastnosti.
UpdateId – objekt
Objekt updateID je jedinečný identifikátor pro každou aktualizaci.
Vlastnost | Type | Popis | Povinní účastníci |
---|---|---|---|
poskytovatel | string |
Entita, která vytváří nebo přímo zodpovídá za aktualizaci. Může to 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. Může to být třída zařízení nebo název modelu. Vzor: ^[a-zA-Z0-9.-]+$ Maximální délka: 64 znaků |
Ano |
version | string |
Dvoudílná tečka oddělená číselnými čísly verzí oddělených dvěma až čtyřmi částmi Každá část musí být číslo v rozsahu 0 až 2147483647 a počáteční nuly se zahodí. Vzor: ^\d+(?:\.\d+)+$ Příklady: "1.0" , "2021.11.8" |
Ano |
Nejsou povoleny další vlastnosti.
Příklad:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
objekt kompatibility
Objekt kompatibility popisuje vlastnosti zařízení, se kterým je tato aktualizace kompatibilní.
- Typ:
object
- Minimální vlastnosti:
1
- Maximální počet vlastností:
5
Každá vlastnost je dvojice název-hodnota typu řetězec.
- Minimální délka názvu vlastnosti:
1
- Maximální délka názvu vlastnosti:
32
- Minimální délka hodnoty vlastnosti:
1
- Maximální délka hodnoty vlastnosti:
64
Stejnou sadu vlastností kompatibility nelze použít s více než jednou kombinací zprostředkovatele aktualizací a názvu.
Příklad:
{
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
]
}
objekt instructions
Objekt instrukcí poskytuje pokyny k instalaci aktualizace. Objekt instrukcí obsahuje seznam kroků, které se mají provést. Kroky můžou být kódem, který se má provést, nebo ukazatelem na jinou aktualizaci.
Vlastnost | Type | Popis | Povinní účastníci |
---|---|---|---|
schody | array[1-10] |
Každý prvek v poli musí být buď inlineStep objekt nebo referenceStep objektu. | Ano |
Nejsou povoleny další vlastnosti.
Příklad:
{
"instructions": {
"steps": [
{
"type": "inline",
...
},
{
"type": "reference",
...
}
]
}
}
inlineStep – objekt
Vložený objekt kroku je instrukční krok instalace, který provádí provádění kódu.
Vlastnost | Type | Popis | Povinní účastníci |
---|---|---|---|
type | 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. |
No |
popis | string |
Volitelný popis kroku instrukce. Maximální délka: 64 znaků |
No |
obslužná rutina | string |
Identita obslužné rutiny v zařízení, které může tento krok provést. Vzor: ^\S+/\S+:\d{1,5}$ Minimální délka: 5 znaků Maximální délka: 32 znaků Příklady: microsoft/script:1 , microsoft/swupdate:1 , microsoft/apt:1 |
Ano |
soubory | string [1-10] |
Názvy aktualizačních souborů definovaných jako objekty souborů, které agent předá obslužné rutině. Každý prvek v poli musí mít délku 1 až 255 znaků. | Ano |
Obslužná rutina | inlineStepHandlerProperties |
Objekt JSON, který agent předá obslužné rutině jako argumenty. | No |
Nejsou povoleny další vlastnosti.
Příklad:
{
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
}
]
}
referenceStep – objekt
Objekt referenčního kroku je instrukční krok instalace, který nainstaluje další aktualizaci.
Vlastnost | Type | Popis | Povinní účastníci |
---|---|---|---|
type | 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ů |
No |
updateId | updateId |
Jedinečný identifikátor aktualizace | Ano |
Nejsou povoleny další vlastnosti.
Příklad:
{
"steps": [
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.HeatingElement",
"version": "1.0"
}
}
]
}
objekt file
Objekt souboru je soubor datové části aktualizace, například binární soubor, firmware, skript atd. Každý objekt souboru musí být v rámci aktualizace jedinečný.
Vlastnost | Type | Popis | Povinní účastníci |
---|---|---|---|
filename | string |
Aktualizujte název souboru datové části. Maximální délka: 255 znaků |
Ano |
sizeInBytes | number |
Velikost souboru v počtu bajtů Maximální velikost: 2147483648 bajtů |
Ano |
Hash | fileHashes |
Hodnoty hash souborů s kódováním Base64 s názvem algoritmu jako klíčem Musí být zadán alespoň algoritmus SHA-256 a v případě podpory agenta může být zadán další algoritmus. Podrobnosti o výpočtu hodnoty hash najdete níže. | Ano |
relatedFiles | relatedFile[0-4] |
Kolekce souvisejících souborů s jedním nebo více primárními datovými částmi. | No |
downloadHandler | downloadHandler |
Určuje, jak zpracovat všechny související soubory. | Ano pouze v případě, že používáte relatedFiles. |
Nejsou povoleny další vlastnosti.
Příklad:
{
"files": [
{
"filename": "configure.sh",
"sizeInBytes": 7558,
"hashes": {...}
}
]
}
fileHashes – objekt
Hodnoty hash souboru s kódováním Base64 s názvem algoritmu jako klíčem 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 skriptu AduUpdate.psm1 pomocí funkce Get-AduFileHashes.
Vlastnost | Type | Popis | Povinní účastníci |
---|---|---|---|
sha256 | string |
Hodnota hash souboru s kódováním Base64 pomocí algoritmu SHA-256 | Ano |
Jsou povoleny další vlastnosti.
Příklad:
{
"hashes": {
"sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
}
}
relatedFiles – objekt
Kolekce souvisejících souborů s jedním nebo více primárními datovými částmi.
Vlastnost | Type | Popis | Povinní účastníci |
---|---|---|---|
filename | 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 |
Hodnoty hash souborů s kódováním Base64 s názvem algoritmu jako klíčem Musí být zadán alespoň algoritmus SHA-256 a v případě podpory agenta může být zadán další algoritmus. Podrobnosti o výpočtu hodnoty hash najdete níže. | Ano |
vlastnosti | relatedFilesProperties [0-5] |
Limit 5 párů klíč-hodnota, kde je klíč omezen na 64 znaků ASCII a hodnota je JObject (s až 256 znaky ASCII). | No |
Jsou povoleny další vlastnosti.
Příklad:
"relatedFiles": [
{
"filename": "in1_in2_deltaupdate.dat",
"sizeInBytes": 102910752,
"hashes": {
"sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
},
"properties": {
"microsoft.sourceFileHashAlgorithm": "sha256",
"microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
}
}
],
Další informace najdete v tématu Použití funkce souvisejících souborů k odkazování na více aktualizačních souborů.
objekt downloadHandler
Určuje, jak zpracovat všechny související soubory.
Vlastnost | Type | Popis | Povinní účastníci |
---|---|---|---|
id | string |
Identifikátor pro downloadHandler. Limit 64 znaků ASCII | Ano |
Další vlastnosti nejsou povoleny.
Příklad:
"downloadHandler": {
"id": "microsoft/delta:1"
}
Další kroky
Přečtěte si další informace o konceptech importu.
Pokud jste připravení, vyzkoušejte si průvodce postupy importu, který vás provede procesem importu krok za krokem.