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:1 microsoft/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.