Udostępnij za pośrednictwem


Przygotowywanie aktualizacji do zaimportowania do usługi Device Update

W tym artykule opisano sposób uzyskiwania nowej aktualizacji i przygotowywania jej do importowania do usługi Azure Device Update dla usługi IoT Hub przez utworzenie manifestu importu.

Wymagania wstępne

  • Konto i wystąpienie usługi Device Update skonfigurowane za pomocą centrum IoT Hub.

  • Urządzenie IoT lub symulator aprowizowany na potrzeby aktualizacji urządzenia w centrum IoT.

  • Środowisko powłoki Bash w usłudze Azure Cloud Shell do uruchamiania poleceń interfejsu wiersza polecenia platformy Azure. Wybierz pozycję Uruchom usługę Cloud Shell, aby otworzyć usługę Cloud Shell , lub wybierz ikonę usługi Cloud Shell na górnym pasku narzędzi witryny Azure Portal.

    Jeśli wolisz, możesz uruchomić polecenia interfejsu wiersza polecenia platformy Azure lokalnie:

    1. Zainstaluj interfejs wiersza polecenia platformy Azure. Uruchom polecenie az version , aby wyświetlić zainstalowaną wersję interfejsu wiersza polecenia platformy Azure i biblioteki zależne, a następnie uruchom polecenie az upgrade , aby zainstalować najnowszą wersję.
    2. Zaloguj się na platformie Azure, uruchamiając polecenie az login.
    3. azure-iot Zainstaluj rozszerzenie po wyświetleniu monitu o pierwsze użycie. Aby upewnić się, że używasz najnowszej wersji rozszerzenia, uruchom polecenie az extension update --name azure-iot.

Napiwek

Polecenia interfejsu wiersza polecenia platformy Azure w tym artykule używają znaku ukośnika odwrotnego \ do kontynuacji wiersza, aby argumenty poleceń mogły być łatwiejsze do odczytania. Ta składnia działa w środowiskach powłoki Bash. Jeśli uruchomisz te polecenia w programie PowerShell, zastąp każdy ukośnik odwrotny tekstem ", lub całkowicie je usuń.

Pobieranie plików aktualizacji dla urządzenia

Pobierz plik aktualizacji lub pliki do wdrożenia na urządzeniu przy użyciu usługi Device Update. Jeśli zakupiono urządzenia od producenta oryginalnego sprzętu (OEM) lub integratora rozwiązań, organizacja prawdopodobnie udostępnia aktualizacje bez konieczności tworzenia plików aktualizacji. Skontaktuj się z integratorem OEM lub rozwiązaniem, aby dowiedzieć się, jak udostępniają aktualizacje. Jeśli Organizacja tworzy oprogramowanie dla urządzeń, tworzy również aktualizacje dla tego oprogramowania.

Aby utworzyć aktualizację, wybierz typ aktualizacji oparty na obrazie lub na podstawie pakietu, w zależności od scenariusza.

Napiwek

Możesz wypróbować samouczki dotyczące aktualizacji opartej na obrazie, opartej na pakietach lub serwera proxy albo po prostu wyświetlić przykładowe pliki manifestu importu z tych samouczków, aby uzyskać informacje.

Tworzenie podstawowego manifestu importowania aktualizacji urządzeń

Gdy masz pliki aktualizacji i zapoznasz się z podstawowymi pojęciami dotyczącymi importowania aktualizacji urządzeń, utwórz manifest importu, aby opisać aktualizację. Chociaż manifest importu JSON można utworzyć ręcznie przy użyciu edytora tekstów, polecenie az iot du init v5 interfejsu wiersza polecenia platformy Azure upraszcza proces. Aby uzyskać więcej informacji na temat schematu manifestu importu, zobacz Informacje o schemacie importowania i interfejsie API aktualizacji urządzenia.

