Имитация регулирования в API Microsoft 365
Как правило, регулирование тестирования трудно, так как это происходит редко, когда серверы Microsoft 365 находятся под тяжелой нагрузкой. Используя прокси-сервер разработки, можно имитировать ответы регулирования и проверять правильность обработки приложения.
Чтобы имитировать регулирование в API Microsoft 365, используйте GraphRandomErrorPlugin и RetryAfterPlugin. Возвращает GraphRandomErrorPlugin
ответы регулирования для API Microsoft 365. Проверяет RetryAfterPlugin
, что приложение отключается, как показано API.
Чтобы начать, включите GraphRandomErrorPlugin
и RetryAfterPlugin
в файле конфигурации прокси-сервера разработки.
{
"$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/*"
]
}
Внимание
RetryAfterPlugin
Добавьте его перед файлом GraphRandomErrorPlugin
конфигурации. Если вы добавите его после, запрос завершится сбоем GraphRandomErrorPlugin
до того, как RetryAfterPlugin
у него есть шанс обработать его.
Затем настройте GraphRandomErrorPlugin
имитацию ошибок регулирования.
{
"$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 ]
}
}
Запустите прокси-сервер разработки с файлом конфигурации и протестируйте приложение, чтобы узнать, как он обрабатывает регулирование.
Если приложение отключается при регулировании, но не ожидает времени, указанного в запросах, отображается сообщение, аналогичное Calling https://graph.microsoft.com/v1.0/endpoint again before waiting for the Retry-After period. Request will be throttled
.
Это сообщение указывает, что приложение не обрабатывает регулирование правильно и ненужно продлевает регулирование. Чтобы улучшить регулирование приложения, обновите код, чтобы дождаться времени, указанного в заголовке Retry-After
, прежде чем повторить запрос.