Gestion des erreurs de l’API REST
Les réponses d’erreur HTTP sont divisées en deux catégories :
- Erreur du client (niveau de code 400) : le client a envoyé une requête non valide ou la demande n’est pas conforme aux définitions.
- Erreur du serveur (niveau 500) : le serveur n’a pas pu répondre temporairement à la demande ou une erreur de serveur s’est produite. Réessayez d’envoyer la requête HTTP.
Les codes d’erreur répertoriés dans le tableau suivant peuvent être retournés par une opération sur Microsoft Defender pour point de terminaison API.
- En plus du code d’erreur, chaque réponse d’erreur contient un message d’erreur, qui peut aider à résoudre le problème.
- Le message est un texte libre qui peut être modifié.
- En bas de la page, vous trouverez des exemples de réponse.
S’applique à :
Vous voulez découvrir Defender pour point de terminaison ? Inscrivez-vous pour bénéficier d’un essai gratuit.
Code d’erreur | Code d’état HTTP | Message |
---|---|---|
BadRequest | BadRequest (400) | Message d’erreur de demande incorrecte générale. |
ODataError | BadRequest (400) | Requête URI OData non valide (l’erreur spécifique est spécifiée). |
InvalidInput | BadRequest (400) | Entrée {l’entrée non valide}. |
InvalidRequestBody | BadRequest (400) | Corps de la demande non valide. |
InvalidHashValue | BadRequest (400) | La valeur de hachage {le hachage non valide} n’est pas valide. |
InvalidDomainName | BadRequest (400) | Le nom de domaine {le domaine non valide} n’est pas valide. |
InvalidIpAddress | BadRequest (400) | L’adresse IP {l’adresse IP non valide} n’est pas valide. |
InvalidUrl | BadRequest (400) | L’URL {l’URL non valide} n’est pas valide. |
MaximumBatchSizeExceededed | BadRequest (400) | Taille de lot maximale dépassée. Reçu : {taille de lot reçue}, autorisé : {taille de lot autorisée}. |
MissingRequiredParameter | BadRequest (400) | Le paramètre {le paramètre manquant} est manquant. |
OsPlatformNotSupported | BadRequest (400) | La plateforme du système d’exploitation {la plateforme du système d’exploitation client} n’est pas prise en charge pour cette action. |
ClientVersionNotSupported | BadRequest (400) | {L’action demandée} est prise en charge sur la version du client {version du client prise en charge} et les versions ultérieures. |
Non autorisé (Unauthorized) | Non autorisé (401) | Non autorisé (en-tête d’autorisation non valide ou expiré). |
Interdit (Forbidden) | Interdit (403) | Interdit (jeton valide mais autorisation insuffisante pour l’action). |
DisabledFeature | Interdit (403) | La fonctionnalité de locataire n’est pas activée. |
DisallowedOperation | Interdit (403) | {l’opération non autorisée et la raison}. |
NotFound | Introuvable (404) | Message d’erreur Général introuvable. |
ResourceNotFound | Introuvable (404) | La ressource {la ressource demandée} est introuvable. |
TooManyRequests | Trop de demandes (429) | La réponse représente l’atteinte de la limite de quota en fonction du nombre de demandes ou du processeur. |
InternalServerError | Erreur interne du serveur (500) | (Aucun message d’erreur, réessayez l’opération.) |
Limitation
Le client HTTP peut recevoir une erreur « Trop de requêtes (429) » lorsque le nombre de requêtes HTTP dans une période donnée dépasse le nombre autorisé d’appels par API.
Le client HTTP doit retarder la soumission d’autres requêtes HTTPS, puis les envoyer d’une manière conforme aux limitations de débit. Un Retry-After dans l’en-tête de réponse indiquant le délai d’attente (en secondes) avant d’effectuer une nouvelle requête
En ignorant la réponse 429 ou en essayant de soumettre à nouveau des requêtes HTTP dans un délai plus court, vous obtenez un retour du code d’erreur 429.
Les paramètres de corps respectent la casse
Les paramètres du corps soumis respectent actuellement la casse.
Si vous rencontrez des erreurs InvalidRequestBody ou MissingRequiredParameter , cela peut être dû à un paramètre incorrect majuscule ou minuscule.
Passez en revue la page de documentation de l’API et case activée que les paramètres envoyés correspondent à l’exemple approprié.
ID de demande de corrélation
Chaque réponse d’erreur contient un paramètre d’ID unique pour le suivi.
Le nom de propriété de ce paramètre est « target ».
Lorsque vous nous contactez au sujet d’une erreur, l’attachement de cet ID permet de trouver la cause racine du problème.
Exemples
{
"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"
}
}
Conseil
Voulez-vous en savoir plus ? Engage avec la communauté Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour