Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Schemat
JSON-schemat för importmanifestet finns på SchemaStore.org och består av följande egenskaper. Inga andra egenskaper tillåts.
| Fastighet | Typ | Beskrivning | Krävs |
|---|---|---|---|
| $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 uppdateringspaketfiler. Summan av alla filstorlekar får inte överstiga 2 GB. Kan vara tomt eller null om alla instruktionssteg är referenssteg. | Nej |
| manifestVersion | string |
Import av manifestschemaversion. Måste vara 5.0. | Ja |
| skapadDatumTid | 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.
| Fastighet | Typ | Beskrivning | Krävs |
|---|---|---|---|
| tjänsteleverantör | 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 |
Versionsnummer med två till fyra delar avgränsade med punkt. 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 används som standardvärde om inget inline-värde anges.
| Fastighet | Typ | Beskrivning | Krävs |
|---|---|---|---|
| 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.
| Fastighet | Typ | Beskrivning | Krävs |
|---|---|---|---|
| typ | string |
Instruktionsstegstyp som utför körning av kod. Måste vara inline. Används standardvärdet inline om inget värde anges. |
Nej |
| beskrivning | string |
Valfri beskrivning av instruktionssteg. Maximal längd: 64 tecken. | Nej |
| handläggare | 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.
| Fastighet | Typ | Beskrivning | Krävs |
|---|---|---|---|
| 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.
| Fastighet | Typ | Beskrivning | Krävs |
|---|---|---|---|
| filnamn | 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] |
Filinsamling som är relaterad till en eller flera primära lastfiler. 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.
| Fastighet | Typ | Beskrivning | Krävs |
|---|---|---|---|
| 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.
| Fastighet | Typ | Beskrivning | Krävs |
|---|---|---|---|
| filnamn | 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.
| Fastighet | Typ | Beskrivning | Krävs |
|---|---|---|---|
| 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"
}