Simular la limitación en las API de Microsoft 365
Normalmente, la limitación de pruebas es difícil porque rara vez se produce cuando los servidores de Microsoft 365 están bajo una carga pesada. Con el proxy de desarrollo, puede simular respuestas de limitación y comprobar si la aplicación la controla correctamente.
Para simular la limitación en las API de Microsoft 365, use GraphRandomErrorPlugin y RetryAfterPlugin. GraphRandomErrorPlugin
devuelve respuestas de limitación para las API de Microsoft 365. RetryAfterPlugin
Comprueba que la aplicación vuelve a desactivarse según lo indicado por la API.
Para empezar, habilite y RetryAfterPlugin
en el GraphRandomErrorPlugin
archivo de configuración del proxy de desarrollo.
{
"$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/*"
]
}
Precaución
Agregue antes del RetryAfterPlugin
elemento en el GraphRandomErrorPlugin
archivo de configuración. Si lo agrega después, se producirá un error en GraphRandomErrorPlugin
la solicitud antes de RetryAfterPlugin
que tenga la oportunidad de controlarla.
A continuación, configure GraphRandomErrorPlugin
para simular errores de limitació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 ]
}
}
Inicie Dev Proxy con el archivo de configuración y pruebe la aplicación para ver cómo controla la limitación.
Si la aplicación vuelve a desactivarse cuando se limita, pero no espera la cantidad de tiempo especificada en las solicitudes, verá un mensaje similar a Calling https://graph.microsoft.com/v1.0/endpoint again before waiting for the Retry-After period. Request will be throttled
.
Este mensaje indica que la aplicación no controla la limitación correctamente y, innecesariamente, prolonga la limitación. Para mejorar la forma en que la aplicación controla la limitación, actualice el código para esperar la cantidad de tiempo especificada en el Retry-After
encabezado antes de volver a intentar la solicitud.