Aktualizacja urządzenia dla kodów błędów usługi IoT Hub
Ten dokument zawiera tabelę kodów błędów dla różnych składników aktualizacji urządzeń.
Istnieją dwa podstawowe składniki po stronie klienta, które mogą zgłaszać kody błędów: agenta aktualizacji urządzeń i agenta optymalizacji dostarczania. Kody błędów pochodzą również z usługi zawartości Device Update.
Agent usługi Device Update
ResultCode i ExtendedResultCode
Aktualizacja urządzenia dla raportów ResultCode
interfejsu IoT Hub Core PnP i ExtendedResultCode
, które mogą służyć do diagnozowania błędów. Aby uzyskać więcej informacji na temat interfejsu PnP aktualizacji urządzeń podstawowych, zobacz Device Update and Plug and Play. Aby uzyskać więcej informacji na temat domyślnych znaczenia agenta aktualizacji urządzeń ResultCode i ExtendedResultCodes, zobacz repozytorium GitHub aktualizacji urządzenia.
ResultCode
jest ogólnym kodem stanu i ExtendedResultCode
jest liczbą całkowitą z zakodowanymi informacjami o błędzie.
Element ExtendedResultCode
jest wyświetlany jako podpisana liczba całkowita w interfejsie PnP. Aby zdekodować wartość , przekonwertuj ExtendedResultCode
podpisaną liczbę całkowitą na niepodpisany szesnastkowy. Używane są tylko pierwsze 4 bajty ExtendedResultCode
i są w postaci F
FFFFFFF
, w której pierwszy nibble jest kodem obiektu, a pozostałe bity są kodem błędu.
Kody obiektów
Kod obiektu | opis |
---|---|
D | Błąd zgłoszony z zestawu DO SDK |
E | Kod błędu jest błędem |
Na przykład:
ExtendedResultCode
jest -536870781
Niepodpisane reprezentacja -536870781
szesnastku to FFFFFFFF E0000083
.
Ignoruj | Kod obiektu | Kod błędu |
---|---|---|
FFFFFFFF | E | 0000083 |
0x83
wartość szesnastkowa jest 131
wyrażona w szesnastku, czyli wartość errno dla ENOLCK
elementu .
Agent optymalizacji dostarczania
W poniższej tabeli wymieniono kody błędów dotyczące składnika optymalizacji dostarczania (DO) klienta usługi Device Update. Składnik DO jest odpowiedzialny za pobieranie zawartości aktualizacji na urządzenie IoT.
Kod błędu DO można uzyskać, sprawdzając wyjątki zgłaszane w odpowiedzi na wywołanie interfejsu API. Wszystkie kody błędów DO można zidentyfikować za pomocą prefiksu 0x80D0.
Kod błędu | Błąd ciągu | Type | Opis |
---|---|---|---|
0x80D01001L | DO_E_NO_SERVICE | nie dotyczy | Optymalizacja dostarczania nie mogła zapewnić usługi |
0x80D02002L | DO_E_DOWNLOAD_NO_PROGRESS | Zadanie pobierania | Pobieranie pliku nie widziało postępu w określonym przedziale czasu |
0x80D02011L | DO_E_UNKNOWN_PROPERTY_ID | Zadanie pobierania | Właściwość SetProperty() lub GetProperty() wywoływana z nieznanym identyfikatorem właściwości |
0x80D02012L | DO_E_READ_ONLY_PROPERTY | Zadanie pobierania | Nie można wywołać właściwości SetProperty() we właściwości tylko do odczytu |
0x80D02013L | DO_E_INVALID_STATE | Zadanie pobierania | Żądana akcja nie jest dozwolona w bieżącym stanie zadania. Zadanie mogło zostać anulowane lub ukończone przeniesienie. Jest teraz w stanie tylko do odczytu. |
0x80D02018L | DO_E_FILE_DOWNLOADSINK_UNSPECIFIED | Zadanie pobierania | Nie można uruchomić pobierania, ponieważ nie określono ujścia pobierania (lokalnego pliku lub interfejsu strumienia) |
0x80D02200L | DO_E_DOWNLOAD_NO_URI | IDODownload, interfejs | Pobieranie zostało uruchomione bez podawania identyfikatora URI |
0x80D03805L | DO_E_BLOCKED_BY_NO_NETWORK | Przejściowe warunki | Pobieranie wstrzymane z powodu utraty łączności sieciowej |
0 00 00000 Total 4 bytes (32 bits)
- -- -----
| | |
| | |
| | +--------- Error code (20 bits)
| |
| +------------- Component/Area code (8 bits)
|
+--------------- Facility code (4 bits)
Aby uzyskać więcej informacji na temat analizowania kodów, zobacz Kody wyników agenta aktualizacji urządzeń i rozszerzone kody wyników lub implementowanie niestandardowej procedury obsługi zawartości.
Usługa zawartości Device Update
W poniższej tabeli wymieniono kody błędów dotyczące składnika usługi zawartości usługi Device Update. Składnik usługi zawartości jest odpowiedzialny za importowanie zawartości aktualizacji. Więcej informacji dotyczących rozwiązywania problemów jest również dostępnych do importowania aktualizacji serwera proxy.
Kod błędu | Błąd ciągu | Następne kroki |
---|---|---|
UpdateAlreadyExists | Aktualizacja o tej samej tożsamości już istnieje. | Upewnij się, że importujesz aktualizację, która nie została jeszcze zaimportowana do tego wystąpienia usługi Device Update dla usługi IoT Hub. |
DuplikowanieContentImport | Identyczna zawartość importowana jednocześnie wiele razy. | Upewnij się, że importujesz aktualizację, która nie została jeszcze zaimportowana do tego wystąpienia usługi Device Update dla usługi IoT Hub. |
CannotProcessImportManifest | Błąd podczas przetwarzania manifestu importu. | Zapoznaj się z dokumentacją dotyczącą importowania i importowania aktualizacji, aby uzyskać odpowiednie formatowanie manifestu importu. |
Nie można pobrać | Nie można pobrać manifestu importu. | Upewnij się, że adres URL pliku manifestu importu jest nadal prawidłowy. |
Nie możnaparzyć | Nie można przeanalizować manifestu importu. | Sprawdź manifest importu pod kątem dokładności względem schematu zdefiniowanego w dokumentacji dotyczącej aktualizacji importu. |
Nieobsługiwana wersja | Importowanie wersji schematu manifestu nie jest obsługiwane. | Upewnij się, że manifest importu używa najnowszego schematu zdefiniowanego w dokumentacji dotyczącej aktualizacji importu. |
Błąd podczas importowania aktualizacji z powodu przekroczenia limitu. | Nie można zaimportować dodatkowego dostawcy aktualizacji. | Osiągnięto limit liczby różnych dostawców dozwolonych w wystąpieniu usługi Device Update dla usługi IoT Hub. Usuń niektóre aktualizacje z wystąpienia i spróbuj ponownie. |
Błąd podczas importowania aktualizacji z powodu przekroczenia limitu. | Nie można zaimportować dodatkowej nazwy aktualizacji dla określonego dostawcy. | Osiągnięto limit liczby różnych nazw dozwolonych w ramach jednego dostawcy w wystąpieniu usługi Device Update dla usługi IoT Hub. Usuń niektóre aktualizacje z wystąpienia i spróbuj ponownie. |
Błąd podczas importowania aktualizacji z powodu przekroczenia limitu. | Nie można zaimportować dodatkowej wersji aktualizacji dla określonego dostawcy i nazwy. | Osiągnięto limit liczby różnych wersji dozwolonych w ramach jednego dostawcy i nazwy w wystąpieniu usługi Device Update dla usługi IoT Hub. Usuń niektóre aktualizacje o tej nazwie z wystąpienia i spróbuj ponownie. |
Błąd podczas importowania aktualizacji z powodu przekroczenia limitu. | Nie można zaimportować dodatkowego dostawcy aktualizacji z określoną zgodnością. or Nie można zaimportować dodatkowej nazwy aktualizacji z określoną zgodnością. or Nie można zaimportować dodatkowej wersji aktualizacji z określoną zgodnością. |
Podczas definiowania właściwości zgodności w manifeście importu należy pamiętać, że aktualizacja urządzenia dla usługi IoT Hub obsługuje pojedynczego dostawcę i kombinację nazw dla danego zestawu właściwości zgodności. Jeśli spróbujesz użyć tych samych właściwości zgodności z więcej niż jedną kombinacją dostawcy/nazwy, zostaną wyświetlone te błędy. Aby rozwiązać ten problem, upewnij się, że wszystkie aktualizacje dla danego urządzenia (zdefiniowane przez właściwości zgodności) używają tego samego dostawcy i nazwy. |
CannotProcessUpdateFile | Błąd podczas przetwarzania pliku źródłowego. | |
ContentFileCannotDownload | Nie można pobrać pliku źródłowego. | Upewnij się, że adres URL plików aktualizacji jest nadal prawidłowy. |
SourceFileMalwareDetected | Wykryto znany podpis złośliwego oprogramowania w importowanym pliku. | Usługa Device Update dla usługi IoT Hub skanuje zaimportowaną zawartość pod kątem złośliwego oprogramowania przy użyciu kilku różnych mechanizmów. Jeśli zostanie zidentyfikowany znany podpis złośliwego oprogramowania, importowanie zakończy się niepowodzeniem i zostanie zwrócony unikatowy komunikat o błędzie. Komunikat o błędzie zawiera opis sygnatury złośliwego oprogramowania oraz skrót pliku dla każdego pliku, w którym wykryto podpis. Możesz użyć skrótu pliku, aby znaleźć dokładny plik oflagowany i użyć opisu podpisu złośliwego oprogramowania, aby sprawdzić ten plik pod kątem złośliwego oprogramowania. Po usunięciu złośliwego oprogramowania ze wszystkich importowanych plików można ponownie rozpocząć proces importowania. |
SourceFilePendingMalwareAnalysis | Wykryto podpis w importowanym pliku, który może wskazywać na obecność złośliwego oprogramowania. | Usługa Device Update dla usługi IoT Hub skanuje zaimportowaną zawartość pod kątem złośliwego oprogramowania przy użyciu kilku różnych mechanizmów. Importowanie nie powiedzie się, jeśli podpis skanowania ma cechy złośliwego oprogramowania, nawet jeśli nie istnieje dokładne dopasowanie do znanego złośliwego oprogramowania. W takim przypadku zwracany jest unikatowy komunikat o błędzie. Komunikat o błędzie zawiera opis podejrzanego podpisu złośliwego oprogramowania oraz skrót pliku dla każdego pliku, w którym wykryto podpis. Możesz użyć skrótu pliku, aby znaleźć dokładny plik oflagowany i użyć opisu podpisu złośliwego oprogramowania, aby sprawdzić ten plik pod kątem złośliwego oprogramowania. Po usunięciu złośliwego oprogramowania z importowanych plików możesz ponownie rozpocząć proces importowania. Jeśli masz pewność, że pliki są wolne od złośliwego oprogramowania i nadal widzisz ten błąd, użyj procesu Kontakt pomoc techniczna firmy Microsoft. |