Importowanie aktualizacji do usługi Device Update dla usługi IoT Hub: schemat i inne informacje
Jeśli chcesz zaimportować aktualizację do usługi Device Update dla usługi IoT Hub, zapoznaj się z pojęciami i instrukcjami. Jeśli interesuje Cię szczegóły samego schematu manifestu importu, zobacz poniżej.
Schemat JSON manifestu importu jest hostowany w SchemaStore.org.
Schemat
Właściwość | Type | Opis | Wymagania |
---|---|---|---|
$schema | string |
Dokumentacja schematu JSON. | Nie. |
updateId | updateId |
Unikatowy identyfikator aktualizacji. | Tak |
opis | string |
Opcjonalny opis aktualizacji. Maksymalna długość: 512 znaków |
Nie. |
zgodność | compatibility |
Lista zestawów właściwości urządzenia, z których ta aktualizacja jest zgodna. | Tak |
instrukcje | instructions |
Aktualizowanie instrukcji instalacji. | Tak |
Pliki | file [0-10] |
Lista plików ładunku aktualizacji. Suma wszystkich rozmiarów plików może nie przekraczać 2 GB. Może być pusty lub ma wartość null, jeśli wszystkie kroki instrukcji są krokami referencyjnymi. | Nie. |
manifestVersion | string |
Importowanie wersji schematu manifestu. Musi mieć wartość 5.0. | Tak |
createdDateTime | string |
Manifest importu daty i godziny został utworzony w formacie ISO 8601. Przykład: "2020-10-02T22:18:04.9446744Z" |
Tak |
Dodatkowe właściwości nie są dozwolone.
updateId, obiekt
Obiekt updateID jest unikatowym identyfikatorem każdej aktualizacji.
Właściwość | Type | Opis | Wymagania |
---|---|---|---|
dostawca | string |
Jednostka, która tworzy aktualizację lub odpowiada bezpośrednio za aktualizację. Może to być nazwa firmy. Deseń: ^[a-zA-Z0-9.-]+$ Maksymalna długość: 64 znaki |
Tak |
name | string |
Identyfikator klasy aktualizacji. Może to być nazwa klasy urządzenia lub modelu. Deseń: ^[a-zA-Z0-9.-]+$ Maksymalna długość: 64 znaki |
Tak |
version | string |
Od dwóch do czterech części rozdzielonych cyframi wersji liczbowych. Każda część musi być liczbą z przedziału od 0 do 2147483647 i zerami wiodącymi zostanie porzucona. Deseń: ^\d+(?:\.\d+)+$ Przykłady: "1.0" , "2021.11.8" |
Tak |
Dodatkowe właściwości nie są dozwolone.
Na przykład:
{
"updateId": {
"provider": "Contoso",
"name": "Toaster",
"version": "1.0"
}
}
obiekt zgodności
Obiekt zgodności opisuje właściwości urządzenia, z którymi ta aktualizacja jest zgodna.
- Typ:
object
- Minimalne właściwości:
1
- Maksymalna wartość właściwości:
5
Każda właściwość jest parą nazwa-wartość ciągu typu.
- Minimalna długość nazwy właściwości:
1
- Maksymalna długość nazwy właściwości:
32
- Minimalna długość wartości właściwości:
1
- Maksymalna długość wartości właściwości:
64
Nie można używać tego samego dokładnego zestawu właściwości zgodności z więcej niż jedną kombinacją dostawcy aktualizacji i nazwy.
Na przykład:
{
"compatibility": [
{
"manufacturer": "Contoso",
"model": "Toaster"
}
]
}
obiekt instrukcji
Obiekt instrukcji zawiera instrukcje instalacji aktualizacji. Obiekt instrukcji zawiera listę kroków do wykonania. Kroki mogą być kodem do wykonania lub wskaźnikiem do innej aktualizacji.
Właściwość | Type | Opis | Wymagania |
---|---|---|---|
Kroki | array[1-10] |
Każdy element w tablicy musi być obiektem inlineStep lub obiektem referenceStep. | Tak |
Dodatkowe właściwości nie są dozwolone.
Na przykład:
{
"instructions": {
"steps": [
{
"type": "inline",
...
},
{
"type": "reference",
...
}
]
}
}
inlineStep, obiekt
Wbudowany obiekt kroku to krok instrukcji instalacji, który wykonuje wykonywanie kodu.
Właściwość | Type | Opis | Wymagania |
---|---|---|---|
type | string |
Typ kroku instrukcji, który wykonuje wykonywanie kodu. Musi mieć wartość inline .Wartość domyślna to inline , jeśli nie podano żadnej wartości. |
Nie. |
opis | string |
Opcjonalny opis kroku instrukcji. Maksymalna długość: 64 znaki |
Nie. |
Obsługi | string |
Tożsamość programu obsługi na urządzeniu, które może wykonać ten krok. Deseń: ^\S+/\S+:\d{1,5}$ Minimalna długość: 5 znaków Maksymalna długość: 32 znaki Przykłady: microsoft/script:1 , , microsoft/swupdate:1 microsoft/apt:1 |
Tak |
Pliki | string [1-10] |
Nazwy plików aktualizacji zdefiniowanych jako obiekty plików, które agent przekaże do programu obsługi. Każdy element w tablicy musi mieć długość od 1 do 255 znaków. | Tak |
handlerProperties | inlineStepHandlerProperties |
Obiekt JSON, który agent przekaże program obsługi jako argumenty. | Nie. |
Dodatkowe właściwości nie są dozwolone.
Na przykład:
{
"steps": [
{
"description": "pre-install script",
"handler": "microsoft/script:1",
"handlerProperties": {
"arguments": "--pre-install"
},
"files": [
"configure.sh"
]
}
]
}
referenceStep, obiekt
Obiekt kroku odwołania to krok instrukcji instalacji, który instaluje inną aktualizację.
Właściwość | Type | Opis | Wymagania |
---|---|---|---|
type | referenceStepType |
Typ kroku instrukcji, który instaluje inną aktualizację. Musi mieć wartość reference . |
Tak |
opis | stepDescription |
Opcjonalny opis kroku instrukcji. Maksymalna długość: 64 znaki |
Nie. |
updateId | updateId |
Unikatowy identyfikator aktualizacji. | Tak |
Dodatkowe właściwości nie są dozwolone.
Na przykład:
{
"steps": [
{
"type": "reference",
"updateId": {
"provider": "Contoso",
"name": "Toaster.HeatingElement",
"version": "1.0"
}
}
]
}
obiekt pliku
Obiekt pliku jest plikiem ładunku aktualizacji, na przykład binarnym, oprogramowaniem układowym, skryptem itp. Każdy obiekt pliku musi być unikatowy w ramach aktualizacji.
Właściwość | Type | Opis | Wymagania |
---|---|---|---|
filename | string |
Zaktualizuj nazwę pliku ładunku. Maksymalna długość: 255 znaków |
Tak |
sizeInBytes | number |
Rozmiar pliku w liczbie bajtów. Maksymalny rozmiar: 2147483648 bajtów |
Tak |
Mieszania | fileHashes |
Skróty plików zakodowane w formacie Base64 z nazwą algorytmu jako kluczem. Należy określić co najmniej algorytm SHA-256, a dodatkowy algorytm można określić, jeśli jest obsługiwany przez agenta. Zobacz poniżej, aby uzyskać szczegółowe informacje na temat sposobu obliczania skrótu. | Tak |
relatedFiles | relatedFile[0-4] |
Kolekcja powiązanych plików z co najmniej jednym podstawowym plikiem ładunku. | Nie. |
downloadHandler | downloadHandler |
Określa sposób przetwarzania dowolnych powiązanych plików. | Tak tylko w przypadku używania elementów relatedFiles |
Dodatkowe właściwości nie są dozwolone.
Na przykład:
{
"files": [
{
"filename": "configure.sh",
"sizeInBytes": 7558,
"hashes": {...}
}
]
}
fileHashes, obiekt
Skróty plików zakodowane w formacie Base64 z nazwą algorytmu jako kluczem. Należy określić co najmniej algorytm SHA-256, a inne algorytmy można określić, jeśli są obsługiwane przez agenta. Aby zapoznać się z przykładem prawidłowego obliczania skrótu, zobacz funkcję Get-AduFileHashes w skrypucie AduUpdate.psm1.
Właściwość | Type | Opis | Wymagania |
---|---|---|---|
sha256 | string |
Wartość skrótu pliku zakodowanego w formacie Base64 przy użyciu algorytmu SHA-256. | Tak |
Dodatkowe właściwości są dozwolone.
Na przykład:
{
"hashes": {
"sha256": "/CD7Sn6fiknWa3NgcFjGlJ+ccA81s1QAXX4oo5GHiFA="
}
}
relatedFiles, obiekt
Kolekcja powiązanych plików z co najmniej jednym podstawowym plikiem ładunku.
Właściwość | Type | Opis | Wymagania |
---|---|---|---|
filename | string |
Lista powiązanych plików skojarzonych z podstawowym plikiem ładunku. | Tak |
sizeInBytes | number |
Rozmiar pliku w liczbie bajtów. Maksymalny rozmiar: 2147483648 bajtów |
Tak |
Mieszania | fileHashes |
Skróty plików zakodowane w formacie Base64 z nazwą algorytmu jako kluczem. Należy określić co najmniej algorytm SHA-256, a dodatkowy algorytm można określić, jeśli jest obsługiwany przez agenta. Zobacz poniżej, aby uzyskać szczegółowe informacje na temat sposobu obliczania skrótu. | Tak |
Właściwości | relatedFilesProperties [0-5] |
Limit 5 par klucz-wartość, gdzie klucz jest ograniczony do 64 znaków ASCII, a wartość to JObject (z maksymalnie 256 znakami ASCII). | Nie. |
Dodatkowe właściwości są dozwolone.
Na przykład:
"relatedFiles": [
{
"filename": "in1_in2_deltaupdate.dat",
"sizeInBytes": 102910752,
"hashes": {
"sha256": "2MIldV8LkdKenjJasgTHuYi+apgtNQ9FeL2xsV3ikHY="
},
"properties": {
"microsoft.sourceFileHashAlgorithm": "sha256",
"microsoft.sourceFileHash": "YmFYwnEUddq2nZsBAn5v7gCRKdHx+TUntMz5tLwU+24="
}
}
],
Aby uzyskać więcej informacji, zobacz Używanie funkcji powiązanych plików do odwołwania się do wielu plików aktualizacji.
downloadHandler, obiekt
Określa sposób przetwarzania dowolnych powiązanych plików.
Właściwość | Type | Opis | Wymagania |
---|---|---|---|
id | string |
Identyfikator programu downloadHandler. Limit 64 znaków ASCII. | Tak |
Dodatkowe właściwości są niedozwolone.
Na przykład:
"downloadHandler": {
"id": "microsoft/delta:1"
}
Następne kroki
Dowiedz się więcej na temat pojęć związanych z importowaniem.
Jeśli wszystko będzie gotowe, wypróbuj przewodnik Importowanie instrukcji, który przeprowadzi Cię przez proces importowania krok po kroku.