Wtyczka GraphRandomErrorPlugin

Żądania wysyłane do programu Microsoft Graph kończą się niepowodzeniem z błędami losowymi.

Zrzut ekranu wiersza polecenia z serwerem proxy deweloperów symulującym losowy błąd żądania programu Microsoft Graph.

Przykład konfiguracji

{
  "$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 ]
  }
}

Właściwości konfiguracji

Własność Opis Domyślny
allowedErrors Lista kodów stanu HTTP, które mogą tworzyć serwery proxy deweloperów. 429 500 502 503 504 507
rate Procent żądań do niepowodzenia z losowym błędem. Wartość z zakresu od 0 do 100. 50
retryAfterInSeconds Wartość nagłówka Retry-After w sekundach. 5

Opcje wiersza polecenia

Nazwa Opis Domyślny
-a, --allowed-errors Lista kodów stanu HTTP, które mogą tworzyć serwery proxy deweloperów. 429 500 502 503 504 507
-f, --failure-rate <failure rate> Procent żądań do niepowodzenia z losowym błędem. Wartość z zakresu od 0 do 100. 50

Kody stanu błędów HTTP używane przez program Microsoft Graph

Program Microsoft Graph używa następujących kodów stanu HTTP.

Napiwek

Opisy kodów stanu odpowiedzi HTTP

Code Nazwa Opis
429 Zbyt wiele żądań Wskazuje, że użytkownik wysłał zbyt wiele żądań w danym czasie ("ograniczanie szybkości"). Do tej odpowiedzi może zostać uwzględniony nagłówek ponawiania prób po wskazujący, jak długo czekać przed utworzeniem nowego żądania.
500 Wewnętrzny błąd serwera Wskazuje, że serwer napotkał nieoczekiwany warunek, który uniemożliwił spełnienie żądania. Ta odpowiedź o błędzie to ogólna odpowiedź "catch-all". Zazwyczaj oznacza to, że serwer nie może odnaleźć lepszego kodu błędu 5xx do odpowiedzi.
502 Zła brama Wskazuje, że serwer, działając jako brama lub serwer proxy, otrzymał nieprawidłową odpowiedź z nadrzędnego serwera.
503 Usługa niedostępna Wskazuje, że serwer nie jest gotowy do obsługi żądania. Typowe przyczyny to serwer, który nie działa w celu konserwacji lub jest przeciążony. Ta odpowiedź powinna być używana w przypadku warunków tymczasowych, a po nagłówku HTTP powinna, jeśli to możliwe, zawierać szacowany czas odzyskiwania usługi.
504 Limit czasu bramy Wskazuje, że serwer, działając jako brama lub serwer proxy, nie otrzyma odpowiedzi w czasie z nadrzędnego serwera, który jest potrzebny do ukończenia żądania.
507 Niewystarczająca ilość miejsca do magazynowania Może zostać podany w kontekście protokołu Web Distributed Authoring and Versioning (WebDAV) (zobacz RFC 4918). Wskazuje, że nie można wykonać metody, ponieważ serwer nie może przechowywać reprezentacji wymaganej do pomyślnego ukończenia żądania.

Remarks

Serwer proxy dev ogranicza błędy symulowane dla każdej metody HTTP do błędów, które Microsoft Graph zwraca dla tej metody. GET żądania używają PATCH , 429, 500, 502, 503i 504. POST, PUTi DELETE żądania używają również polecenia 507. W przypadku ustawienia allowedErrorsserwer proxy deweloperów używa tylko dozwolonych błędów, które mają zastosowanie do każdej metody. Jeśli na przykład ustawiono wartość allowedErrors[ 507 ], serwer proxy deweloperski zakończy się niepowodzeniem POST, PUTi DELETE żądaniami, ale nie GET lub PATCH żądaniami.

Jeśli żaden z dozwolonych błędów nie ma zastosowania do metody żądania, serwer proxy dewelopera przekazuje żądanie do Microsoft Graph. Serwer proxy deweloperski przekazuje również żądania korzystające z innych metod HTTP, takich jak HEAD lub OPTIONS. W przypadku żądań wsadowych, jeśli jakiekolwiek żądanie w partii nie ma dozwolonych błędów, serwer proxy deweloperów przekazuje całą partię, ponieważ odpowiedź wsadowa musi zawierać odpowiedź dla każdego żądania w partii.

Następny krok