Simuler la limitation sur les API Microsoft 365
En règle générale, les tests de limitation sont difficiles, car ils se produisent rarement lorsque les serveurs Microsoft 365 sont soumis à une charge importante. À l’aide du proxy de développement, vous pouvez simuler des réponses de limitation et case activée si votre application les gère correctement.
Pour simuler la limitation sur les API Microsoft 365, utilisez GraphRandomErrorPlugin et RetryAfterPlugin. Retourne GraphRandomErrorPlugin
des réponses de limitation pour les API Microsoft 365. Vérifie RetryAfterPlugin
que votre application est désactivée comme indiqué par l’API.
Pour commencer, activez et GraphRandomErrorPlugin
RetryAfterPlugin
dans votre fichier de configuration de proxy de développement.
{
"$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/*"
]
}
Attention
Ajoutez le RetryAfterPlugin
avant dans GraphRandomErrorPlugin
votre fichier de configuration. Si vous l’ajoutez après, la requête sera échouée par le GraphRandomErrorPlugin
avant que n’ait la possibilité de RetryAfterPlugin
la gérer.
Ensuite, configurez pour simuler les GraphRandomErrorPlugin
erreurs de limitation.
{
"$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 ]
}
}
Démarrez dev Proxy avec votre fichier de configuration et testez votre application pour voir comment elle gère la limitation.
Si votre application recule lorsqu’elle est limitée, mais n’attend pas la durée spécifiée sur les demandes, un message similaire à s’affiche Calling https://graph.microsoft.com/v1.0/endpoint again before waiting for the Retry-After period. Request will be throttled
.
Ce message indique que votre application ne gère pas correctement la limitation et prolonge inutilement la limitation. Pour améliorer la façon dont votre application gère la limitation, mettez à jour votre code pour attendre la durée spécifiée dans l’en-tête Retry-After
avant de réessayer la demande.