Megosztás a következőn keresztül:


Az Azure Device Update for IoT Hub importálási jegyzékséma

Amikor egy frissítést importál az Iot Hubhoz készült Azure Device Update-be, elküld egy társított JSON-importálási jegyzékfájlt is, amely meghatározza a frissítéssel kapcsolatos fontos információkat. Ez a cikk a JSON-importálási jegyzékfájl létrehozásához használt sémát ismerteti.

Az importálási jegyzék fogalmaival és a fájlstruktúrával kapcsolatos további információkért tekintse meg az Azure Device Update for IoT Hub importálási jegyzékét. A fájl létrehozásának módjáról további információt az IoT Hub eszközfrissítésébe való importáláshoz szükséges frissítés előkészítése című témakörben talál.

Séma

Az importálási jegyzék JSON-sémája a SchemaStore.org található, és a következő tulajdonságokból áll. Más tulajdonságok nem engedélyezettek.

Tulajdonság Típus Leírás Kötelező
$schema string JSON-sémahivatkozás. Nem
updateId updateId Egyedi frissítésazonosító. Igen
leírás string Nem kötelező a frissítés leírása. Maximális hossz 512 karakter. Nem
kompatibilitás compatibility Azon eszköztulajdonság-csoportok listája, amellyel a frissítés kompatibilis. Igen
előírás instructions Frissítési telepítési utasítások. Igen
Fájlokat file [0-10] A frissítés hasznos adatfájljainak listája. Az összes fájlméret összege nem haladhatja meg a 2 GB-ot. Üres vagy null értékű lehet, ha az összes utasítási lépés referencialépés. Nem
manifestVersion string Jegyzékséma-verzió importálása. 5.0-snak kell lennie. Igen
createdDateTime string Importálja például "2020-10-02T22:18:04.9446744Z"a jegyzéklétrehozási dátumot és időpontot ISO 8601 formátumban. Igen

Objektum frissítése

Az updateID objektum minden frissítés egyedi azonosítója.

Tulajdonság Típus Leírás Kötelező
szolgáltató string A frissítést létrehozó vagy közvetlenül felelős entitás. A szolgáltató lehet cégnév.
Minta: ^[a-zA-Z0-9.-]+$
Maximális hossz: 64 karakter
Igen
név string Egy frissítési osztály azonosítója. A név lehet eszközosztály vagy modellnév.
Minta: ^[a-zA-Z0-9.-]+$
Maximális hossz: 64 karakter
Igen
verzió string Két- és négyrészes, pontokkal tagolt numerikus verziószámok. Minden résznek 0 és 2147483647 közötti számnak kell lennie, és a kezdő nullák el lesznek dobva.
Minta: ^\d+(?:\.\d+)+$
Példák: "1.0", "2021.11.8"
Igen

Más tulajdonságok nem engedélyezettek.

Példa:

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

Kompatibilitási objektum

Az compatibility objektum egy olyan eszköz 1–5 tulajdonságát írja le, amellyel ez a frissítés kompatibilis. Minden tulajdonság egy string típusnév-érték pár. A névnek 1–32 karakter hosszúnak, az értéknek pedig 1–64 karakter hosszúnak kell lennie. Nem használhatja ugyanazt a kompatibilitási tulajdonságkészletet több frissítésszolgáltatóval és névkombinációval.

Példa:

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

Utasítások objektum

Az instructions objektum tartalmazza a frissítés telepítési utasításait. Az utasítások objektuma tartalmazza a steps végrehajtandó műveletek listáját. Más tulajdonságok nem engedélyezettek.

A lépések lehetnek végrehajtható kódok, vagy más frissítésekre mutató hivatkozások. A lépésobjektum alapértelmezett inline értéke, ha nincs type megadva érték.

Tulajdonság Típus Leírás Kötelező
utaslépcső array[1-10] A tömb minden elemének steps beágyazott lépésobjektumnak vagy referencialépés-objektumnak kell lennie. Igen

Példa:

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

Beágyazott lépésobjektum

A inline lépésobjektumok olyan telepítési utasítási lépések, amelyek kódvégrehajtást hajtanak végre.

Tulajdonság Típus Leírás Kötelező
type string Kódvégrehajtást végrehajtó utasításlépés-típus. Kell lennie inline. Alapértelmezett érték inline , ha nincs megadva érték. Nem
leírás string Opcionális utasításlépés leírása. Maximális hossz: 64 karakter. Nem
edzőtárs string A lépés végrehajtására képes eszköz kezelőjének identitása.
Minta: ^\S+/\S+:\d{1,5}$
Minimális hossz: Öt karakter
Maximális hossz: 32 karakter
Példák: microsoft/script:1, , microsoft/swupdate:2microsoft/apt:1
Igen
Fájlokat string [1-10] A fájlobjektumként definiált frissítési fájlok nevei , amelyeket az ügynök átad a kezelőnek. Minden elemhossznak 1–255 karakter hosszúságúnak kell lennie. Igen
handlerProperties inlineStepHandlerProperties JSON-objektumok, amelyeket az ügynök argumentumként ad át a kezelőnek. Nem

