Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano przyczyny i rozwiązania typowych kodów błędów, które mogą wystąpić podczas korzystania z usługi IoT Hub.
Błędy żądania 400xxx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 400. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 400000 GenericBadRequest | Ogólny błąd nieprawidłowego żądania. | Sprawdź format żądania i parametry. |
| 400001 InvalidProtocolVersion | Wersja protokołu określona w żądaniu nie jest obsługiwana. | Zaktualizuj żądanie, aby użyć obsługiwanej wersji protokołu. |
| 400002 DeviceInvalidResultCount | Liczba wyników zwróconych przez urządzenie jest nieprawidłowa. | Upewnij się, że urządzenie zwraca poprawną liczbę wyników. |
| 400003 InvalidOperation | Żądana operacja jest nieprawidłowa. | Sprawdź, czy operacja jest obsługiwana dla urządzenia. |
| 400004 ArgumentInvalid | Co najmniej jeden argument w żądaniu jest nieprawidłowy. | Sprawdź argumenty żądania pod kątem poprawności. |
| 400005 ArgumentNull | Co najmniej jeden wymagany argument ma wartość null. | Upewnij się, że podano wszystkie wymagane argumenty. |
| 400006 IotHubFormatError | Format żądania jest nieprawidłowy. | Sprawdź format żądania pod kątem poprawności. |
| 400007 DeviceStorageEntitySerializationError | Nie można serializować ani deserializować jednostki magazynu urządzeń. | Sprawdź format serializacji i dane. |
| 400008 BlobContainerValidationError | Określony kontener obiektów blob jest nieprawidłowy. | Sprawdź nazwę i uprawnienia kontenera obiektów blob. |
| 400009 ImportWarningExistsError | Istnieje ostrzeżenie dotyczące importu. | Przejrzyj ostrzeżenia dotyczące importu i rozwiąż je. |
| 400010 InvalidSchemaVersion | Określona wersja schematu jest nieprawidłowa. | Zaktualizuj wersję schematu do obsługiwanej wersji. |
| 400011 DeviceDefinedMultipleTimes | Urządzenie jest definiowane wiele razy. | Upewnij się, że urządzenie jest zdefiniowane tylko raz. |
| 400012 Błąd Deserializacji | Wystąpił błąd podczas deserializacji żądania. | Sprawdź format żądania i dane pod kątem poprawności. |
| 400013 BulkRegistryOperationFailure | Operacja rejestru zbiorczego nie powiodła się. | Przejrzyj szczegóły operacji zbiorczej i spróbuj ponownie. |
| 400014 DefaultStorageEndpointNotConfigured | Domyślny punkt końcowy usługi przechowywania nie jest skonfigurowany. | Skonfiguruj domyślny punkt końcowy magazynu. |
| 400015 InvalidFileUploadCorrelationId | Identyfikator korelacji przesyłania pliku jest nieprawidłowy. | Sprawdź poprawność identyfikatora korelacji przesyłania pliku. |
| 400016 WygasłyFileUploadCorrelationId | Identyfikator korelacji przesyłania pliku wygasł. | Uzyskaj nowy identyfikator korelacji przekazywania pliku. |
| 400017 NiepoprawnyPunktKońcowyPrzechowywania | Określony punkt końcowy pamięci masowej jest nieprawidłowy. | Sprawdź punkt końcowy magazynu pod kątem poprawności. |
| 400018 NiepoprawnyPunktKońcowyWiadomości | Określony punkt końcowy obsługi komunikatów nie jest prawidłowy. | Sprawdź poprawność punktu końcowego obsługi komunikatów. |
| 400019 InvalidFileUploadCompletionStatus | Stan ukończenia przesyłania pliku jest nieprawidłowy. | Sprawdź stan ukończenia przekazywania pliku pod kątem poprawności. |
| 400020 InvalidStorageEndpointOrBlob | Podczas próby utworzenia obiektu blob w trakcie przesyłania pliku, magazyn obiektów blob odpowiada jednym z kodów: Forbidden, Unauthorized, NotFound lub BadRequest. |
Sprawdź uprawnienia i obecność przestrzeni magazynowej obiektów blob. |
| 400021 ŻądanieAnulowane | Prośba została anulowana. | Spróbuj ponownie wysłać żądanie. |
| 400022 InvalidStorageEndpointProperty - Nieprawidłowa właściwość punktu końcowego magazynowania | Określona właściwość punktu końcowego magazynu jest nieprawidłowa. | Sprawdź właściwości punktu końcowego magazynu pod kątem poprawności. |
| 400023 EtagDoesNotMatch | ETag określony w żądaniu nie pasuje do bieżącego ETag zasobu. | Zaktualizuj ETag w żądaniu, tak aby pasował do bieżącego ETag. |
| 400024 ŻądaniePrzekroczyłoLimitCzasu | Żądanie przekroczyło limit czasu. | Spróbuj ponownie wysłać żądanie. |
| 400025 NieobsługiwanaOperacjaNaRepliku | Operacja nie jest obsługiwana w określonej repliki. | Przejrzyj szczegóły operacji i repliki. |
| 400026 NullMessage | Komunikat ma wartość null. | Upewnij się, że komunikat nie ma wartości null. |
| 400027 ConnectionForcefullyClosedOnNewConnection (Połączenie zostało zamknięte na nowym połączeniu) | Urządzenie rozłącza się i raportuje Communication_Error jako ConnectionStatusChangeReason, używając zestawu SDK .NET i typu transportu MQTT. Operacja cyfrowego bliźniaka urządzenia w chmurze (na przykład odczyt lub aktualizacja zgłoszonych właściwości) lub bezpośrednie wywołanie metody kończy się niepowodzeniem z kodem błędu 400027. Ten błąd występuje, gdy inny klient tworzy nowe połączenie z usługą IoT Hub przy użyciu tej samej tożsamości, więc usługa IoT Hub zamyka poprzednie połączenie. Usługa IoT Hub nie zezwala na nawiązywanie połączenia przy użyciu tej samej tożsamości więcej niż jednemu klientowi. |
Upewnij się, że każdy klient łączy się z usługą IoT Hub przy użyciu własnej tożsamości. |
| 400028 InvalidDeviceScope | Określony zakres urządzenia jest nieprawidłowy. | Sprawdź zakres urządzenia pod kątem poprawności. |
| 400029 ConnectionForcefullyClosedOnFaultInjection | Istniejące połączenia zostaną zamknięte z powodu tego błędu podczas uaktualniania usługi i platformy. Ponowne próby powinny od razu zakończyć się powodzeniem. | Spróbuj ponownie wykonać operację |
| 400030 PołączenieOdrzuconeZeWzględuNaIniekcjęBłędu | Nowe połączenia i natychmiastowe próby ponawiania prób zostaną odrzucone z powodu tego błędu podczas uaktualniania usługi i platformy. | Spróbuj ponownie wykonać operację |
| 400031 InvalidEndpointAuthenticationType | Określony typ uwierzytelniania punktu końcowego jest nieprawidłowy. | Sprawdź typ uwierzytelniania punktu końcowego pod kątem poprawności. |
| 400032 ZarządzanaTożsamośćNieJestWłączona | Tożsamość zarządzana nie jest włączona. | Włącz tożsamość zarządzaną. |
| 400035 InvalidPolicyKey | Określony klucz zasad jest nieprawidłowy. | Sprawdź klucz zasad pod kątem poprawności. |
| 400036 BulkRegenerateDeviceKeyOperationFailure | Operacja zbiorczego ponownego generowania klucza urządzenia nie powiodła się. | Przejrzyj szczegóły operacji. |
Błędy routingu 4001xx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4001. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 400100 InvalidRouteTestInput | Określone dane wejściowe testu trasy są nieprawidłowe. | Sprawdź dane wejściowe testu trasy pod kątem poprawności. |
| 400101 NieprawidłoweŹródłoNaTrasie | Źródło określone na trasie jest nieprawidłowe. | Sprawdź źródło na trasie, aby uzyskać poprawność. |
| 400102 RoutingNotEnabled | Routing nie jest włączony. | Włącz routing. |
| 400103 InvalidContentEncodingOrType | Określone kodowanie zawartości lub typ nie są prawidłowe. | Sprawdź kodowanie zawartości lub typ pod kątem poprawności. |
Błędy modułów 4003xx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4003. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 400301 CannotRegisterModuleToModule | Komunikacja między modułami nie jest obsługiwana. | Zamiast tego używaj komunikacji między urządzeniami lub chmurą i urządzeniem. |
| 400302 PrzekierowanieTenantHubNiejestWłączone | Routing centrum dzierżawy nie jest włączony. | Włącz routing centrum dzierżawy. |
Błędy konfiguracji 4004xx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4004. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 400401 Nieprawidłowy Warunek Konfiguracji Docelowej | Warunek docelowy określony w konfiguracji jest nieprawidłowy. | Sprawdź warunek docelowy pod kątem poprawności. |
| 400402 InvalidConfigurationContent | Zawartość określona w konfiguracji jest nieprawidłowa. | Sprawdź zawartość konfiguracji pod kątem poprawności. |
| 400403 Nie można modyfikować niezmiennej zawartości konfiguracji | Zawartość konfiguracji jest niezmienna i nie można jej modyfikować. | Zamiast tego utwórz nową konfigurację. |
| 400404 InvalidConfigurationCustomMetricsQuery - Błędna konfiguracja niestandardowego zapytania o metryki | Zapytanie dotyczące niestandardowych metryk określonych w konfiguracji jest nieprawidłowe. | Sprawdź zapytanie dotyczące metryk niestandardowych pod kątem poprawności. |
Błędy interfejsów 4005xx cyfrowych bliźniaków
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4005. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 400501 InvalidPnPInterfaceDefinition | Określona definicja interfejsu jest nieprawidłowa. | Sprawdź definicję interfejsu pod kątem poprawności. |
| 400502 InvalidPnPDesiredProperties | Określone żądane właściwości nie są prawidłowe. | Sprawdź żądane właściwości pod kątem poprawności. |
| 400503 InvalidPnPReportedProperties | Określone właściwości zgłoszone nie są prawidłowe. | Sprawdź zgłoszone właściwości pod kątem poprawności. |
| 400504 NieprawidłowePnPZapisowalneRaportowaneWłaściwości | Określone właściwości zgłaszane z możliwością zapisu są nieprawidłowe. | Sprawdź właściwości z możliwością zapisu zgłaszane pod kątem poprawności. |
| 400505 InvalidDigitalTwinJsonPatch | Poprawka JSON określona dla cyfrowego bliźniaka jest nieprawidłowa. | Sprawdź poprawność łatki JSON. |
| 400506 InvalidDigitalTwinPayload | Ładunek określony dla cyfrowego bliźniaka jest nieprawidłowy. | Sprawdź ładunek cyfrowej reprezentacji bliźniaczej, aby uzyskać poprawność. |
| 400507 InvalidDigitalTwinPatch | Poprawka określona dla cyfrowego bliźniaka jest nieprawidłowa. | Sprawdź poprawność łatki cyfrowego bliźniaka. |
| 400508 InvalidDigitalTwinPatchPath | Ścieżka poprawki określona dla cyfrowego bliźniaka jest nieprawidłowa. | Sprawdź poprawność ścieżki cyfrowego bliźniaka. |
Błędy 401xxx Brak autoryzacji
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 401. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 401000 GenericNiezautoryzowany | Żądanie nie jest autoryzowane. | Sprawdź poświadczenia autoryzacji. |
| 401001 IotHubNotFound | Nie można odnaleźć określonego centrum IoT Hub. | Sprawdź nazwę i region usługi IoT Hub. |
| 401002 IotHubUnauthorizedAccess | Żądanie nie ma autoryzacji dostępu do usługi IoT Hub. | Sprawdź zasady dostępu i uprawnienia usługi IoT Hub. |
| 401003 IotHubUnauthorized | Żądanie nie jest autoryzowane do uzyskania dostępu do IoT Hub. | Aby uzyskać więcej informacji, zobacz błąd 401003 IotHubUnauthorized . |
| 401004 ElasticPoolNotFound | Nie można odnaleźć określonej elastycznej puli. | Sprawdź nazwę i region elastycznej puli. |
| 401100 SystemModuleModifyUnauthorizedAccess | Moduł systemowy nie jest autoryzowany do modyfikowania zasobu. | Sprawdź uprawnienia modułu systemowego. |
błąd 401003 IotHubUnauthorized
W dziennikach można zaobserwować wzorzec rozłączania urządzeń z 401003 IoTHubUnauthorized, a następnie z 404104 DeviceConnectionClosedRemotely, po czym następuje pomyślne nawiązanie połączenia wkrótce potem.
Żądania do usługi IoT Hub kończą się niepowodzeniem z powodu jednego z następujących komunikatów o błędach:
- Brak nagłówka autoryzacji
- Usługa IotHub '*' nie zawiera określonego urządzenia '*'
- Reguła autoryzacji "*" nie zezwala na dostęp dla '*'
- Uwierzytelnianie nie powiodło się dla tego urządzenia, odnowić token lub certyfikat i ponownie nawiązać połączenie
- Odcisk palca nie jest zgodny z konfiguracją: Odcisk palca: SHA1Hash=*, SHA2Hash=*; Konfiguracja: PrimaryThumbprint=*, SecondaryThumbprint=*
- Podmiot user@example.com nie jest autoryzowany do wykonania operacji GET na /exampleOperation z powodu braku przypisanych uprawnień
Ten błąd występuje, ponieważ w przypadku MQTT niektóre zestawy SDK polegają na tym, że IoT Hub rozłącza się, gdy token SAS wygaśnie, aby wiedziały, kiedy go odświeżyć. Więc:
- Token SAS wygasa
- IoT Hub zauważa wygaśnięcie i rozłącza urządzenie z
401003 IoTHubUnauthorized - Urządzenie kończy rozłączanie z
404104 DeviceConnectionClosedRemotely - Zestaw SDK IoT generuje nowy token SAS
- Urządzenie zostanie pomyślnie ponownie nawiązane z usługą IoT Hub
Lub usługa IoT Hub nie może uwierzytelnić nagłówka, reguły lub klucza uwierzytelniania. Ten wynik może wynikać z któregokolwiek z powodów wymienionych w objawach.
Aby rozwiązać ten błąd, nie jest wymagana żadna akcja w przypadku używania zestawu IoT SDK do nawiązania połączenia przy użyciu parametrów połączenia urządzenia. Zestaw SDK IoT ponownie generuje nowy token, aby ponownie nawiązać połączenie po wygaśnięciu tokenu SAS.
Domyślna żywotność tokenu wynosi 60 minut w zestawach SDK; Jednak w przypadku niektórych zestawów SDK można skonfigurować cykl życia tokenu i próg odnawiania tokenu. Ponadto błędy generowane po rozłączeniu urządzenia i ponownym połączeniu z odnawianiem tokenu różnią się dla każdego zestawu SDK. Aby dowiedzieć się więcej i uzyskać informacje na temat sposobu określania zestawu SDK używanego przez urządzenie w dziennikach, zobacz sekcję Zachowanie rozłączania urządzenia MQTT z zestawami SDK usługi Azure IoTw sekcji Monitorowanie, diagnozowanie i rozwiązywanie problemów z łącznością urządzeń usługi Azure IoT Hub.
Dla deweloperów urządzeń, jeśli liczba błędów jest niepokojąca, przejdź do zestawu SDK języka C, który odnawia token SAS przed wygaśnięciem. W przypadku protokołu AMQP token SAS może być odświeżany bez rozłączania.
Ogólnie rzecz biorąc, przedstawiony komunikat o błędzie powinien wyjaśnić, jak naprawić błąd. Jeśli z jakiegoś powodu nie masz dostępu do szczegółów komunikatu o błędzie, upewnij się, że:
- Sygnatura dostępu współdzielonego lub inny używany token zabezpieczający nie wygasł.
- W przypadku uwierzytelniania certyfikatu X.509 certyfikat urządzenia lub certyfikat urzędu certyfikacji skojarzony z urządzeniem nie wygasł. Aby dowiedzieć się, jak zarejestrować certyfikaty CA X.509 w IoT Hub, zobacz Samouczek: tworzenie i przekazywanie certyfikatów na potrzeby testowania.
- W przypadku uwierzytelniania odcisku palca certyfikatu X.509 odcisk palca certyfikatu urządzenia jest zarejestrowany w usłudze IoT Hub.
- Poświadczenia autoryzacji są poprawnie sformułowane dla używanego protokołu. Aby dowiedzieć się więcej, zobacz Kontrola dostępu do usługi IoT Hub przy użyciu identyfikatora Entra firmy Microsoft.
- Użyta reguła autoryzacji ma uprawnienie do żądanej operacji.
- W przypadku ostatnich komunikatów o błędach rozpoczynających się od "principal...", ten błąd można rozwiązać, przypisując użytkownikowi prawidłowy poziom uprawnień RBAC platformy Azure. Na przykład właściciel usługi IoT Hub może przypisać rolę "Właściciel danych usługi IoT Hub", która daje wszystkie uprawnienia. Spróbuj wykonać tę rolę, aby rozwiązać problem z brakiem uprawnień.
Uwaga
Niektóre urządzenia mogą napotkać problem z dryfem czasu, gdy czas urządzenia różni się od czasu serwera, który jest dłuższy niż pięć minut. Ten błąd może wystąpić, gdy urządzenie bez problemów łączy się z centrum IoT przez kilka tygodni, a nawet miesięcy, ale następnie jego połączenie zaczyna być stale odrzucane. Błąd może być również specyficzny dla podzestawu urządzeń połączonych z centrum IoT, ponieważ dryf czasu może wystąpić z różnymi szybkościami w zależności od tego, kiedy urządzenie jest najpierw połączone lub włączone.
Często wykonanie synchronizacji czasu przy użyciu ntP lub ponowne uruchomienie urządzenia (co może automatycznie wykonać synchronizację czasu podczas sekwencji rozruchu) rozwiązuje problem i umożliwia urządzeniu ponowne nawiązanie połączenia. Aby uniknąć tego błędu, skonfiguruj urządzenie do przeprowadzania okresowej synchronizacji czasu przy użyciu protokołu NTP. Synchronizację można zaplanować codziennie, co tydzień lub co miesiąc w zależności od ilości dryfu urządzenia. Jeśli nie możesz skonfigurować okresowej synchronizacji NTP na urządzeniu, zaplanuj okresowy ponowny rozruch.
Błędy 403xxx Zabronione
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 403. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 403000 GenericForbidden | Żądanie jest zabronione. | Sprawdź uprawnienia żądania. |
| 403001 IotHubSuspended | Usługa IoT Hub jest zawieszona. | Sprawdź stan usługi IoT Hub. |
| 403002 Limit IoT Hub przekroczony | Przekroczono limit przydziału usługi IoT Hub. | Aby uzyskać więcej informacji, zobacz 403002 błąd IotHubQuotaExceeded. |
| 403003 JobQuotaExceeded | Przekroczono limit przydziału zadania. | Sprawdź przydziały i limity zadań. |
| 403004 Przekroczono maksymalną głębokość kolejki urządzenia | Przekroczono maksymalną głębokość kolejki urządzenia. | Aby uzyskać więcej informacji, sprawdź błąd 403004 DeviceMaximumQueueDepthExceeded. |
| 403005 IotHubMaxCbsTokenExceeded | Przekroczono maksymalny limit tokenu CBS usługi IoT Hub. | Sprawdź limity tokenów usługi IoT Hub CBS. |
| 403006 DeviceMaximumActiveFileUploadLimitExceeded | Przekroczono maksymalny limit przekazywania plików aktywnych na urządzeniu. | Aby uzyskać więcej informacji, zobacz błąd 403006 DeviceMaximumActiveFileUploadLimitExceeded. |
| 403007 PrzekroczonyMaksymalnyRozmiarKolejkiŻądzeniaUrządzenia | Przekroczono maksymalny rozmiar kolejki urządzenia. | Sprawdź rozmiar kolejki urządzenia. |
| 403008 OdpowiedźNaRoutingEndpointZabroniona | Odpowiedź punktu końcowego routingu jest zabroniona. | Sprawdź uprawnienia punktu końcowego routingu. |
| 403009 NieprawidłowyCzasWygaśnięciaWiadomości | Czas wygaśnięcia komunikatu jest nieprawidłowy. | Sprawdź ustawienia czasu wygaśnięcia komunikatu. |
| 403010 OperationNotAvailableInCurrentTier | Operacja nie jest dostępna w bieżącym poziomie. | Sprawdź warstwę i możliwości usługi IoT Hub. |
| 403011 KeyEncryptionKeyRevoked | Klucz szyfrowania klucza został odwołany. | Sprawdź stan klucza szyfrowania klucza. |
| 403012 UrządzenieWyłączone | Urządzenie zostało wyłączone. | Sprawdź stan urządzenia. |
| 403800 DeviceMaximumInflightMethodExceeded | Przekroczono maksymalny limit metody lotu urządzenia. | Sprawdź limity metod działających w locie urządzenia. |
błąd 403002 IotHubQuotaExceeded
Być może żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu 403002 IotHubQuotaExceeded. W witrynie Azure Portal lista urządzeń centrum IoT Hub nie jest ładowana.
Ten błąd zwykle występuje, gdy przekroczono dzienny limit przydziału komunikatów dla centrum IoT. Aby rozwiązać ten błąd:
- Uaktualnij lub zwiększ liczbę jednostek w centrum IoT lub zaczekaj na następny dzień UTC, aż dzienny limit przydziału zostanie odświeżony.
- Aby dowiedzieć się, jak operacje są liczone w kierunku limitu, na przykład zapytania bliźniacze i metody bezpośrednie, zobacz sekcję Opłaty za operację w informacjach rozliczeniowych usługi Azure IoT Hub.
- Aby skonfigurować monitorowanie dziennego użycia kwoty, skonfiguruj alert z metryką Łączna liczba użytych komunikatów. Aby uzyskać instrukcje krok po kroku, zobacz sekcję Konfigurowanie metryk w temacie Samouczek: konfigurowanie i używanie metryk i dzienników za pomocą centrum IoT.
Zadanie importu zbiorczego może również zwrócić ten błąd, gdy liczba urządzeń zarejestrowanych w centrum IoT zbliża się lub przekracza limit przydzielenia zasobów dla centrum IoT. Aby dowiedzieć się więcej, zobacz sekcję Rozwiązywanie problemów z zadaniami importowania w artykule Zbiorczy import i eksport tożsamości urządzeń usługi IoT Hub.
błąd 403004: Przekroczono maksymalną głębokość kolejki urządzenia
Podczas próby wysłania komunikatu z chmury do urządzenia może zostać wyświetlony komunikat informujący o tym, że żądanie kończy się niepowodzeniem z powodu błędu 403004 lub DeviceMaximumQueueDepthExceeded.
Podstawową przyczyną tego błędu jest to, że liczba komunikatów w kolejce dla urządzenia przekracza limit kolejki.
Najbardziej prawdopodobną przyczyną wystąpienia tego limitu jest to, że używasz protokołu HTTPS do odbierania komunikatu, co prowadzi do ciągłego sondowania za pomocą ReceiveAsync, co skutkuje ograniczeniem żądania przez IoT Hub.
Obsługiwanym wzorcem dla komunikatów z chmury do urządzenia z protokołem HTTPS są urządzenia sporadycznie połączone, które rzadko sprawdzają komunikaty (rzadziej niż co 25 minut). Aby zmniejszyć prawdopodobieństwo wystąpienia limitu kolejki, przełącz się na protokół AMQP lub MQTT dla komunikatów z chmury do urządzenia.
Alternatywnie, ulepsz logikę po stronie urządzenia, aby szybko ukończyć, odrzucić lub porzucić komunikaty znajdujące się w kolejce, skrócić czas życia albo rozważyć wysłanie mniejszej liczby komunikatów. Aby uzyskać więcej informacji, zobacz sekcję Wygaśnięcie komunikatów (czas życia) w dokumencie Omówienie komunikatów z chmury do urządzenia z centrum IoT.
Na koniec rozważ użycie API Purge Queue dla okresowego czyszczenia oczekujących komunikatów przed osiągnięciem limitu.
403006 błąd PrzekroczonoLimitAktywnychPlikówDoPrzesłaniaUrządzenia
Może się okazać, że żądanie przekazania pliku kończy się niepowodzeniem z kodem 403006 błędu lub DeviceMaximumActiveFileUploadLimitExceeded komunikatem "Liczba aktywnych żądań przekazywania plików nie może przekraczać 10".
Ten błąd występuje, ponieważ każdy klient urządzenia jest ograniczony do współbieżnych przesyłania plików. Możesz łatwo przekroczyć limit, jeśli urządzenie nie powiadamia usługi IoT Hub o zakończeniu przekazywania plików. Zawodna sieć po stronie urządzenia często powoduje ten problem.
Aby rozwiązać ten błąd, upewnij się, że urządzenie może natychmiast powiadomić o zakończeniu przekazywania plików usługi IoT Hub. Następnie spróbuj zmniejszyć czas wygaśnięcia tokenu sygnatury dostępu współdzielonego dla konfiguracji przekazywania plików.
4031xx Błędy zabronione modelu urządzenia
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4031. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 403100 PrzekroczonoMaksymalnąLiczbęWłaściwościModeluUrządzenia | Przekroczono maksymalny limit właściwości modelu urządzenia. | Sprawdź właściwości modelu urządzenia. |
| 403101 DeviceModelMaxIndexablePropertiesExceeded | Przekroczono maksymalny limit właściwości indeksowalnych modelu urządzenia. | Sprawdź właściwości indeksowalne modelu urządzenia. |
Błędy 404xxx NotFound
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 404. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 404000 GenericNotFound | Żądany zasób nie został znaleziony. | Sprawdź identyfikator zasobu i spróbuj ponownie. |
| 404001 DeviceNotFound | Nie można odnaleźć określonego urządzenia. | Aby uzyskać więcej informacji, zobacz komunikat o błędzie 404001 DeviceNotFound. |
| 404002 JobNotFound | Nie można odnaleźć określonego zadania. | Sprawdź identyfikator zadania i spróbuj ponownie. |
| 404004 QuotaMetricNotFound | Nie można odnaleźć określonej metryki przydziału. | Sprawdź identyfikator metryki przydziału i spróbuj ponownie. |
| 404005 SystemPropertyNotFound | Określona właściwość systemowa nie zostanie znaleziona. | Sprawdź identyfikator właściwości systemu i spróbuj ponownie. |
| 404006 AmqpAddressNotFound | Nie można odnaleźć określonego adresu AMQP. | Sprawdź adres AMQP i spróbuj ponownie. |
| 404007 RoutingEndpointResponseNotFound | Nie można odnaleźć określonej odpowiedzi punktu końcowego routingu. | Sprawdź punkt końcowy routingu i spróbuj ponownie. |
| 404008 CertificateNotFound | Nie można odnaleźć określonego certyfikatu. | Sprawdź identyfikator certyfikatu i spróbuj ponownie. |
| 404009 ElasticPoolTenantHubNotFound | Nie można odnaleźć określonej centrali dzierżawców dla puli elastycznej. | Sprawdź identyfikator centrum elastycznej puli dzierżawy i spróbuj ponownie. |
| 404010 ModuleNotFound | Nie można odnaleźć określonego modułu. | Sprawdź identyfikator modułu i spróbuj ponownie. |
| 404011 AzureTableStoreNotFound | Nie można odnaleźć określonego magazynu tabel platformy Azure. | Sprawdź identyfikator usługi Azure Table Store i spróbuj ponownie. |
| 404012 IotHubFailingOver | Usługa IoT Hub kończy się niepowodzeniem. | Sprawdź stan usługi IoT Hub i spróbuj ponownie. |
| 404013 FunkcjaNieobsługiwana | Żądana funkcja nie jest obsługiwana. | Sprawdź dokumentację funkcji i spróbuj ponownie. |
| 404014 DigitalTwinInterfaceNotFound | Nie można odnaleźć określonego interfejsu usługi Digital Twin. | Sprawdź identyfikator interfejsu usługi Digital Twin i spróbuj ponownie. |
Błąd 404001: DeviceNotFound
Podczas komunikacji chmura-urządzenie (C2D), takiej jak komunikat C2D, aktualizacja bliźniaka lub metoda bezpośrednia, operacja może kończyć się błędem 404001 DeviceNotFound.
Operacja nie powiodła się, ponieważ usługa IoT Hub nie może odnaleźć urządzenia. Urządzenie nie jest zarejestrowane lub jest wyłączone.
Aby rozwiązać ten błąd, zarejestruj użyty identyfikator urządzenia, a następnie spróbuj ponownie.
Błędy 4041xx Model urządzenia NotFound
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4041. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 404101 QueryStoreClusterNotFound | Nie można odnaleźć określonego klastra magazynu zapytań. | Sprawdź identyfikator klastra magazynu zapytań i spróbuj ponownie. |
| 404102 DeviceNotOnline | Określone urządzenie nie jest w trybie online. | Aby uzyskać więcej informacji, zobacz błąd 404103 DeviceNotOnline . |
| 404104 DeviceConnectionClosedRemotely | Połączenie urządzenia zostało zamknięte zdalnie. | Aby uzyskać więcej informacji, zobacz błąd 404104 DeviceConnectionClosedRemotely. |
błąd 404103 DeviceNotOnline
Może się okazać, że metoda bezpośrednia do urządzenia kończy się niepowodzeniem z powodu błędu 404103 DeviceNotOnline, nawet jeśli urządzenie jest w trybie online.
Jeśli wiesz, że urządzenie jest w trybie online i nadal występuje błąd, to prawdopodobnie jest on spowodowany brakiem rejestracji wywołania zwrotnego metody bezpośredniej na urządzeniu.
Aby uzyskać więcej informacji na temat prawidłowego konfigurowania urządzenia dla wywołań zwrotnych metod bezpośrednich, zobacz sekcję Obsługa metody bezpośredniej na urządzeniu w sekcji Obsługa metody bezpośredniej na urządzeniu.
błąd 404104: DeviceConnectionClosedRemotely
Możesz zauważyć, że urządzenia są rozłączane w regularnych odstępach czasu (na przykład co 65 minut), co jest widoczne w dziennikach zasobów usługi IoT Hub jako 404104 DeviceConnectionClosedRemotely. Czasami również widzisz 401003 IoTHubUnauthorized oraz zdarzenie pomyślnego połączenia urządzenia mniej niż minutę później.
Urządzenia mogą się losowo rozłączać, a Ty widzisz 404104 DeviceConnectionClosedRemotely w dziennikach zasobów usługi IoT Hub.
Lub wiele urządzeń rozłącza się jednocześnie, zobaczysz spadek w metryce Połączone urządzenia (connectedDeviceCount) i istnieje więcej 404104 DeviceConnectionClosedRemotely i 500xxx błędów wewnętrznych w dziennikach usługi Azure Monitor niż zwykle.
Ten błąd może wystąpić, ponieważ token SAS używany do nawiązywania połączenia z usługą IoT Hub wygasł, co powoduje rozłączenie urządzenia z usługą IoT Hub. Połączenie zostanie nawiązane ponownie, gdy urządzenie odświeży token. Na przykład token SAS wygasa co godzinę domyślnie dla zestawu SDK języka C, co może prowadzić do regularnych rozłączeń. Aby dowiedzieć się więcej, zobacz błąd 401003 IoTHubUnauthorized.
Oto kilka innych możliwości:
- Urządzenie utraciło podstawową łączność sieciową na dłużej niż czas utrzymywania aktywności MQTT, co spowodowało zdalne przekroczenie limitu czasu bezczynności. Ustawienie utrzymywania aktywności MQTT może być różne dla każdego urządzenia.
- Urządzenie wysłało reset na poziomie TCP/IP, ale nie wysłało resetu na poziomie aplikacji
MQTT DISCONNECT. Zasadniczo urządzenie nagle zamknęło połączenie gniazda bazowego. Czasami usterki w starszych wersjach zestawu Azure IoT SDK mogą powodować ten problem. - Aplikacja po stronie urządzenia uległa awarii.
Lub usługa IoT Hub może mieć przejściowy problem. Aby uzyskać więcej informacji, zobacz błędy wewnętrzne 500xxx.
Aby rozwiązać ten błąd:
- Zapoznaj się ze wskazówkami dotyczącymi błędu 401003 IoTHubUnauthorized.
- Upewnij się, że urządzenie ma dobrą łączność z usługą IoT Hub, testując połączenie. Jeśli sieć jest zawodna lub sporadyczna, nie zalecamy zwiększenia wartości keep-alive, ponieważ może to wydłużyć czas wykrycia (na przykład za pośrednictwem alertów usługi Azure Monitor).
- Użyj najnowszych wersji zestawów SDK usługi Azure IoT Hub.
- Zapoznaj się z wytycznymi dotyczącymi błędów wewnętrznych 500xxx.
Uwaga
Zalecamy użycie zestawów SDK urządzeń Azure IoT w celu niezawodnego zarządzania połączeniami. Aby dowiedzieć się więcej, zobacz Zarządzanie ponownymi połączeniami urządzeń w celu tworzenia odpornych aplikacji
Błędy konfiguracji 4043xx: Nie znaleziono
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4043. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 404301 ConfigurationNotFound | Określona konfiguracja nie zostanie znaleziona. | Sprawdź identyfikator konfiguracji i spróbuj ponownie. |
| 404302 GroupNotFound | Określona grupa nie zostanie znaleziona. | Sprawdź identyfikator grupy i spróbuj ponownie. |
Błędy 4044xx PnP Nie znaleziono
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4044. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 404401 DigitalTwinModelNotFound | Nie odnaleziono określonego modelu cyfrowego bliźniaka. | Sprawdź identyfikator modelu cyfrowego bliźniaka i spróbuj ponownie. |
| 404402 InterfaceNameModelNotFound | Nie można odnaleźć określonego modelu nazwy interfejsu. | Sprawdź identyfikator modelu nazwy interfejsu i spróbuj ponownie. |
błędy 405xxx MetodaNiedozwolona
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 405. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 405000 GenericMethodNotAllowed | Określona metoda nie jest dozwolona. | Sprawdź metodę i spróbuj ponownie. |
4051xx Błędy MethodNotAllowed modelu urządzenia
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4051. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 405102 OperationNotAllowedInCurrentState | Operacja nie jest dozwolona w bieżącym stanie. | Sprawdź stan urządzenia i spróbuj ponownie. |
| 405103 ImportDevicesNotSupported | Importowanie urządzeń nie jest obsługiwane. | Sprawdź ustawienia importu i spróbuj ponownie. |
| 405104 BulkAddDevicesNotSupported | Zbiorcze dodawanie urządzeń nie jest obsługiwane. | Sprawdź ustawienia dodawania zbiorczego i spróbuj ponownie. |
Błędy konfliktu 409xxx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 409. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 409000 GenericConflict | Wystąpił konflikt. | Sprawdź żądanie i spróbuj ponownie. |
| 409001 UrządzenieJużIstnieje | Określone urządzenie już istnieje. | Aby uzyskać więcej informacji, zobacz błąd 409001 DeviceAlreadyExists . |
| 409002 LinkCreationConflict | Wystąpił konflikt podczas tworzenia łącza. | Aby uzyskać więcej informacji, zobacz błąd 409002 LinkCreationConflict . |
| 409003 CallbackSubscriptionConflict | Wystąpił konflikt z subskrypcją wywołania zwrotnego. | Sprawdź ustawienia subskrypcji wywołania zwrotnego i spróbuj ponownie. |
Błąd 409001: Urządzenie już istnieje
Podczas próby zarejestrowania urządzenia w usłudze IoT Hub może się okazać, że żądanie kończy się niepowodzeniem z powodu błędu 409001 DeviceAlreadyExists.
Ten błąd występuje, ponieważ urządzenie ma już ten sam identyfikator urządzenia w centrum IoT.
Aby rozwiązać ten błąd, użyj innego identyfikatora urządzenia i spróbuj ponownie.
błąd 409002 LinkCreationConflict
Możliwy jest błąd 409002 LinkCreationConflict w dziennikach w połączeniu z rozłączeniem urządzenia lub awarią komunikatu z chmury do urządzenia.
Zazwyczaj ten błąd występuje, gdy usługa IoT Hub wykryje, że klient ma więcej niż jedno połączenie. W rzeczywistości po nadejściu nowego żądania połączenia dla urządzenia z istniejącym połączeniem usługa IoT Hub zamyka istniejące połączenie z tym błędem.
W najczęstszym przypadku osobny problem (taki jak 404104 DeviceConnectionClosedRemotely error) powoduje rozłączenie urządzenia. Urządzenie próbuje natychmiast ponownie nawiązać połączenie, ale IoT Hub nadal uważa, że urządzenie jest połączone. Usługa IoT Hub zamyka poprzednie połączenie i rejestruje ten błąd.
Ewentualnie wadliwa logika po stronie urządzenia powoduje nawiązanie połączenia, gdy jest już otwarte.
Aby rozwiązać ten błąd, poszukaj innych błędów w dziennikach, które można rozwiązać, ponieważ ten błąd zwykle występuje jako efekt uboczny innego, przejściowego problemu. W przeciwnym razie pamiętaj, aby wydać nowe żądanie połączenia tylko wtedy, gdy połączenie spadnie.
Błędy konfliktu modelu urządzenia 4091xx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4091. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 409101 ModelJużIstnieje | Określony model już istnieje. | Sprawdź identyfikator modelu i spróbuj ponownie. |
| 409102 DeviceLocked | Określone urządzenie jest zablokowane. | Sprawdź stan urządzenia i spróbuj ponownie. |
| 409103 DeviceJobAlreadyExists | Określone zadanie urządzenia już istnieje. | Sprawdź identyfikator zadania urządzenia i spróbuj ponownie. |
| 409104 JobAlreadyExists | Określone zadanie już istnieje. | Sprawdź identyfikator zadania i spróbuj ponownie. |
Błędy konfliktów modułów 4093xx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4093. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 409301 ModułJużIstniejeNaUrządzeniu | Określony moduł już istnieje na urządzeniu. | Sprawdź identyfikator modułu i spróbuj ponownie. |
Błędy konfliktów konfiguracji 4094xx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4094. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 409401 ConfigurationAlreadyExists | Określona konfiguracja już istnieje. | Sprawdź identyfikator konfiguracji i spróbuj ponownie. |
| 409402 ApplyConfigurationAlreadyInProgressOnDevice | Określona aplikacja konfiguracji jest już w toku na urządzeniu. | Sprawdź stan urządzenia i spróbuj ponownie. |
Błędy konfliktów cyfrowych bliźniaków 4095xx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 4095. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 409501 ModelBliźniakaCyfrowegoJużIstnieje | Określony model cyfrowej reprezentacji bliźniaczej już istnieje. | Sprawdź identyfikator modelu cyfrowego bliźniaka i spróbuj ponownie. |
| 409502 ModelBlizniaczyCyfrowyIstniejeZInnymTypemModelu | Określony cyfrowy bliźniak istnieje jako inny typ modelu. | Sprawdź typ modelu cyfrowego bliźniaka i spróbuj ponownie. |
| 409503 ModelNazwaInterfejsuJużIstnieje | Określony model nazwy interfejsu już istnieje. | Sprawdź identyfikator modelu nazwy interfejsu i spróbuj ponownie. |
Błędy warunków wstępnych 412xxx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 412. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 412000 GenericPreconditionFailed (Warunek wstępny nie został spełniony) | Ogólna przesłanka nie została spełniona. | Sprawdź żądanie i spróbuj ponownie. |
| 412001 Warunek wstępny nie powiódł się | Warunek wstępny nie powiódł się. | Sprawdź żądanie i spróbuj ponownie. |
| 412002 DeviceMessageLockLost (Utrata blokady wiadomości urządzenia) | Blokada komunikatów urządzenia została utracona. | Aby uzyskać więcej informacji, zobacz błąd 412002 DeviceMessageLockLost. |
| 412003 JobRunPreconditionFailed | Warunek wstępny uruchomienia zadania nie został spełniony. | Sprawdź stan zadania i spróbuj ponownie. |
| 412004 InflightMessagesInLink | W linku znajdują się komunikaty inflight. | Sprawdź stan linku i spróbuj ponownie. |
błąd 412002 DeviceMessageLockLost
Podczas próby wysłania komunikatu z chmury do urządzenia może zostać wyświetlony komunikat informujący o tym, że żądanie kończy się niepowodzeniem z powodu błędu 412002 DeviceMessageLockLost.
Ten błąd występuje, ponieważ gdy urządzenie odbiera komunikat z chmury do urządzenia z kolejki (na przykład przy użyciu ReceiveAsync()), IoT Hub blokuje komunikat na czas jednej minuty. Jeśli urządzenie spróbuje ukończyć komunikat po wygaśnięciu limitu czasu blokady, usługa IoT Hub zgłasza ten wyjątek.
Jeśli usługa IoT Hub nie otrzyma powiadomienia w ciągu jednej minuty czasu blokady, przywraca komunikat do stanu w kolejce. Urządzenie może ponownie podjąć próbę odebrania komunikatu. Aby zapobiec wystąpieniu błędu w przyszłości, zaimplementuj logikę po stronie urządzenia, aby ukończyć komunikat w ciągu jednej minuty od odebrania komunikatu. Nie można zmienić limitu czasu jednej minuty.
413xxx — zbyt duże błędy jednostki żądania
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 413. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 413000 GenericRequestEntityTooLarge | Jednostka żądania jest za duża. | Zmniejsz rozmiar jednostki żądania i spróbuj ponownie. |
| 413001 MessageTooLarge | Komunikat jest za duży. | Zmniejsz rozmiar wiadomości i spróbuj ponownie. |
| 413002 TooManyDevices | Zarejestrowano zbyt wiele urządzeń. | Zmniejsz liczbę urządzeń i spróbuj ponownie. |
| 413003 ZbytWieleModułówNaUrządzeniu (TooManyModulesOnDevice) | Na urządzeniu jest rejestrowanych zbyt wiele modułów. | Zmniejsz liczbę modułów i spróbuj ponownie. |
| 413101 PrzekroczonyLimitKonfiguracji | Przekroczono limit liczby konfiguracji. | Zmniejsz liczbę konfiguracji i spróbuj ponownie. |
| 413201 Przekroczono limit liczby modeli cyfrowych bliźniaków | Przekroczono limit liczby modeli cyfrowych bliźniaków. | Zmniejsz liczbę modeli bliźniaków cyfrowych i spróbuj ponownie. |
| 413202 InterfaceNameCompressionModelLimitPrzekroczony | Przekroczono limit liczby modeli kompresji nazw interfejsu. | Zmniejsz liczbę modeli kompresji nazw interfejsu i spróbuj ponownie. |
Błędy typu 415xxx Nieobsługiwane nośniki
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 415. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 415000 RodzajNieobsługiwanegoTypuMediów | Typ nośnika nie jest obsługiwany. | Sprawdź typ nośnika i spróbuj ponownie. |
| 415101 NiekompatybilnyTypDanych | Typ danych jest niezgodny. | Sprawdź typ danych i spróbuj ponownie. |
Błędy wyjątku ograniczania 429xxx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 429. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 429000 GenericTooManyRequests | Zbyt wiele żądań zostało złożonych. | Zmniejsz liczbę żądań i spróbuj ponownie. |
| 429001 ThrottlingException | Wystąpił wyjątek ograniczania przepustowości. | Aby uzyskać więcej informacji, zapoznaj się z dokumentacją Limity ograniczania przepustowości . |
| 429002 ThrottleBacklogLimitExceeded | Liczba żądań, które znajdują się w zaległościach z powodu ograniczenia, przekroczyła limit zaległości. | Zmniejsz liczbę żądań i spróbuj ponownie. Zapoznaj się z dokumentacją kształtowania ruchu , aby uzyskać więcej informacji na temat sposobu działania kształtowania ruchu przed wysłaniem odpowiedzi ograniczania przepustowości. |
| 429003 throttlingBacklogTimeout | Żądania, które zostały zakolejkowane z powodu ograniczania przepustowości, upłynął czas oczekiwania podczas czekania w kolejce zaległości. | Zmniejsz liczbę żądań i spróbuj ponownie. |
| 429004 Liczba aktywnych zadań przekroczyła maksymalny limit | Przekroczono maksymalną liczbę aktywnych zadań. | Zmniejsz liczbę aktywnych zadań i spróbuj ponownie. |
| 429005 Limit Zahamowania Urządzenia Przekroczony | Przekroczono limit ograniczania przepustowości urządzenia. | Zmniejsz liczbę żądań z urządzenia i spróbuj ponownie. |
Te błędy występują, gdy przekroczono limity ograniczania dla żądanej operacji.
Błąd można monitorować 429001 ThrottlingException tylko za pomocą usługi Azure Monitor w obszarze metryki Liczba błędów ograniczania przepustowości. Obecnie inne błędy związane z ograniczaniem przepustowości nie mają przypisanej metryki, ale są przechwytywane w dziennikach.
Aby rozwiązać te błędy, sprawdź, czy nie przekraczasz limitu ograniczania, porównując metrykę Wysyłanie komunikatów telemetrii z określonymi wcześniej limitami. Możesz również sprawdzić metrykę Liczba błędów ograniczania przepustowości . Aby uzyskać informacje o tych metrykach, zobacz Metryki telemetrii urządzenia. Aby uzyskać informacje o sposobie używania metryk do monitorowania centrum IoT Hub, zobacz Monitorowanie usługi Azure IoT Hub.
Usługa IoT Hub zwraca wartość 429001 ThrottlingException tylko po przekroczeniu limitu przez zbyt długi okres. To opóźnienie jest stosowane, aby komunikaty nie zostały zgubione, jeśli centrum IoT zostanie przeciążone nagłym wzrostem ruchu. W międzyczasie IoT Hub przetwarza komunikaty przy zredukowanej prędkości operacyjnej, co może być powolne, jeśli w zaległościach znajduje się zbyt dużo ruchu. Aby uzyskać więcej informacji, zobacz sekcję Kształtowanie ruchu w temacie Limity przydziału i ograniczanie przepustowości usługi IoT Hub.
Rozważ zwiększenie skali usługi IoT Hub, jeśli przekraczasz limity przydziału lub ograniczania przepustowości.
Błędy zamknięcia żądań przez klienta 499xxx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 499. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 499000 ClientClosedRequest | Klient zamknął żądanie. | Spróbuj ponownie później. |
Błędy wewnętrznego serwera 500xxx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 500 lub wzmianki o błędzie serwera. Oto kilka możliwości:
| Kod błędu | Description |
|---|---|
| 500001 ServerError | Wystąpił błąd po stronie serwera. |
| 500008 GenericTimeout | Usługa IoT Hub nie mogła ukończyć żądania połączenia przed upływem limitu czasu. |
| ServiceUnavailable (brak kodu błędu) | Usługa IoT Hub napotkała błąd wewnętrzny. |
| InternalServerError (brak kodu błędu) | Usługa IoT Hub napotkała błąd wewnętrzny. |
Istnieje wiele możliwych przyczyn wystąpienia odpowiedzi na błąd 500xxx. We wszystkich przypadkach problem jest najprawdopodobniej przejściowy. Chociaż zespół usługi IoT Hub ciężko pracuje nad utrzymaniem umowy SLA, małe podzestawy węzłów usługi IoT Hub mogą czasami doświadczać błędów przejściowych. Gdy urządzenie próbuje nawiązać połączenie z węzłem, w którym występują problemy, zostanie wyświetlony ten błąd.
Aby wyeliminować 5000xx błędy, należy ponowić próbę z urządzenia. Aby automatycznie zarządzać ponowną próbą, upewnij się, że używasz najnowszej wersji zestawów SDK usługi Azure IoT Hub. Aby uzyskać więcej informacji na temat najlepszych rozwiązań dotyczących obsługi błędów przejściowych i ponawiania prób, zobacz Obsługa błędów przejściowych.
Jeśli problem będzie się powtarzać, sprawdź kondycję zasobów i stan platformy Azure , aby sprawdzić, czy usługa IoT Hub ma znany problem. Możesz również użyć funkcji ręcznego przełączenia awaryjnego.
Jeśli nie ma znanych problemów i problem będzie nadal występować, skontaktuj się z pomocą techniczną w celu przeprowadzenia dalszych badań.
Błędy związane z rozwiązaniem 5003xx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 5003. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 500301 ModelRepoEndpointError | Punkt końcowy repozytorium modelu jest nieprawidłowy. | Sprawdź punkt końcowy repozytorium modelu i spróbuj ponownie. |
| 500302 ResolutionError | Wystąpił błąd rozdzielczości. | Spróbuj ponownie później. |
Błędy związane z MSI 5004xx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 5004. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 500401 Nie można pobrać poświadczeń | Nie można pobrać poświadczeń. | Sprawdź poświadczenia i spróbuj ponownie. |
| 500402 Nie można pobrać informacji o najemcy | Nie można pobrać informacji o najemcy. | Sprawdź informacje o dzierżawie i spróbuj ponownie. |
| 500403 Nie można udostępnić tożsamości | Nie można udostępnić tożsamości. | Sprawdź ustawienia udostępniania tożsamości i spróbuj ponownie. |
Błędy związane z 5005xx PnP
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 5005. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 500501 UnableToExpandDiscoveryInfo | Nie można rozwinąć informacji o odnajdowaniu. | Sprawdź informacje o odnajdowaniu i spróbuj ponownie. |
| 500502 UnableToExpandComponentInfo | Nie można rozwinąć informacji o składniku. | Sprawdź informacje o składniku i spróbuj ponownie. |
| 500503 Brak możliwości skompresowania informacji o komponencie | Nie można skompresować informacji o składniku. | Sprawdź informacje o składniku i spróbuj ponownie. |
| 500504 Nie można skompresować informacji o odkrywaniu | Nie można skompresować informacji o odnajdowaniu. | Sprawdź informacje o odnajdowaniu i spróbuj ponownie. |
| 500505 OrphanDiscoveryDocument | Znaleziono osierocony dokument odkrycia. | Sprawdź dokument odnajdywania i spróbuj ponownie. |
Błędy związane z bramą 502xxx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 502. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 502000 GenericBadGateway | Wystąpił ogólny błąd nieprawidłowej bramy. | Spróbuj ponownie później. |
Błędy związane z niedostępną usługą 503xxx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 503. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 503000 GenericServiceUnavailable | Wystąpił błąd niedostępności usługi ogólnej. | Spróbuj ponownie później. |
| 503001 ServiceUnavailable | Usługa jest niedostępna. | Spróbuj ponownie później. |
| 503004 IotHubActivationFailed | Aktywacja usługi IoT Hub nie powiodła się. | Sprawdź stan usługi IoT Hub i spróbuj ponownie. |
| 503005 ServerBusy | Serwer jest zajęty. | Spróbuj ponownie później. |
| 503006 IotHubRestoring | IoT Hub jest przywracany. | Spróbuj ponownie później. |
| 503008 ReceiveLinkOpensThrottled | Otwieranie linków jest ograniczane. | Spróbuj ponownie później. |
5031xx — błędy dotyczące niedostępności modelu urządzenia
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 5031. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 503101 ConnectionUnavailable | Połączenie jest niedostępne. | Sprawdź połączenie i spróbuj ponownie. |
| 503102 UrządzenieNiedostępne | Urządzenie jest niedostępne. | Sprawdź stan urządzenia i spróbuj ponownie. |
Błędy konfiguracji 5032xx są niedostępne
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 5032. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 503201 ConfigurationNotAvailable | Konfiguracja jest niedostępna. | Sprawdź konfigurację i spróbuj ponownie. |
| 503202 GroupNotAvailable | Grupa jest niedostępna. | Sprawdź grupę i spróbuj ponownie. |
Błędy związane z niedostępnością 5033xx PnP
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 5033. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 503301 HostingServiceNotAvailable | Usługa hostingu nie jest dostępna. | Spróbuj ponownie później. |
Błędy związane z limitem czasu przekroczenia bramy 504xxx
Może się okazać, że żądania do usługi IoT Hub kończą się niepowodzeniem z powodu błędu rozpoczynającego się od 504. W poniższej tabeli wymieniono kody błędów, ich opisy i możliwe rozwiązania.
| Kod błędu | Description | Rozwiązanie |
|---|---|---|
| 504000 GenericGatewayTimeout | Wystąpił ogólny błąd przekroczenia limitu czasu bramy. | Spróbuj ponownie później. |
| 504101 GatewayTimeout | Upłynął limit czasu bramy sieciowej. | Aby uzyskać więcej informacji, zobacz błąd 504101 GatewayTimeout . |
błąd 504101 GatewayTimeout
Podczas próby wywołania metody bezpośredniej z usługi IoT Hub na urządzenie może zostać wyświetlone, że żądanie kończy się niepowodzeniem z powodu błędu 504101 GatewayTimeout.
Ten błąd występuje, ponieważ usługa IoT Hub napotkała błąd i nie mogła potwierdzić, czy metoda bezpośrednia została ukończona przed przekroczeniem limitu czasu. Lub w przypadku korzystania ze starszej wersji zestawu AZURE IoT C# SDK (<1.19.0) połączenie AMQP między urządzeniem a usługą IoT Hub można usunąć w trybie dyskretnym z powodu usterki.
Aby rozwiązać ten błąd, spróbuj ponownie lub uaktualnij go do najnowszej wersji zestawu AZURE IOT C# SDK.