Delen via


Updates importeren in Device Update voor IoT Hub: schema en andere informatie

Als u een update wilt importeren in Device Update voor IoT Hub, controleert u eerst de concepten en procedures . Als u geïnteresseerd bent in de details van het importmanifestschema of informatie over API-machtigingen, raadpleegt u hieronder.

Het JSON-importmanifest wordt gehost op SchemaStore.org.

Schema

Eigenschap Type Beschrijving Vereist
$schema string JSON-schemareferentie. Nee
updateId updateId Unieke update-id. Ja
beschrijving string Optionele beschrijving van update.

Maximale lengte: 512 tekens
Nee
compatibiliteit compatibility De lijst met apparaateigenschapseigenschappen stelt dat deze update compatibel is met. Ja
Instructies instructions Installatie-instructies bijwerken. Ja
archief file [0-10] Lijst met payloadbestanden bijwerken. De som van alle bestandsgrootten mag niet groter zijn dan 2 GB. Kan leeg of null zijn als alle instructiestappen verwijzingsstappen zijn. Nee
manifestVersion string De schemaversie van het manifest importeren. Moet 4.0 zijn. Ja
createdDateTime string Het importmanifest voor datum en tijd is gemaakt in ISO 8601-indeling.

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

Aanvullende eigenschappen zijn niet toegestaan.

updateId-object

Het updateID-object is een unieke id voor elke update.

Eigenschap Type Beschrijving Vereist
aanbieder string Entiteit die de update maakt of rechtstreeks verantwoordelijk is. Het kan een bedrijfsnaam zijn.

Patroon: ^[a-zA-Z0-9.-]+$
Maximale lengte: 64 tekens
Ja
name string Id voor een updateklasse. Dit kan een apparaatklasse of modelnaam zijn.

Patroon: ^[a-zA-Z0-9.-]+$
Maximale lengte: 64 tekens
Ja
version string Met twee tot vier delen gescheiden numerieke versienummers van twee tot vier delen. Elk deel moet een getal tussen 0 en 2147483647 zijn en voorloopnullen worden verwijderd.

Patroon: ^\d+(?:\.\d+)+$
Voorbeelden: "1.0", "2021.11.8"
Ja

Aanvullende eigenschappen zijn niet toegestaan.

Voorbeeld:

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

compatibiliteitsobject

Het compatibiliteitsobject beschrijft de eigenschappen van een apparaat waarmee deze update compatibel is.

  • Type: object
  • Minimale eigenschappen: 1
  • Maximumeigenschappen: 5

Elke eigenschap is een waardepaar van het type tekenreeks.

  • Minimale lengte van eigenschapsnaam: 1
  • Maximale lengte van eigenschapsnaam: 32
  • Minimale lengte van eigenschapswaarde: 1
  • Maximale lengte van eigenschapswaarde: 64

Dezelfde exacte set compatibiliteitseigenschappen kan niet worden gebruikt met meerdere updateproviders en naamcombinaties.

Voorbeeld:

{
  "compatibility": [
    {
      "deviceManufacturer": "Contoso",
      "deviceModel": "Toaster"
    }
  ]
}

instructiesobject

Het instructiesobject bevat de installatie-instructies voor updates. Het instructiesobject bevat een lijst met stappen die moeten worden uitgevoerd. Stappen kunnen code zijn die moet worden uitgevoerd of een aanwijzer naar een andere update.

Eigenschap Type Beschrijving Vereist
stappen array[1-10] Elk element in de matrix moet een inlineStep-object of een referenceStep-object zijn. Ja

Aanvullende eigenschappen zijn niet toegestaan.

Voorbeeld:

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

inlineStep-object

Een inlinestapobject is een installatie-instructiestap waarmee code-uitvoering wordt uitgevoerd.

Eigenschap Type Beschrijving Vereist
type string Instructiestaptype waarmee code-uitvoering wordt uitgevoerd. Moet inline zijn.

Standaard ingesteld inline op als er geen waarde wordt opgegeven.
Nee
beschrijving string Optionele beschrijving van de instructiestap.

Maximale lengte: 64 tekens
Nee
Handler string Identiteit van de handler op het apparaat dat deze stap kan uitvoeren.

Patroon: ^\S+/\S+:\d{1,5}$
Minimale lengte: 5 tekens
Maximale lengte: 32 tekens
Voorbeelden: microsoft/script:1, microsoft/swupdate:1microsoft/apt:1
Ja
archief string [1-10] Namen van updatebestanden die zijn gedefinieerd als bestandsobjecten die de agent doorgeeft aan de handler. Elk element in de matrix moet een lengte hebben tussen 1 en 255 tekens. Ja
handlerProperties inlineStepHandlerProperties JSON-object dat door de agent wordt doorgegeven aan handler als argumenten. Nee

Aanvullende eigenschappen zijn niet toegestaan.

Voorbeeld:

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

referenceStep-object

Een referentiestapobject is een installatie-instructiestap waarmee een andere update wordt geïnstalleerd.

Eigenschap Type Beschrijving Vereist
type referenceStepType Instructiestaptype waarmee een andere update wordt geïnstalleerd. Moet reference zijn. Ja
beschrijving stepDescription Optionele beschrijving van de instructiestap.

Maximale lengte: 64 tekens
Nee
updateId updateId Unieke update-id. Ja

Aanvullende eigenschappen zijn niet toegestaan.

Voorbeeld:

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

bestandsobject

Een bestandsobject is een payloadbestand bijwerken, bijvoorbeeld binair, firmware, script, enzovoort. Elk bestandsobject moet uniek zijn binnen een update.

Eigenschap Type Beschrijving Vereist
filename string Werk de naam van het nettoladingbestand bij.

Maximale lengte: 255 tekens
Ja
sizeInBytes number Bestandsgrootte in het aantal bytes.

Maximale grootte: 2147483648 bytes
Ja
Hashes fileHashes Met Base64 gecodeerde bestands-hashes met algoritmenaam als sleutel. Ten minste SHA-256-algoritme moet worden opgegeven en er kan een extra algoritme worden opgegeven als dit wordt ondersteund door de agent. Zie hieronder voor meer informatie over het berekenen van de hash. Ja

Aanvullende eigenschappen zijn niet toegestaan.

Voorbeeld:

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

fileHashes-object

Met Base64 gecodeerde bestands-hashes met de algoritmenaam als sleutel. Ten minste het SHA-256-algoritme moet worden opgegeven en andere algoritmen kunnen worden opgegeven als dit wordt ondersteund door de agent. Zie de functie Get-AduFileHashes in het script AduUpdate.psm1 voor een voorbeeld van het correct berekenen van de hash.

Eigenschap Type Beschrijving Vereist
sha256 string Met base64 gecodeerde hashwaarde voor bestanden met behulp van een SHA-256-algoritme. Ja

Aanvullende eigenschappen zijn toegestaan.

Voorbeeld:

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

Volgende stappen

Meer informatie over importconcepten.

Als u klaar bent, kunt u de handleiding Instructies importeren uitproberen, die u stapsgewijs door het importproces begeleidt.