Simulace omezování v rozhraních API Microsoftu 365
Testování omezování je obvykle obtížné, protože k němu dochází zřídka, když jsou servery Microsoft 365 pod velkým zatížením. Pomocí vývojového proxy serveru můžete simulovat odpovědi na omezování a zkontrolovat, jestli je vaše aplikace zpracovává správně.
Pokud chcete simulovat omezování v rozhraních API Microsoftu 365, použijte GraphRandomErrorPlugin a RetryAfterPlugin. Vrátí GraphRandomErrorPlugin
odpovědi na omezování pro rozhraní API Microsoftu 365. Ověří RetryAfterPlugin
, že se vaše aplikace vrátí zpět podle pokynů rozhraní API.
Začněte tím, že v konfiguračním GraphRandomErrorPlugin
souboru dev proxy povolíte a RetryAfterPlugin
.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
},
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "graphRandomErrorPlugin"
}
],
"urlsToWatch": [
"https://graph.microsoft.com/v1.0/*",
"https://graph.microsoft.com/beta/*",
"https://graph.microsoft.us/v1.0/*",
"https://graph.microsoft.us/beta/*",
"https://dod-graph.microsoft.us/v1.0/*",
"https://dod-graph.microsoft.us/beta/*",
"https://microsoftgraph.chinacloudapi.cn/v1.0/*",
"https://microsoftgraph.chinacloudapi.cn/beta/*",
"!https://*.sharepoint.*/*_api/web/GetClientSideComponents",
"https://*.sharepoint.*/*_api/*",
"https://*.sharepoint.*/*_vti_bin/*",
"https://*.sharepoint-df.*/*_api/*",
"https://*.sharepoint-df.*/*_vti_bin/*"
]
}
Upozornění
Do konfiguračního RetryAfterPlugin
souboru přidejte před .GraphRandomErrorPlugin
Pokud ho přidáte za, bude požadavek neúspěšný GraphRandomErrorPlugin
před tím, než ho RetryAfterPlugin
bude mít možnost zpracovat.
Dále nakonfigurujte pro simulaci GraphRandomErrorPlugin
chyb omezování.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
},
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "graphRandomErrorPlugin"
}
],
"urlsToWatch": [
"https://graph.microsoft.com/v1.0/*",
"https://graph.microsoft.com/beta/*",
"https://graph.microsoft.us/v1.0/*",
"https://graph.microsoft.us/beta/*",
"https://dod-graph.microsoft.us/v1.0/*",
"https://dod-graph.microsoft.us/beta/*",
"https://microsoftgraph.chinacloudapi.cn/v1.0/*",
"https://microsoftgraph.chinacloudapi.cn/beta/*",
"!https://*.sharepoint.*/*_api/web/GetClientSideComponents",
"https://*.sharepoint.*/*_api/*",
"https://*.sharepoint.*/*_vti_bin/*",
"https://*.sharepoint-df.*/*_api/*",
"https://*.sharepoint-df.*/*_vti_bin/*"
],
"graphRandomErrorPlugin": {
"allowedErrors": [ 429 ]
}
}
Spusťte dev Proxy pomocí konfiguračního souboru a otestujte aplikaci, abyste zjistili, jak zpracovává omezování.
Pokud se aplikace po omezení zase vypne, ale nečeká na dobu určenou v požadavcích, zobrazí se Calling https://graph.microsoft.com/v1.0/endpoint again before waiting for the Retry-After period. Request will be throttled
zpráva podobná .
Tato zpráva znamená, že vaše aplikace nezvládá omezování správně a zbytečně prodlužuje omezování. Pokud chcete zlepšit způsob, jakým vaše aplikace zpracovává omezování, aktualizujte kód tak, aby před opakováním požadavku počkal na dobu uvedenou v Retry-After
hlavičce.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro