Simulieren der Drosselung auf Microsoft 365-APIs
In der Regel ist das Testen der Drosselung schwierig, da sie selten auftritt, wenn Microsoft 365-Server stark belastet sind. Mithilfe des Dev-Proxys können Sie Drosselungsantworten simulieren und überprüfen, ob die Anwendung sie richtig behandelt.
Verwenden Sie zum Simulieren der Drosselung auf Microsoft 365-APIs den GraphRandomErrorPlugin und den RetryAfterPlugin. Die GraphRandomErrorPlugin
Gibt Drosselungsantworten für Microsoft 365-APIs zurück. Die RetryAfterPlugin
Überprüfung, ob Ihre App von der API unterstützt wird.
Aktivieren Sie zunächst die GraphRandomErrorPlugin
Dev Proxy-Konfigurationsdatei und RetryAfterPlugin
geben Sie sie an.
{
"$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/*"
]
}
Achtung
Fügen Sie die vor der RetryAfterPlugin
GraphRandomErrorPlugin
Konfigurationsdatei hinzu. Wenn Sie sie nachher hinzufügen, schlägt die Anforderung fehl, bevor GraphRandomErrorPlugin
die RetryAfterPlugin
Möglichkeit besteht, sie zu behandeln.
Konfigurieren Sie als Nächstes die GraphRandomErrorPlugin
Drosselungsfehler, um Drosselungsfehler zu simulieren.
{
"$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 ]
}
}
Starten Sie Dev Proxy mit Ihrer Konfigurationsdatei, und testen Sie Ihre App, um zu sehen, wie die Drosselung behandelt wird.
Wenn Die Anwendung beim Drosseln zurückgeschaltet wird, aber nicht auf die für die Anforderungen angegebene Zeit wartet, wird eine Meldung ähnlich angezeigt Calling https://graph.microsoft.com/v1.0/endpoint again before waiting for the Retry-After period. Request will be throttled
.
Diese Meldung gibt an, dass Ihre Anwendung die Einschränkung nicht ordnungsgemäß verarbeitet und unnötig die Drosselung verlängert. Um die Behandlung der Drosselung durch Ihre App zu verbessern, aktualisieren Sie den Code so, dass er auf die im Header angegebene Retry-After
Zeit wartet, bevor die Anforderung erneut ausgeführt wird.