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 importmanifestschemat eller information om API-behörigheter, se nedan.

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

Schemat

Fastighet Typ Beskrivning Krävs
$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 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 4.0. Ja
skapadDatumTid 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.

Fastighet Typ Beskrivning Krävs
tjänsteleverantör 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 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

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
  • Högsta egenskapsvärdelängd: 64

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

Till exempel:

{
  "compatibility": [
    {
      "deviceManufacturer": "Contoso",
      "deviceModel": "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.

Fastighet Typ Beskrivning Krävs
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.

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
hanterar 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.

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

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.

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 algoritm kan anges om den stöds av agenten. Se nedan för mer information om hur du beräknar hashen. Ja

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 Get-AduFileHashes-funktionen i skriptet AduUpdate.psm1.

Fastighet Typ Beskrivning Krävs
sha256 string Base64-kodat filhashvärde med sha-256-algoritm. Ja

Ytterligare egenskaper tillåts.

Till exempel:

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

Nästa steg

Läs mer om importbegrepp.

Om du är redo kan du prova guiden Importera How-To, som går igenom importprocessen steg för steg.