Udostępnij za pośrednictwem


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