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:2 microsoft/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"
}