Udostępnij za pośrednictwem


Obsługa błędów interfejsu API REST

Odpowiedzi na błędy HTTP są podzielone na dwie kategorie:

  • Błąd klienta (poziom kodu 400) — klient wysłał nieprawidłowe żądanie lub żądanie nie jest zgodne z definicjami.
  • Błąd serwera (na poziomie 500) — serwer tymczasowo nie może spełnić żądania lub wystąpił błąd serwera. Spróbuj ponownie wysłać żądanie HTTP.

Kody błędów wymienione w poniższej tabeli mogą zostać zwrócone przez operację na dowolnym interfejsie API Ochrona punktu końcowego w usłudze Microsoft Defender.

  • Oprócz kodu błędu każda odpowiedź na błąd zawiera komunikat o błędzie, który może pomóc w rozwiązaniu problemu.
  • Wiadomość jest bezpłatnym tekstem, który można zmienić.
  • W dolnej części strony można znaleźć przykłady odpowiedzi.

Dotyczy:

Chcesz poznać usługę ochrony punktu końcowego w usłudze Microsoft Defender? Utwórz konto, aby skorzystać z bezpłatnej wersji próbnej.

Kod błędu Kod stanu HTTP Komunikat
BadRequest BadRequest (400) Ogólny komunikat o błędzie Nieprawidłowe żądanie.
ODataError BadRequest (400) Nieprawidłowe zapytanie identyfikatora URI OData (określony błąd jest określony).
InvalidInput BadRequest (400) Nieprawidłowe dane wejściowe {nieprawidłowe dane wejściowe}.
InvalidRequestBody BadRequest (400) Nieprawidłowa treść żądania.
InvalidHashValue BadRequest (400) Wartość skrótu {nieprawidłowy skrót} jest nieprawidłowa.
InvalidDomainName BadRequest (400) Nazwa domeny {nieprawidłowa domena} jest nieprawidłowa.
InvalidIpAddress BadRequest (400) Adres IP {nieprawidłowy adres IP} jest nieprawidłowy.
InvalidUrl BadRequest (400) Adres URL {nieprawidłowy adres URL} jest nieprawidłowy.
MaximumBatchSizeExceeded BadRequest (400) Przekroczono maksymalny rozmiar partii. Odebrano: {odebrano rozmiar partii}, dozwolone: {dozwolony rozmiar partii}.
MissingRequiredParameter BadRequest (400) Brak parametru {brak parametru}.
OsPlatformNotSupported BadRequest (400) Platforma systemu operacyjnego {platforma systemu operacyjnego klienta} nie jest obsługiwana w przypadku tej akcji.
ClientVersionNotSupported BadRequest (400) {Żądana akcja} jest obsługiwana w wersji klienta {obsługiwanej wersji klienta} i nowszych wersjach.
Nieautoryzowanych Brak autoryzacji (401) Brak autoryzacji (nieprawidłowy lub wygasły nagłówek autoryzacji).
Dostęp zabroniony Zabronione (403) Zabronione (prawidłowy token, ale niewystarczające uprawnienia do akcji).
DisabledFeature Zabronione (403) Funkcja dzierżawy nie jest włączona.
NiedozwoloneOperacja Zabronione (403) {niedozwolona operacja i przyczyna}.
NotFound Nie znaleziono (404) Ogólny komunikat o błędzie Nie znaleziono.
ResourceNotFound Nie znaleziono (404) Nie odnaleziono zasobu {żądanego zasobu}.
TooManyRequests Zbyt wiele żądań (429) Odpowiedź reprezentuje osiągnięcie limitu przydziału według liczby żądań lub procesora CPU.
InternalServerError Wewnętrzny błąd serwera (500) (Brak komunikatu o błędzie, ponów próbę wykonania operacji).

Dławienie

Klient HTTP może otrzymać błąd "Zbyt wiele żądań (429)", gdy liczba żądań HTTP w danym okresie przekracza dozwoloną liczbę wywołań na interfejs API.

Klient HTTP powinien opóźnić ponowne przesyłanie dalszych żądań HTTPS, a następnie przesyłać je w sposób zgodny z ograniczeniami szybkości. Retry-After w nagłówku odpowiedzi wskazujący czas oczekiwania (w sekundach) przed wykonaniem nowego żądania

Ignorowanie odpowiedzi 429 lub próba ponownego prześlinia żądań HTTP w krótszym okresie daje zwrot kodu błędu 429.

Parametry treści uwzględniają wielkość liter

Przesłane parametry treści są obecnie uwzględniane w wielkości liter.

Jeśli wystąpią błędy InvalidRequestBody lub MissingRequiredParameter , może to być spowodowane nieprawidłową literą parametru lub małą literą.

Przejrzyj stronę dokumentacji interfejsu API i sprawdź, czy przesłane parametry są zgodne z odpowiednim przykładem.

Identyfikator żądania korelacji

Każda odpowiedź błędu zawiera unikatowy parametr identyfikatora do śledzenia.

Nazwa właściwości tego parametru to "target".

Podczas kontaktowania się z nami w sprawie błędu dołączenie tego identyfikatora pomaga znaleźć główną przyczynę problemu.

Przykłady

{
    "error": {
        "code": "ResourceNotFound",
        "message": "Machine 123123123 was not found",
        "target": "43f4cb08-8fac-4b65-9db1-745c2ae65f3a"
    }
}
{
    "error": {
        "code": "InvalidRequestBody",
        "message": "Request body is incorrect",
        "target": "1fa66c0f-18bd-4133-b378-36d76f3a2ba0"
    }
}

Porada

Chcesz dowiedzieć się więcej? Engage ze społecznością microsoft security w naszej społeczności technicznej: Ochrona punktu końcowego w usłudze Microsoft Defender Tech Community.