Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Échec des requêtes adressées à Microsoft Graph avec des erreurs aléatoires.
Exemple de configuration
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"plugins": [
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "graphRandomErrorPlugin"
}
],
"graphRandomErrorPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/graphrandomerrorplugin.schema.json",
"allowedErrors": [ 429, 500, 502, 503, 504, 507 ]
}
}
Propriétés de configuration
| Propriété | Descriptif | Faire défaut |
|---|---|---|
allowedErrors |
Liste des codes d’état HTTP que le proxy de développement peut produire. | 429 500 502 503 504 507 |
rate |
Pourcentage de demandes à échouer avec une erreur aléatoire. Valeur comprise entre 0 et 100. | 50 |
retryAfterInSeconds |
Valeur de l’en-tête Retry-After en secondes. |
5 |
Options de ligne de commande
| Nom | Descriptif | Faire défaut |
|---|---|---|
-a, --allowed-errors |
Liste des codes d’état HTTP que le proxy de développement peut produire. | 429 500 502 503 504 507 |
-f, --failure-rate <failure rate> |
Pourcentage de demandes à échouer avec une erreur aléatoire. Valeur comprise entre 0 et 100. | 50 |
Codes d’état d’erreur HTTP utilisés par Microsoft Graph
Microsoft Graph utilise les codes d’état HTTP suivants.
| Code | Nom | Descriptif |
|---|---|---|
| 429 | Trop de demandes | Indique que l’utilisateur a envoyé trop de demandes dans un délai donné (« limitation du débit »). Un en-tête réessayer après peut être inclus dans cette réponse indiquant la durée d’attente avant d’effectuer une nouvelle requête. |
| 500 | Erreur interne du serveur | Indique que le serveur a rencontré une condition inattendue qui l’a empêché de répondre à la demande. Cette réponse d’erreur est une réponse générique « catch-all ». En règle générale, cela indique que le serveur ne peut pas trouver un meilleur code d’erreur 5xx à répondre. |
| 502 | Passerelle incorrecte | Indique que le serveur, agissant en tant que passerelle ou proxy, a reçu une réponse non valide du serveur en amont. |
| 503 | Service indisponible | Indique que le serveur n’est pas prêt à gérer la requête. Les causes courantes sont un serveur qui est en panne pour la maintenance ou qui est surchargé. Cette réponse doit être utilisée pour les conditions temporaires et les retry-After en-tête HTTP doivent, si possible, contenir le temps estimé pour la récupération du service. |
| 504 | Délai d’expiration de la passerelle | Indique que le serveur, agissant en tant que passerelle ou proxy, n’a pas obtenu de réponse dans le temps à partir du serveur en amont dont il avait besoin pour terminer la requête. |
| 507 | Stockage insuffisant | Peut être donné dans le contexte du protocole Web Distributed Authoring and Versioning (WebDAV) (voir RFC 4918). Il indique qu’une méthode n’a pas pu être effectuée, car le serveur ne peut pas stocker la représentation nécessaire pour terminer correctement la requête. |
Remarques
Le proxy de développement limite les erreurs qu’il simule pour chaque méthode HTTP aux erreurs qui Microsoft Graph retourne cette méthode.
GETet PATCH les demandes utilisent 429, , 500502, 503, et 504.
POST, PUTet DELETE les requêtes utilisent 507également . Lorsque vous définissez allowedErrors, le proxy de développement utilise uniquement les erreurs autorisées qui s’appliquent à chaque méthode. Par exemple, si vous définissez allowedErrors sur [ 507 ], le proxy de développement échoue POST, PUTet DELETE les requêtes, mais pas GET ou PATCH les demandes.
Si aucune des erreurs autorisées ne s'applique à la méthode d'une requête, le proxy de développement transmet la requête à Microsoft Graph. Le proxy de développement transmet également les requêtes qui utilisent d’autres méthodes HTTP, telles que HEAD ou OPTIONS. Pour les requêtes par lots, si une demande dans le lot n’a pas d’erreurs autorisées, le proxy de développement transmet l’ensemble du lot, car une réponse par lot doit inclure une réponse pour chaque requête du lot.