Diretrizes de limitação | Conceitos da API do Graph
Importante
Recomendamos que você use o Microsoft Graph em vez da API do Azure AD Graph para acessar os recursos do Azure Active Directory. Nossos esforços de implantação agora estão concentrados no Microsoft Graph e não há planos de novos aprimoramento para a API do Azure AD Graph. Há um número muito limitado de cenários para os quais a API do Azure AD Graph ainda pode ser adequada. Para saber mais, confira a postagem do blog sobre Microsoft Graph ou Azure AD Graph no Centro de Desenvolvimento do Office.
O que é limitação?
A limitação restringe o número de chamadas simultâneas para um serviço a fim de evitar o uso excessivo de recursos. Projetamos o Graph do Azure AD (Active Directory) para o tratamento de um grande volume de solicitações. No caso de uma grande quantidade de solicitações, a limitação ajuda a manter o desempenho ideal e a confiabilidade do serviço do Graph do Azure AD.
As restrições da limitação podem variar de acordo com o cenário. Por exemplo, se estiver executando um grande volume de gravações para um locatário, a possibilidade de limitação é maior do que se estiver executando somente leituras.
O que acontece quando ocorre uma limitação?
Quando excede um limite, o Graph do Azure AD restringe as solicitações adicionais desse cliente enquanto a limitação está em vigor. Se estiver limitado, o Graph do Azure AD retorna o código de status HTTP 429 (Excesso de solicitações) e as solicitação falham. O comportamento da limitação pode ser dependente do tipo e do número de solicitações. Por exemplo, caso tenha um volume muito grande de solicitações, todos os tipos de solicitações são limitados. As restrições da limitação podem variar de acordo com o tipo de solicitação. Portanto, você pode encontrar um cenário em que as gravações são limitadas, mas as leituras ainda são permitidas.
Cenários comuns de limitação
As causas mais comuns de limitação de clientes incluem:
- Um grande número de solicitações em todos os aplicativos de um locatário.
- Um grande número de solicitações de um aplicativo específico em todos os locatários.
Práticas recomendadas para tratamento de limitação
- Reduzir o número de operações por solicitação.
- Reduzir a frequência de chamadas.
- Se as solicitações falharem com um código de erro HTTP 429, aguarde o número de segundos especificado no campo Retry-After do cabeçalho de resposta e repita a solicitação.
Use o código de erro HTTP 429 para detectar uma limitação quando implementar o tratamento de erros. A resposta com falha incluirá o campo Retry-After no cabeçalho de resposta.
- Aguarde o número de segundos especificado no campo Retry-After.
- Repita a solicitação.
- Se a solicitação falhar novamente com um código de erro 429, então você ainda está sendo limitado. Continue usando o atraso do Retry-After recomendado e repita a solicitação até obter êxito.
A maneira mais rápida de se recuperar de uma limitação é retirar as solicitações usando o atraso do Retry-After, porque o Graph do Azure AD continua registrando o uso do recurso quando um cliente está limitado. Evite as repetições imediatas, uma vez que todas as solicitações se acumulam em relação aos limites de uso.
Para examinar uma abordagem mais ampla sobre limitação no Microsoft Cloud, confira o artigo Throttling Pattern (Padrão de limitação).