Schema för importmanifest för Azure Device Update för IoT Hub
När du importerar en uppdatering till Azure Device Update för Iot Hub skickar du även en associerad JSON-importmanifestfil som definierar viktig information om uppdateringen. I den här artikeln beskrivs det schema som används för att skapa JSON-importmanifestfilen.
Mer information om importmanifestbegrepp och filstruktur finns i Importmanifestet för Azure Device Update för IoT Hub. Information om hur du skapar filen finns i Förbereda en uppdatering för import till Enhetsuppdatering för IoT Hub.
Schema
JSON-schemat för importmanifestet finns på SchemaStore.org och består av följande egenskaper. Inga andra egenskaper tillåts.
Property | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
$schema | string |
JSON-schemareferens. | Nej |
updateId | updateId |
Unik uppdateringsidentifierare. | Ja |
beskrivning | string |
Valfri uppdateringsbeskrivning. Maximal längd på 512 tecken. | Nej |
kompatibilitet | compatibility |
Lista över enhetsegenskapsuppsättningar som uppdateringen är kompatibel med. | Ja |
instruktioner | instructions |
Uppdatera installationsanvisningarna. | Ja |
filer | file [0-10] |
Lista över uppdateringsnyttolastfiler. Summan av alla filstorlekar får inte överstiga 2 GB. Kan vara tomt eller null om alla instruktionssteg är referenssteg. | Nej |
manifestVersion | string |
Importera manifestschemaversion. Måste vara 5.0. | Ja |
createdDateTime | string |
Importera datum och tid för skapande av manifest i ISO 8601-format, till exempel "2020-10-02T22:18:04.9446744Z" . |
Ja |
Uppdatera objekt
Objektet updateID
är en unik identifierare för varje uppdatering.
Property | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
familjeförsörjare | string |
Entitet som skapar eller är direkt ansvarig för uppdateringen. Providern kan vara ett företagsnamn. Mönster: ^[a-zA-Z0-9.-]+$ Maximal längd: 64 tecken |
Ja |
Namn | string |
Identifierare för en uppdateringsklass. Namnet kan vara en enhetsklass eller ett modellnamn. Mönster: ^[a-zA-Z0-9.-]+$ Maximal längd: 64 tecken |
Ja |
version | string |
Två till fyra delar punktavgränsade numeriska versionsnummer. Varje del måste vara ett tal mellan 0 och 2147483647 och inledande nollor tas bort. Mönster: ^\d+(?:\.\d+)+$ Exempel: "1.0" , "2021.11.8" |
Ja |
Inga andra egenskaper tillåts.
Till exempel:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
Kompatibilitetsobjekt
Objektet compatibility
beskriver 1–5 egenskaper för en enhet som uppdateringen är kompatibel med. Varje egenskap är ett string
typnamn/värde-par. Namnet måste vara 1–32 tecken långt och värdet måste vara 1–64 tecken långt. Du kan inte använda samma exakta uppsättning kompatibilitetsegenskaper med fler än en uppdateringsprovider och namnkombination.
Till exempel:
{
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
]
}
Instruktionsobjekt
Objektet instructions
innehåller installationsanvisningarna för uppdateringen. Instruktionsobjektet innehåller en lista över steps
som ska utföras. Inga andra egenskaper tillåts.
Steg kan antingen vara kod för att köra eller pekar på andra uppdateringar. Ett stegobjekt är standard om inline
inget type
värde anges.
Property | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
trappsteg | array[1-10] |
Varje element i matrisen steps måste vara antingen ett infogat stegobjekt eller ett referensstegobjekt. |
Ja |
Till exempel:
{
"instructions": {
"steps": [
{
"type": "inline",
...
},
{
"type": "reference",
...
}
]
}
}
Infogat stegobjekt
Ett inline
stegobjekt är ett installationsinstruktionssteg som utför kodkörning.
Property | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
typ | string |
Instruktionsstegstyp som utför kodkörning. Måste vara inline . Standardvärdet inline är om inget värde anges. |
Nej |
beskrivning | string |
Valfri beskrivning av instruktionssteg. Maximal längd: 64 tecken. | Nej |
Handler | string |
Identitet för hanteraren på enheten som kan köra det här steget. Mönster: ^\S+/\S+:\d{1,5}$ Minsta längd: Fem tecken Maximal längd: 32 tecken Exempel: microsoft/script:1 , microsoft/swupdate:2 , microsoft/apt:1 |
Ja |
filer | string [1-10] |
Namn på uppdateringsfiler som definierats som filobjekt som agenten skickar till hanteraren. Varje elementlängd måste vara 1–255 tecken. | Ja |
handlerProperties | inlineStepHandlerProperties |
JSON-objekt som agenten skickar till hanteraren som argument. | Nej |
Inga andra egenskaper tillåts.
Till exempel:
{
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
}
]
}
Referensstegsobjekt
Ett reference
stegobjekt är ett installationsinstruktionssteg för att installera en annan uppdatering.
Property | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
typ | referenceStepType |
Instruktionsstegstyp som installerar en annan uppdatering. Måste vara reference . |
Ja |
beskrivning | stepDescription |
Valfri beskrivning av instruktionssteg. Maximal längd: 64 tecken. | Nej |
updateId | updateId |
Unik uppdateringsidentifierare. | Ja |
Inga andra egenskaper tillåts.
Till exempel:
{
"steps": [
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.HeatingElement",
"version": "1.0"
}
}
]
}
Filobjekt
Varje files
objekt är en uppdateringsnyttolastfil, till exempel en binär fil, inbyggd programvara eller skriptfil, som måste vara unik i en uppdatering.
Property | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
filename | string |
Uppdatera nyttolastfilens namn. Maximal längd: 255 tecken | Ja |
sizeInBytes | number |
Filstorlek i antal byte. Maximal storlek: 2147483648 byte | Ja |
Hashes | fileHashes |
Base64-kodade fil-hashar med algoritmnamn som nyckel. Minst SHA-256-algoritm måste anges och ytterligare algoritmer kan anges om de stöds av agenten. Mer information om hur du beräknar hashen finns i Hashes-objektet . | Ja |
relatedFiles | relatedFile[0-4] |
Samling filer som är relaterade till en eller flera primära nyttolastfiler. Mer information finns i relatedFiles-objektet. | Nej |
downloadHandler | downloadHandler |
Anger hur du bearbetar relaterade filer. | Ja, om du använder relatedFiles . Mer information finns i downloadHandler-objekt. |
Inga andra egenskaper tillåts.
Till exempel:
{
"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"
}
}
]
}
Hash-objekt
Objektet hashes
innehåller base64-kodade fil-hashar med algoritmnamnen som nycklar. Minst SHA-256-algoritmen måste anges och andra algoritmer kan anges om agenten stöder det. Ett exempel på hur du beräknar hashen korrekt Get-AduFileHashes
finns i funktionen i skriptet AduUpdate.psm1.
Property | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
sha256 | string |
Base64-kodat filhashvärde med sha-256-algoritm. | Ja |
Andra egenskaper tillåts.
Till exempel:
{
"hashes": {
"sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
}
}
relatedFiles-objekt
Objektet relatedFiles
innehåller en samling filer som är relaterade till en eller flera primära nyttolastfiler. Mer information finns i Använda funktionen relaterade filer för att referera till flera uppdateringsfiler.
Property | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
filename | string |
Lista över relaterade filer som är associerade med en primär nyttolastfil. | Ja |
sizeInBytes | number |
Filstorlek i antal byte. Maximal storlek: 2147483648 byte. | Ja |
Hashes | fileHashes |
Base64-kodade fil-hashar med algoritmnamn som nyckel. Mer information finns i Hashes-objekt. | Ja |
Egenskaper | relatedFilesProperties [0-5] |
Upp till fem nyckel/värde-par, där nyckeln är begränsad till 64 ASCII-tecken och värdet är en JObject med upp till 256 ASCII-tecken. | Nej |
Andra egenskaper tillåts.
Till exempel:
"relatedFiles": [
{
"filename": "in1_in2_deltaupdate.dat",
"sizeInBytes": 102910752,
"hashes": {
"sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
},
"properties": {
"microsoft.sourceFileHashAlgorithm": "sha256",
"microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
}
}
],
downloadHandler-objekt
Objektet downloadHandler
anger hur du bearbetar relaterade filer.
Property | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
id | string |
Identifierare för downloadHandler . Gräns på 64 ASCII-tecken. |
Ja, om du använder relatedFiles |
Inga andra egenskaper tillåts.
Till exempel:
"downloadHandler": {
"id": "microsoft/delta:1"
}