Más tulajdonságok nem engedélyezettek.

Példa:

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

Referencialépés-objektum

A reference lépésobjektum egy telepítési utasítás lépés egy másik frissítés telepítéséhez.

Tulajdonság Típus Leírás Kötelező
type referenceStepType Egy másik frissítést telepítő utasításlépés-típus. Kell lennie reference. Igen
leírás stepDescription Opcionális utasításlépés leírása. Maximális hossz: 64 karakter. Nem
updateId updateId Egyedi frissítésazonosító. Igen

Más tulajdonságok nem engedélyezettek.

Példa:

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

Fájlok objektum

Minden files objektum egy frissítési hasznos adatfájl, például bináris, belső vezérlőprogram vagy szkriptfájl, amelyeknek egyedinek kell lenniük egy frissítésen belül.

Tulajdonság Típus Leírás Kötelező
fájlnév string Frissítse a hasznos adatfájl nevét. Maximális hossz: 255 karakter Igen
sizeInBytes number Fájlméret bájtszámban. Maximális méret: 2147483648 bájt Igen
Vagdal fileHashes Base64 kódolású fájlkivonatok algoritmusnévvel kulcsként. Legalább SHA-256 algoritmust kell megadni, és további algoritmusokat is megadhat, ha az ügynök támogatja. A kivonat kiszámításának részleteiért tekintse meg a Kivonatoló objektumot . Igen
relatedFiles relatedFile[0-4] Egy vagy több elsődleges hasznos adatfájlhoz kapcsolódó fájlok gyűjteménye. További információ: relatedFiles objektum. Nem
downloadHandler downloadHandler A kapcsolódó fájlok feldolgozásának módját adja meg. Igen, ha a .relatedFiles További információ: downloadHandler objektum.

Más tulajdonságok nem engedélyezettek.

Példa:

{
  "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"
        }
    }
  ]
}

Kivonat objektum

Az hashes objektum base64 kódolású fájlkivonatokat tartalmaz, kulcsként az algoritmusnevekkel. Legalább az SHA-256 algoritmust meg kell adni, és más algoritmusokat is meg lehet adni, ha az ügynök támogatja. A kivonat helyes kiszámításának módját az AduUpdate.psm1 szkriptben találhatja Get-AduFileHashes meg.

Tulajdonság Típus Leírás Kötelező
sha256 string Alap64 kódolású fájlkivonat értéke SHA-256 algoritmussal. Igen

Más tulajdonságok is engedélyezettek.

Példa:

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

relatedFiles objektum

Az relatedFiles objektum egy vagy több elsődleges hasznos adatfájlhoz kapcsolódó fájlgyűjteményt tartalmaz. További információ: A kapcsolódó fájlok funkció használata több frissítési fájlra való hivatkozással.

Tulajdonság Típus Leírás Kötelező
fájlnév string Az elsődleges hasznos adatfájlhoz társított kapcsolódó fájlok listája. Igen
sizeInBytes number Fájlméret bájtszámban. Maximális méret: 2147483648 bájt. Igen
Vagdal fileHashes Base64 kódolású fájlkivonatok algoritmusnévvel kulcsként. További információ: Kivonatok objektum. Igen
kellékek relatedFilesProperties [0-5] Legfeljebb öt kulcs-érték pár, ahol a kulcs legfeljebb 64 ASCII-karakterből áll, és az érték egy legfeljebb 256 ASCII karaktert tartalmazó JObject. Nem

Más tulajdonságok is engedélyezettek.

Példa:

"relatedFiles": [
  {
    "filename": "in1_in2_deltaupdate.dat",
    "sizeInBytes": 102910752,
    "hashes": {
      "sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
    },
    "properties": {
      "microsoft.sourceFileHashAlgorithm": "sha256",
      "microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
    }
  }
],

downloadHandler objektum

Az downloadHandler objektum a kapcsolódó fájlok feldolgozását határozza meg.

Tulajdonság Típus Leírás Kötelező
id string Azonosító a következőhöz downloadHandler: . Legfeljebb 64 ASCII-karakter lehet. Igen, ha a relatedFiles

Más tulajdonságok nem engedélyezettek.

Példa:

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