GraphRandomErrorPlugin

Selhání požadavků provedených v Microsoft Graphu s náhodnými chybami

snímek obrazovky příkazového řádku se simulující náhodnou chybou pro požadavek Microsoft Graphu

Příklad konfigurace

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

Vlastnosti konfigurace

Vlastnost Popis Výchozí
allowedErrors Seznam stavových kódů HTTP, které může vytvořit dev proxy server. 429 500 502 503 504 507
rate Procento neúspěšných požadavků s náhodnou chybou Hodnota mezi 0 a 100. 50
retryAfterInSeconds Hodnota hlavičky Retry-After v sekundách 5

Možnosti příkazového řádku

Jméno Popis Výchozí
-a, --allowed-errors Seznam stavových kódů HTTP, které může vytvořit dev proxy server. 429 500 502 503 504 507
-f, --failure-rate <failure rate> Procento neúspěšných požadavků s náhodnou chybou Hodnota mezi 0 a 100. 50

Stavové kódy chyb HTTP používané v Microsoft Graphu

Microsoft Graph používá následující stavové kódy HTTP.

Spropitné

Popisy z stavových kódů odpovědí HTTP

Code Jméno Popis
429 Příliš mnoho požadavků Označuje, že uživatel odeslal příliš mnoho požadavků v daném časovém intervalu ("omezování rychlosti"). Do této odpovědi může být zahrnuta hlavička Opakovat po označující, jak dlouho čekat před vytvořením nového požadavku.
500 Vnitřní chyba serveru Označuje, že server zjistil neočekávanou podmínku, která mu zabránila v plnění požadavku. Tato chybová odpověď je obecná odpověď catch-all. Obvykle to značí, že server nemůže najít lepší kód chyby 5xx pro odpověď.
502 Chybná brána Označuje, že server, který funguje jako brána nebo proxy server, obdržel neplatnou odpověď od nadřazeného serveru.
503 Služba není k dispozici Označuje, že server není připravený na zpracování požadavku. Mezi běžné příčiny patří server, který je kvůli údržbě nebo přetížený. Tato odpověď by měla být použita pro dočasné podmínky a hlavička HTTP Opakování po by měla obsahovat odhadovanou dobu obnovení služby.
504 Časový limit brány Označuje, že server, který funguje jako brána nebo proxy server, nedostal odpověď v čase od upstreamového serveru, který potřeboval k dokončení požadavku.
507 Nedostatek úložiště Může být uveden v kontextu protokolu Web Distributed Authoring and Versioning (WebDAV) (viz RFC 4918). Značí, že metodu nebylo možné provést, protože server nemůže uložit reprezentaci potřebnou k úspěšnému dokončení požadavku.

Remarks

Dev Proxy omezuje chyby, které simuluje pro každou metodu HTTP, na chyby, které Microsoft Graph pro danou metodu vrací. GETa PATCH žádosti o použití 429, , 500502, 503, a 504. POST, PUTa DELETE žádosti také používají 507. Když nastavíte allowedErrors, Dev Proxy používá pouze povolené chyby, které platí pro každou metodu. Pokud například nastavíte allowedErrors[ 507 ]možnost , Dev Proxy selže POSTPUTa DELETE požadavky, ale ne GET nebo PATCH požadavky.

Pokud se žádná z povolených chyb nevztahuje na metodu požadavku, předá dev proxy požadavek do Microsoft Graph. Dev Proxy také předává požadavky, které používají jiné metody HTTP, například HEAD nebo OPTIONS. U dávkových požadavků platí, že pokud některý z požadavků v dávce nemá žádné povolené chyby, dev proxy předává celou dávku, protože dávková odpověď musí obsahovat odpověď pro každý požadavek v dávce.

Další krok