Sdílet prostřednictvím


Schéma importu manifestu služby Azure Device Update pro IoT Hub

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 této aktualizaci. Tento článek popisuje schéma použité k vytvoření souboru manifestu importu JSON.

Další informace o konceptech importu manifestu a struktuře souborů najdete v tématu Manifest importu služby Azure Device Update pro IoT Hub. Informace o vytvoření souboru najdete v tématu Příprava aktualizace pro import do služby Device Update pro IoT Hub.

Schéma

Schéma JSON manifestu importu se hostuje na SchemaStore.org a skládá se z následujících vlastností. Nejsou povoleny žádné další vlastnosti.

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 instrukce 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 Importovat 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 každé aktualizace.

Vlastnost Type Popis Povinní účastníci
poskytovatel string Entita, která vytváří nebo přímo zodpovídá za aktualizaci. Zprostředkovatel 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 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 od 0 do 2147483647 a počáteční nuly se zahodí.
Vzor: ^\d+(?:\.\d+)+$
Příklady: "1.0", "2021.11.8"
Ano

Nejsou povoleny žádné další vlastnosti.

Příklad:

{
  "updateId": {
    "provider": "Contoso",
    "name": "Toaster",
    "version": "1.0"
  }
}

Objekt kompatibility

Objekt compatibility popisuje 1–5 vlastností zařízení, se kterým je tato aktualizace kompatibilní. Každá vlastnost je string dvojice název-hodnota typu. Název musí mít délku 1 až 32 znaků a hodnota musí mít délku 1 až 64 znaků. Nemůžete použít stejnou přesnou sadu vlastností kompatibility s více než jednou kombinací zprostředkovatele aktualizací a názvu.

Příklad:

{
  "compatibility": [
    {
      "manufacturer": "Contoso",
      "model": "Toaster"
    }
  ]
}

Objekt Instrukce

Objekt instructions poskytuje pokyny k instalaci aktualizace. Objekt instrukcí obsahuje seznam, který steps se má provést. Nejsou povoleny žádné další vlastnosti.

Kroky můžou být kódem pro spuštění nebo ukazatele na jiné aktualizace. Objekt kroku je výchozí, inline pokud není zadaná žádná type hodnota.

Vlastnost Type Popis Povinní účastníci
schody array[1-10] Každý prvek v steps poli musí být buď vložený objekt kroku, nebo referenční krok objektu. Ano

Příklad:

{
  "instructions": {
    "steps": [
      {
        "type": "inline",
        ...
      },
      {
        "type": "reference",
        ...
      }
    ]
  }
}

Vložený objekt kroku

Objekt inline kroku je krok s pokyny k instalaci, 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: 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ých jako objekty souborů, které agent předává obslužné rutině. Každá délka prvku musí být 1–255 znaků. Ano
Obslužná rutina inlineStepHandlerProperties Objekty JSON, které agent předá obslužné rutině jako argumenty. No

Nejsou povoleny žádné další vlastnosti.

Příklad:

{
  "steps": [
    {
      "description": "pre-install script",
      "handler": "microsoft/script:1",
      "handlerProperties": {
        "arguments": "--pre-install"
      },
      "files": [
        "configure.sh"
      ]
    }
  ]
}

Referenční objekt kroku

reference Objekt kroku je instrukční krok instalace pro instalaci další aktualizace.

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 žádné další vlastnosti.

Pří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, firmware nebo soubor skriptu, který 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 Je třeba zadat alespoň algoritmus SHA-256 a v případě podpory agenta je možné zadat další algoritmy. Podrobnosti o tom, jak vypočítat hodnotu hash, najdete v tématu Hashes objekt . Ano
relatedFiles relatedFile[0-4] Kolekce souborů souvisejících s jedním nebo více primárními datovými částmi. Další informace naleznete v relatedFiles objektu. No
downloadHandler downloadHandler Určuje, jak zpracovat všechny související soubory. Ano, pokud používáte relatedFiles. Další informace naleznete v tématu downloadHandler objektu.

Nejsou povoleny žádné další vlastnosti.

Pří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 hash

Objekt hashes obsahuje hodnoty hash souboru s kódováním base64 s názvy algoritmů jako klíče. 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 Get-AduFileHashes ve skriptu AduUpdate.psm1 funkce.

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

Objekt relatedFiles obsahuje kolekci souborů, které souvisejí s jedním nebo více primárními datovými částmi. Další informace najdete v tématu Použití funkce souvisejících souborů k odkazování na více aktualizačních souborů.

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 Další informace naleznete v tématu Hashes objektu. Ano
vlastnosti relatedFilesProperties [0-5] Až pět dvojic 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="
    }
  }
],

objekt downloadHandler

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, pokud používáte relatedFiles

Nejsou povoleny žádné další vlastnosti.

Příklad:

"downloadHandler": {
  "id": "microsoft/delta:1"
}