Dela via


Importera uppdateringar till Enhetsuppdatering för IoT Hub: schema och annan information

Om du vill importera en uppdatering till Enhetsuppdatering för IoT Hub måste du först granska begreppen och instruktionsguiden. Om du är intresserad av information om själva importmanifestschemat kan du läsa nedan.

JSON-schemat för importmanifestet finns på SchemaStore.org.

Schema

Property Type Beskrivning Obligatoriskt
$schema string JSON-schemareferens. Nej
updateId updateId Unik uppdateringsidentifierare. Ja
beskrivning string Valfri uppdateringsbeskrivning.

Maximal längd: 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 Datum- och tidsimportmanifestet skapades i ISO 8601-format.

Exempel: "2020-10-02T22:18:04.9446744Z"
Ja

Ytterligare egenskaper tillåts inte.

updateId-objekt

UpdateID-objektet ä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. Det kan vara ett företagsnamn.

Mönster: ^[a-zA-Z0-9.-]+$
Maximal längd: 64 tecken
Ja
Namn string Identifierare för en uppdateringsklass. Det 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

Ytterligare egenskaper tillåts inte.

Till exempel:

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

kompatibilitetsobjekt

Kompatibilitetsobjektet beskriver egenskaperna för en enhet som uppdateringen är kompatibel med.

  • Typ: object
  • Minsta egenskaper: 1
  • Maximala egenskaper: 5

Varje egenskap är ett namn/värde-par av typen sträng.

  • Minsta egenskapsnamnlängd: 1
  • Maximal egenskapsnamnlängd: 32
  • Minsta egenskapsvärdelängd: 1
  • Maximal egenskapsvärdelängd: 64

Samma exakta uppsättning kompatibilitetsegenskaper kan inte användas med fler än en uppdateringsprovider och namnkombination.

Till exempel:

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

instruktionsobjekt

Instruktionsobjektet innehåller installationsanvisningarna för uppdateringen. Instruktionsobjektet innehåller en lista över steg som ska utföras. Steg kan antingen vara kod för att köra eller en pekare till en annan uppdatering.

Property Type Beskrivning Obligatoriskt
trappsteg array[1-10] Varje element i matrisen måste vara antingen ett infogatStep-objekt eller ett referenceStep-objekt. Ja

Ytterligare egenskaper tillåts inte.

Till exempel:

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

inlineStep-objekt

Ett infogat 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: 5 tecken
Maximal längd: 32 tecken
Exempel: microsoft/script:1, microsoft/swupdate:1, microsoft/apt:1
Ja
filer string [1-10] Namn på uppdateringsfiler som definierats som filobjekt som agenten skickar till hanteraren. Varje element i matrisen måste ha en längd på mellan 1 och 255 tecken. Ja
handlerProperties inlineStepHandlerProperties JSON-objekt som agenten skickar till hanteraren som argument. Nej

Ytterligare egenskaper tillåts inte.

Till exempel:

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

referenceStep-objekt

Ett referensstegsobjekt är ett installationsinstruktionssteg som installerar 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

Ytterligare egenskaper tillåts inte.

Till exempel:

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

filobjekt

Ett filobjekt är en uppdateringsnyttolastfil, till exempel binär, inbyggd programvara, skript osv. Varje filobjekt måste vara unikt 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 algoritm kan anges om den stöds av agenten. Se nedan för mer information om hur du beräknar hashen. Ja
relatedFiles relatedFile[0-4] Samling relaterade filer till en eller flera av dina primära nyttolastfiler. Nej
downloadHandler downloadHandler Anger hur du bearbetar relaterade filer. Ja endast om du använder relatedFiles

Ytterligare egenskaper tillåts inte.

Till exempel:

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

fileHashes-objekt

Base64-kodade fil-hashar med algoritmnamnet som nyckel. 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 finns i funktionen Get-AduFileHashes i skriptet AduUpdate.psm1.

Property Type Beskrivning Obligatoriskt
sha256 string Base64-kodat filhashvärde med sha-256-algoritm. Ja

Ytterligare egenskaper tillåts.

Till exempel:

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

relatedFiles-objekt

Samling relaterade filer till en eller flera av dina primära nyttolastfiler.

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. Minst SHA-256-algoritm måste anges och ytterligare algoritm kan anges om den stöds av agenten. Se nedan för mer information om hur du beräknar hashen. Ja
Egenskaper relatedFilesProperties [0-5] Gränsen på 5 nyckel/värde-par, där nyckeln är begränsad till 64 ASCII-tecken och värdet är JObject (med upp till 256 ASCII-tecken). Nej

Ytterligare 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="
    }
  }
],

Mer information finns i Använda funktionen relaterade filer för att referera till flera uppdateringsfiler.

downloadHandler-objekt

Anger hur du bearbetar relaterade filer.

Property Type Beskrivning Obligatoriskt
id string Identifierare för downloadHandler. Gräns på 64 ASCII-tecken. Ja

Ytterligare egenskaper tillåts inte.

Till exempel:

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

Nästa steg

Läs mer om importbegrepp.

Om du är redo kan du prova guiden Importera instruktioner, som vägleder dig genom importprocessen steg för steg.