Simuler la limitation sur les API Microsoft 365
En règle générale, les tests de limitation sont difficiles, car il se produit rarement, lorsque les serveurs Microsoft 365 sont sous une charge importante. À l’aide du proxy de développement, vous pouvez simuler des réponses de limitation et vérifier si votre application la gère correctement.
Pour simuler la limitation sur les API Microsoft 365, utilisez GraphRandomErrorPlugin et RetryAfterPlugin. Renvoie GraphRandomErrorPlugin
les 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 démarrer, activez et GraphRandomErrorPlugin
RetryAfterPlugin
dans votre fichier de configuration du 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
GraphRandomErrorPlugin
fichier de configuration avant. Si vous l’ajoutez après, la demande échoue avant GraphRandomErrorPlugin
que la RetryAfterPlugin
demande ne puisse la gérer.
Ensuite, configurez l’option GraphRandomErrorPlugin
pour simuler des 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 le proxy de développement avec votre fichier de configuration et testez votre application pour voir comment elle gère la limitation.
Si votre application se désactive lorsqu’elle est limitée, mais n’attend pas la durée spécifiée sur les demandes, un message similaire à Calling https://graph.microsoft.com/v1.0/endpoint again before waiting for the Retry-After period. Request will be throttled
celui-ci s’affiche.
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 requête.