Table of contents

Руководство по регулированию | Основные понятия API GraphThrottling guidance | Graph API concepts

Pat Altimore|Последнее обновление: 19.03.2018
|
2 Участники
Важно

Для доступа к ресурсам Azure Active Directory мы настоятельно рекомендуем использовать Microsoft Graph вместо API Azure AD Graph.We strongly recommend that you use Microsoft Graph instead of Azure AD Graph API to access Azure Active Directory resources.Теперь наши усилия сфокусированы на разработке Microsoft Graph; дальнейшее продвижение API Azure AD Graph мы не планируем.Our development efforts are now concentrated on Microsoft Graph and no further enhancements are planned for Azure AD Graph API.Есть очень мало сценариев, в которых по-прежнему можно использовать API Azure AD Graph. Дополнительные сведения об этом см. в записи блога в центре разработчиков Office, где сравниваются решения Microsoft Graph и Azure AD Graph.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.

Что такое регулирование?What is throttling?

Регулирование ограничивает количество одновременных вызовов службы, позволяя предотвратить чрезмерное использование ресурсов.Throttling limits the number of concurrent calls to a service to prevent overuse of resources.Служба Azure Active Directory (AD) Graph предназначена для обработки очень большого количества запросов.Azure Active Directory (AD) Graph is designed to handle a very high volume of requests.Если запросов слишком много, регулирование позволяет обеспечить оптимальную производительность и надежность службы Azure AD Graph.In the event of an overwhelming number of requests, throttling helps maintain optimal performance and reliability of the Azure AD Graph service.

Ограничения регулирования различаются в зависимости от сценария.Throttling limits vary based on the scenario.Например, если выполняется большое количество операций записи в клиент, возможность регулирования будет больше, чем при выполнении только операций чтения.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.

Что происходит, когда выполняется регулирование?What happens when throttling occurs?

Если превышено пороговое значение регулирования, служба Azure AD Graph ограничивает все последующие запросы от этого клиента на время выполнения регулирования.When a throttling threshold is exceeded, Azure AD Graph limits any further requests from that client while the throttle is in effect.Во время регулирования служба Azure AD Graph возвращает код состояния HTTP 429 ("Слишком много запросов") и происходит сбой запросов.When throttled, Azure AD Graph returns HTTP status code 429 ("Too many requests"), and the requests fail.Поведение регулирования может зависеть от типа и количества запросов.Throttling behavior can be dependent on the type and number of requests.Например, при наличии очень большого количества запросов регулируются запросы всех типов.For example, if you have a very high volume of requests, all requests types are throttled.Ограничения регулирования различаются в зависимости от типа запроса.Threshold limits vary based on the request type.Поэтому может возникнуть ситуация, когда операции записи регулируются, но операции чтения по-прежнему разрешены.Therefore, you could encounter a scenario where writes are throttled but reads are still permitted.

Стандартные сценарии регулированияCommon throttling scenarios

Наиболее распространенные причины регулирования клиентов:The most common causes of throttling of clients include:

  • Большое количество запросов во всех приложениях клиента.A large number of requests across all applications in a tenant.
  • Большое количество запросов от конкретного приложения во всех клиентах.A large number of requests from a particular application across all tenants.

Советы и рекомендации по управлению регулированиемBest practices to handle throttling

  • Уменьшите количество операций в запросе.Reduce the number of operations per request.
  • Уменьшите частоту вызовов.Reduce the frequency of calls.
  • В случае сбоя запроса с кодом ошибки HTTP 429 подождите столько времени, сколько указано в заголовке ответа Retry-After, и повторите запрос.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.

При обработке ошибок обнаружить регулирование можно с помощью кода ошибки HTTP 429.When implementing error handling, use the HTTP error code 429 to detect throttling.Ответ при сбое будет содержать поле Retry-After в заголовке.The failed response will include the Retry-After field in the response header.

  1. Подождите столько секунд, сколько указано в поле Retry-After.Wait the number of seconds specified in the Retry-After field.
  2. Повторите попытку.Retry the request.
  3. Если в результате запроса снова происходит сбой с кодом ошибки 429, это означает, что регулирование все еще выполняется. Повторяйте запрос с рекомендуемым интервалом Retry-After, пока запрос не будет успешно выполнен.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.

Уменьшение интенсивности запросов с помощью задержки Retry-After — самый быстрый метод восстановления после регулирования, так как служба AAD Graph продолжает регистрировать использование ресурсов, пока клиент регулируется.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.Не пытайтесь немедленно повторять попытки, так как все запросы увеличивают ограничения на использование.You should avoid immediate retries since all requests accrue against your usage limits.

Подробное обсуждение регулирования в Microsoft Cloud см. в статье, посвященной шаблону регулирования.For a broader discussion of throttling on the Microsoft Cloud, see Throttling Pattern.

© 2018 Microsoft