Polecenie az iot du init v5 przyjmuje następujące argumenty. Wszystkie są wymagane z wyjątkiem --filewartości , która jest pochodna, --step jeśli nie zostanie określona. Istnieje czułość pozycyjna między --step i --file.

  • Parametry --update-provider, --update-namei --update-version definiują updateId obiekt, który jest unikatowym identyfikatorem dla każdej aktualizacji.
  • --compat Obiekt zgodności jest zestawem par name-value opisujących właściwości urządzenia, z którymi ta aktualizacja jest zgodna. Można użyć określonego zestawu właściwości zgodności tylko z jedną kombinacją dostawcy i nazwy.
  • Parametr --step określa aktualizację handler na urządzeniu, taką jak microsoft/script:1, microsoft/swupdate:1lub microsoft/apt:1, i skojarzona z properties nią dla tej aktualizacji. Można użyć --step więcej niż raz.
  • Parametr --file określa path pliki aktualizacji. Można użyć --file co najmniej jednego czasu.
az iot du update init v5 \
    --update-provider <provider> \
    --update-name <update name> \
    --update-version <update version> \
    --compat <property1>=<value> <property2>=<value> \
    --step handler=<handler> properties=<JSON-formatted handler properties> \
    --file path=<paths and full file names of your update files> 

Następujące az iot du update init v5 polecenie pokazuje przykładowe wartości:

az iot du update init v5 \
    --update-provider Microsoft \
    --update-name AptUpdate \
    --update-version 1.0.0 \
    --compat manufacturer=Contoso model=Vacuum \
    --step handler=microsoft/script:1 properties='{"installedCriteria": "1.0"}' \
    --file path=/my/apt/manifest/file

Napiwek

W przypadku właściwości procedury obsługi może być konieczne ucieczka niektórych znaków w formacie JSON. Na przykład użyj polecenia '\' , aby uniknąć podwójnych cudzysłowów, jeśli uruchomisz interfejs wiersza polecenia platformy Azure w programie PowerShell.

Polecenie az iot du init v5 obsługuje zaawansowane scenariusze, w tym funkcję powiązanych plików, która umożliwia zdefiniowanie relacji między różnymi plikami aktualizacji. Aby uzyskać więcej przykładów i pełną listę parametrów opcjonalnych, zobacz dokumentację polecenia az iot du init v5 .

Po utworzeniu manifestu importu i zapisaniu go jako pliku JSON można zaimportować aktualizację. Jeśli planujesz używać witryny Azure Portal do importowania, pamiętaj, aby nazwać manifest importu nazwą manifestu formatu<.importmanifest.json.>

Tworzenie zaawansowanego manifestu importowania usługi Device Update dla aktualizacji serwera proxy

Jeśli aktualizacja jest bardziej złożona, na przykład aktualizacja serwera proxy, może być konieczne utworzenie wielu manifestów importu. W przypadku złożonych aktualizacji możesz użyć polecenia interfejsu az iot du update init v5 wiersza polecenia platformy Azure, aby utworzyć nadrzędny manifest importu i kilka podrzędnych manifestów importu.

Zastąp wartości symboli zastępczych w następujących poleceniach interfejsu wiersza polecenia platformy Azure. Aby uzyskać szczegółowe informacje na temat wartości, których można użyć, zobacz Importowanie schematu i informacji o interfejsie API. W poniższym przykładzie przedstawiono trzy aktualizacje wdrożenia na urządzeniu, aktualizację nadrzędną i dwie aktualizacje podrzędne.

az iot du update init v5 \
    --update-provider <child_1 update provider> \
    --update-name <child_1 update name> \
    --update-version <child_1 update version> \
    --compat manufacturer=<device manufacturer> model=<device model> \
    --step handler=<handler> \
    --file path=<paths and full file names of your update files> 
az iot du update init v5 \
    --update-provider <child_2 update provider> \
    --update-name <child_2 update name> \
    --update-version <child_2 update version> \
    --compat manufacturer=<device manufacturer> model=<device model> \
    --step handler=<handler> \
    --file path=<paths and full file names of your update files> 
az iot du update init v5 \
    --update-provider <parent update provider> \
    --update-name <parent update name> \
    --update-version <parent update version> \
    --compat manufacturer=<device manufacturer> model=<device model> \
    --step handler=<handler> properties=<any handler properties, JSON-formatted> \
    --file path=<paths and full file names of your update files> \
    --step updateId.provider=<child_1 update provider> updateId.name=<child_1 update name> updateId.version=<child_1 update version> \
    --step updateId.provider=<child_2 update provider> updateId.name=<child_2 update name> updateId.version=<child_2 update version>