REST-ohjelmointirajapinnan virheiden käsittely
HTTP-virhevastaukset on jaettu kahteen luokkaan:
- Asiakasvirhe (400-kooditaso) – asiakas lähetti virheellisen pyynnön tai pyyntö ei vastaa määrityksiä.
- Palvelinvirhe (500-tasoinen) – palvelin epäonnistui väliaikaisesti pyynnön täyttämisessä tai ilmeni palvelinvirhe. Yritä lähettää HTTP-pyyntö uudelleen.
Toiminto voi palauttaa seuraavassa taulukossa luetellut virhekoodit missä tahansa Microsoft Defender for Endpoint ohjelmointirajapinoista.
- Virhekoodin lisäksi jokainen virhevastaus sisältää virhesanoman, joka voi auttaa ratkaisemaan ongelman.
- Viesti on vapaata tekstiä, jota voi muuttaa.
- Sivun alareunasta löydät vastausesimerkkejä.
Koskee seuraavia:
Haluatko kokeilla Defender for Endpointia? Rekisteröidy maksuttomaan kokeiluversioon.
Virhekoodi | HTTP-tilakoodi | Viesti |
---|---|---|
Virheellinen vastaus | BadRequest (400) | Yleinen virheellinen pyyntö -virhesanoma. |
ODataError | BadRequest (400) | Virheellinen OData URI -kysely (tietty virhe on määritetty). |
Virheellinen siirtomäärä | BadRequest (400) | Virheellinen syöte {virheellinen syöte}. |
InvalidRequestBody | BadRequest (400) | Virheellinen pyynnön teksti. |
InvalidHashValue | BadRequest (400) | Hajautusarvo {virheellinen hajautusarvo} on virheellinen. |
InvalidDomainName | BadRequest (400) | Toimialueen nimi {virheellinen toimialue} on virheellinen. |
InvalidIpAddress | BadRequest (400) | IP-osoite {virheellinen IP}, on virheellinen. |
Virheellinenurl | BadRequest (400) | URL-osoite {virheellinen URL}, on virheellinen. |
MaximumBatchSizeExceeded | BadRequest (400) | Erän enimmäiskoko on ylitetty. Vastaanotettu: {erän koko vastaanotettu}, sallittu: {erän koko sallittu}. |
MissingRequiredParameter | BadRequest (400) | Parametri {puuttuva parametri} puuttuu. |
OsPlatformNotSupported | BadRequest (400) | Tämä toiminto ei tue käyttöjärjestelmän käyttöympäristöä {käyttöjärjestelmän käyttöympäristö}. |
ClientVersionNotSupported | BadRequest (400) | {Pyydettyä toimintoa} tuetaan asiakasversiossa {supported client version} ja sitä uudemman version kanssa. |
Luvaton | Luvaton (401) | Luvaton (virheellinen tai vanhentunut valtuutusotsikko). |
Kielletty | Kielletty (403) | Kielletty (kelvollinen tunnus, mutta käyttöoikeudet eivät riitä toimintoon). |
DisabledFeature | Kielletty (403) | Vuokraajaominaisuus ei ole käytössä. |
Ei sallittuOperation | Kielletty (403) | {ei-sallittu toiminto ja syy}. |
Ei ole määritetty | Ei löydy (404) | Yleistä ei löydy -virhesanoma. |
Resurssia ei ole määritetty | Ei löydy (404) | Resurssia {pyydettyä resurssia} ei löytynyt. |
TooManyRequests | Liian monta pyyntöä (429) | Vastaus tarkoittaa kiintiörajan saavuttamista joko pyyntöjen määrän tai suorittimen mukaan. |
InternalServerError | Sisäinen palvelinvirhe (500) | (Ei virhesanomaa, yritä toimintoa uudelleen.) |
Kuristus
HTTP-asiakas voi saada Liian monta pyyntöä -virheen (429), kun HTTP-pyyntöjen määrä tietyssä ajassa ylittää ohjelmointirajapintakohtaisen sallittujen kutsujen määrän.
HTTP-asiakkaan tulisi viivyttää uusien HTTPS-pyyntöjen lähettämistä uudelleen ja lähettää ne sitten tavalla, joka täyttää hintarajoitukset. Vastauksen otsikon Retry-After, joka ilmaisee, kuinka kauan odotetaan (sekunteina) ennen uuden pyynnön tekemistä
Jos ohitetaan 429-vastaus tai yritetään lähettää HTTP-pyyntöjä uudelleen lyhyemmässä ajassa, palautetaan virhekoodi 429.
Leipätekstiparametrien kirjainkoko on merkitsevä
Lähetetyissä leipätekstiparametreissa kirjainkoko on tällä hetkellä merkitsevä.
Jos kohtaat InvalidRequestBody - tai MissingRequiredParameter-virheitä , se saattaa aiheutua väärästä isosta parametrista tai pienistä kirjaimista.
Tarkista ohjelmointirajapinnan dokumentaatiosivulta, että lähetetyt parametrit vastaavat asiaankuuluvaa esimerkkiä.
Korrelaatiopyynnön tunnus
Jokainen virhevastaus sisältää yksilöllisen tunnusparametrin seurantaa varten.
Tämän parametrin ominaisuuden nimi on "target".
Kun otat meihin yhteyttä virheestä, tämän tunnuksen liittäminen auttaa löytämään ongelman perimmäisen syyn.
Esimerkkejä
{
"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"
}
}
Vihje
Haluatko tietää lisää? Engage Microsoft security -yhteisön kanssa teknologiayhteisössämme: Microsoft Defender for Endpoint Tech Community.