Table of contents

Diretrizes de limitação | Conceitos da API do GraphThrottling guidance | Graph API concepts

Pat Altimore|Última Atualização: 19/06/2018
|
2 Colaboradores
Importante

Recomendamos que você use o Microsoft Graph em vez da API do Azure AD Graph para acessar os recursos do Azure Active Directory.We strongly recommend that you use Microsoft Graph instead of Azure AD Graph API to access Azure Active Directory resources.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.Our development efforts are now concentrated on Microsoft Graph and no further enhancements are planned for Azure AD Graph API.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.There are a very limited number of scenarios for which Azure AD Graph API might still be appropriate; for more information, see the Microsoft Graph or the Azure AD Graph blog post in the Office Dev Center.

O que é limitação?What is throttling?

A limitação restringe o número de chamadas simultâneas para um serviço a fim de evitar o uso excessivo de recursos.Throttling limits the number of concurrent calls to a service to prevent overuse of resources.Projetamos o Graph do Azure AD (Active Directory) para o tratamento de um grande volume de solicitações.Azure Active Directory (AD) Graph is designed to handle a very high volume of requests.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.In the event of an overwhelming number of requests, throttling helps maintain optimal performance and reliability of the Azure AD Graph service.

As restrições da limitação podem variar de acordo com o cenário.Throttling limits vary based on the scenario.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.For example, if you are performing a large volume of writes to your tenant, the possibility for throttling is higher than if you are only performing reads.

O que acontece quando ocorre uma limitação?What happens when throttling occurs?

Quando excede um limite, o Graph do Azure AD restringe as solicitações adicionais desse cliente enquanto a limitação está em vigor.When a throttling threshold is exceeded, Azure AD Graph limits any further requests from that client while the throttle is in effect.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.When throttled, Azure AD Graph returns HTTP status code 429 ("Too many requests"), and the requests fail.O comportamento da limitação pode ser dependente do tipo e do número de solicitações.Throttling behavior can be dependent on the type and number of requests.Por exemplo, caso tenha um volume muito grande de solicitações, todos os tipos de solicitações são limitados.For example, if you have a very high volume of requests, all requests types are throttled.As restrições da limitação podem variar de acordo com o tipo de solicitação.Threshold limits vary based on the request type.Portanto, você pode encontrar um cenário em que as gravações são limitadas, mas as leituras ainda são permitidas.Therefore, you could encounter a scenario where writes are throttled but reads are still permitted.

Cenários comuns de limitaçãoCommon throttling scenarios

As causas mais comuns de limitação de clientes incluem:The most common causes of throttling of clients include:

  • Um grande número de solicitações em todos os aplicativos de um locatário.A large number of requests across all applications in a tenant.
  • Um grande número de solicitações de um aplicativo específico em todos os locatários.A large number of requests from a particular application across all tenants.

Práticas recomendadas para tratamento de limitaçãoBest practices to handle throttling

  • Reduzir o número de operações por solicitação.Reduce the number of operations per request.
  • Reduzir a frequência de chamadas.Reduce the frequency of calls.
  • 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.When requests fail with a HTTP error code 429, wait the number of seconds specified in the Retry-After response header field and retry the request.

Use o código de erro HTTP 429 para detectar uma limitação quando implementar o tratamento de erros.When implementing error handling, use the HTTP error code 429 to detect throttling.A resposta com falha incluirá o campo Retry-After no cabeçalho de resposta.The failed response will include the Retry-After field in the response header.

  1. Aguarde o número de segundos especificado no campo Retry-After.Wait the number of seconds specified in the Retry-After field.
  2. Repita a solicitação.Retry the request.
  3. 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.If the request fails again with a 429 error code, you are still being throttled, continue to use the recommended Retry-After delay and retry the request until it succeeds.

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.Backing off requests using the Retry-After delay is the fastest way to recover from throttling because AAD Graph continues to log resource usage while a client is being throttled.Evite as repetições imediatas, uma vez que todas as solicitações se acumulam em relação aos limites de uso.You should avoid immediate retries since all requests accrue against your usage limits.

Para examinar uma abordagem mais ampla sobre limitação no Microsoft Cloud, confira o artigo Throttling Pattern (Padrão de limitação).For a broader discussion of throttling on the Microsoft Cloud, see Throttling Pattern.

© 2018 Microsoft