Sdílet prostřednictvím


Aktualizace zařízení Azure pro schéma manifestu importu 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 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 relatedFilesrozhraní . 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-AduFileHashesAduUpdate.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"
}