Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zazwyczaj testowanie ograniczania przepustowości jest trudne, ponieważ występuje rzadko, gdy serwery platformy Microsoft 365 są obciążone dużym obciążeniem. Korzystając z serwera proxy deweloperskiego, można symulować odpowiedzi ograniczania przepustowości i sprawdzić, czy aplikacja obsługuje ją poprawnie.
Aby symulować ograniczanie przepustowości w interfejsach API platformy Microsoft 365, użyj narzędzia GraphRandomErrorPlugin i polecenia RetryAfterPlugin. Funkcja GraphRandomErrorPlugin
zwraca odpowiedzi ograniczania przepustowości dla interfejsów API platformy Microsoft 365. Narzędzie RetryAfterPlugin
sprawdza, czy aplikacja zmniejsza aktywność zgodnie z instrukcjami interfejsu API.
Aby rozpocząć, włącz GraphRandomErrorPlugin
i RetryAfterPlugin
w pliku konfiguracji deweloperskiego serwera proxy.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
},
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.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/*"
]
}
Uwaga
Dodaj element RetryAfterPlugin
przed elementem GraphRandomErrorPlugin
w pliku konfiguracji. Jeśli dodasz go później, GraphRandomErrorPlugin
spowoduje niepowodzenie żądania, zanim RetryAfterPlugin
będzie miało szansę go obsłużyć.
Następnie skonfiguruj element GraphRandomErrorPlugin
, aby symulować błędy dławienia.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
},
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.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 ]
}
}
Rozpocznij tworzenie serwera proxy przy użyciu pliku konfiguracji i przetestuj aplikację, aby zobaczyć, jak obsługuje ograniczanie przepustowości.
Jeśli Twoja aplikacja wycofuje się, gdy jest przydławiana, ale nie czeka przez czas określony w żądaniach, zobaczysz komunikat podobny do Calling https://graph.microsoft.com/v1.0/endpoint again before waiting for the Retry-After period. Request will be throttled
.
Ten komunikat wskazuje, że aplikacja nie obsługuje poprawnego ograniczania przepustowości i niepotrzebnie przedłuża ograniczanie przepustowości. Aby ulepszyć sposób obsługi ograniczania przepustowości przez aplikację, zaktualizuj kod, aby poczekać na czas określony w nagłówku Retry-After
przed ponowieniu próby żądania.