Sdílet prostřednictvím


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 o schématu manifestu importu nebo informace o oprávněních rozhraní API, podívejte se níže.

Schéma JSON manifestu importu je hostované na SchemaStore.org.

Schéma

Vlastnictví Typ Popis Povinné
$schema string Referenční informace ke schématu JSON Ne
updateId updateId Jedinečný identifikátor aktualizace Ano
popis string Volitelný popis aktualizace

Maximální délka: 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. Pokud jsou všechny kroky pokynů referenčními kroky, může být prázdná nebo null. Ne
manifestVersion string Import verze schématu manifestu Musí být 4.0. Ano
datum a čas vytvoření 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.

Vlastnictví Typ Popis Povinné
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
verze string Číselné verze s dvěma až čtyřmi částmi, oddělené tečkou. 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.

Napří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 typu název-hodnota řetězcového typu.

  • 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.

Například:

{
  "compatibility": [
    {
      "deviceManufacturer": "Contoso",
      "deviceModel": "Toaster"
    }
  ]
}

objekt instrukce

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.

Vlastnictví Typ Popis Povinné
kroky array[1-10] Každý prvek v poli musí být buď inlineStep objekt nebo referenceStep objekt. Ano

Nejsou povoleny další vlastnosti.

Napří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.

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: 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é 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 JSON objekt, který agent předá obslužné rutině jako argumenty. Ne

Nejsou povoleny další vlastnosti.

Napří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.

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
updateId updateId Jedinečný identifikátor aktualizace Ano

Nejsou povoleny další vlastnosti.

Například:

{
  "steps": [
    {
      "type": "reference",
      "updateId": {
        "provider": "Contoso",
        "name": "Toaster.HeatingElement",
        "version": "1.0"
      }
    }
  ]
}

souborový objekt

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ý.

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 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

Nejsou povoleny další vlastnosti.

Například:

{
  "files": [
    {
      "filename": "configure.sh",
      "sizeInBytes": 7558,
      "hashes": {...}
    }
  ]
}

fileHashes – objekt

Hashy souborů zakódované do 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 najdete ve skriptu AduUpdate.psm1 ve funkci Get-AduFileHashes.

Vlastnictví Typ Popis Povinné
sha256 string Hodnota hash souboru kódovaná Base64 pomocí algoritmu SHA-256 Ano

Jsou povoleny další vlastnosti.

Například:

{
  "hashes": {
    "sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
  }
}

Další kroky

Přečtěte si další informace o konceptech importu.

Pokud jste připravení, vyzkoušejte průvodce importem How-To, který vás provede procesem importu krok za krokem.