Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Normalmente, o teste de limitação é difícil porque ocorre raramente, quando os servidores do Microsoft 365 estão sob carga pesada. Usando o Dev Proxy, você pode simular respostas de limitação e verificar se seu aplicativo lida com isso corretamente.
Para simular a limitação nas APIs do Microsoft 365, use o GraphRandomErrorPlugin e o RetryAfterPlugin. O GraphRandomErrorPlugin retorna respostas de limitação para APIs do Microsoft 365. O RetryAfterPlugin verifica se o aplicativo recua conforme instruído pela API.
Para começar, habilite o GraphRandomErrorPlugin e RetryAfterPlugin no arquivo de configuração do Dev Proxy.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
},
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.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/*"
]
}
Cuidado
Adicione o RetryAfterPlugin antes do GraphRandomErrorPlugin em seu arquivo de configuração. Se você adicioná-lo depois, a solicitação será falhada GraphRandomErrorPlugin pelo antes que ele RetryAfterPlugin tenha a chance de tratá-la.
Em seguida, configure o GraphRandomErrorPlugin para simular erros de limitação.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "RetryAfterPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
},
{
"name": "GraphRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.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 o Dev Proxy com seu arquivo de configuração e teste seu aplicativo para ver como ele lida com a limitação.
Se o aplicativo recuar quando limitado, mas não aguardar o tempo especificado nas solicitações, você verá uma mensagem semelhante a Calling https://graph.microsoft.com/v1.0/endpoint again before waiting for the Retry-After period. Request will be throttled.
Essa mensagem indica que seu aplicativo não está lidando com a limitação corretamente e prolonga desnecessariamente a limitação. Para melhorar a forma como seu aplicativo lida com a limitação, atualize seu código para aguardar o tempo especificado no Retry-After cabeçalho antes de repetir a solicitação.