Лимиты на использование

Поскольку API Google Vault является общим сервисом, мы применяем квоты и ограничения, чтобы обеспечить его справедливое использование всеми пользователями и защитить общее состояние системы Google Workspace.

Ограничения продукта

В вашей организации может выполняться не более 20 экспортов.

Квоты запросов API

Каждой организации разрешено 600 операций чтения материалов в минуту для всех проектов и пользователей, включая запросы через Vault API и vault.google.com.

В следующих таблицах указаны поминутные ограничения на количество запросов для каждого проекта:

Чтение запросов в минуту на проект
Экспорт, значение и сохраненный запрос 120
Держать 228
Длительная операция 300
Написание запросов в минуту на проект
Экспорт 20
Держать 60
Разрешения на вопрос 30
Иметь значение 60
Сохраненный запрос 45
Поиск (подсчет) запросов в минуту на проект
Поиск имеет значение 20

Использование квоты по методу

Квота, используемая запросом, зависит от вызываемого метода. В следующей таблице указано использование квоты для каждого метода:

Метод Стоимость квоты
matters.close
matters.create
matters.delete
matters.reopen
matters.update
matters.undelete
1 вопрос прочитан
1 дело написать
matters.count 1 счет
matters.get 1 вопрос прочитан
matters.list 10 прочтений дела
matters.addPermissions
matters.removePermissions
1 вопрос прочитан
1 дело написать
1 вопрос разрешения написать
matters.exports.create 1 экспортное чтение
10 экспортных записей
matters.exports.delete 1 экспортная запись
matters.exports.get 1 экспортное чтение
matters.exports.list 5 экспортных чтений
matters.holds.addHeldAccounts
matters.holds.create
matters.holds.delete
matters.holds.removeHeldAccounts
matters.holds.update
1 вопрос прочитан
1 дело написать
1 удерживать чтение
1 удерживать запись
matters.holds.list 1 вопрос прочитан
3 удержания чтения
matters.holds.accounts.create
matters.holds.accounts.delete
matters.holds.accounts.list
1 вопрос прочитан
1 дело написать
1 удерживать чтение
1 удерживать запись
matters.savedQueries.create
matters.savedQueries.delete
1 вопрос прочитан
1 дело написать
1 сохраненный запрос прочитан
1 сохраненный запрос на запись
matters.savedQueries.get 1 вопрос прочитан
1 сохраненный запрос прочитан
matters.savedQueries.list 1 вопрос прочитан
3 сохраненных чтения запроса
operations.get 1 длительная операция чтения

Устранение ошибок квот на основе времени

Если вы превысите поминутную квоту или квоту для каждой организации, вы обычно получите ответ с кодом состояния HTTP 429: Too many requests .

Для всех ошибок, связанных со временем (максимум N запросов за X минут), мы рекомендуем, чтобы ваш код перехватывал исключение и использовал усеченную экспоненциальную отсрочку , чтобы убедиться, что ваши устройства не создают чрезмерную нагрузку.

Экспоненциальная отсрочка — это стандартная стратегия обработки ошибок для сетевых приложений. Алгоритм экспоненциальной отсрочки повторяет запросы, используя экспоненциально увеличивающееся время ожидания между запросами, вплоть до максимального времени отсрочки. Если запросы по-прежнему не увенчались успехом, важно, чтобы задержки между запросами со временем увеличивались, пока запрос не будет успешным.

Пример алгоритма

Алгоритм экспоненциальной отсрочки повторяет запросы экспоненциально, увеличивая время ожидания между повторными попытками до максимального времени отсрочки. Например:

  1. Сделайте запрос к API Google Vault.
  2. Если запрос не выполнен, подождите 1 + random_number_milliseconds и повторите запрос.
  3. Если запрос не выполнен, подождите 2 + random_number_milliseconds и повторите запрос.
  4. Если запрос не выполнен, подождите 4 + random_number_milliseconds и повторите запрос.
  5. И так далее, до maximum_backoff .
  6. Продолжайте ждать и повторять попытки до определенного максимального количества, но не увеличивайте период ожидания между попытками.

где:

  • Время ожидания составляет min(((2^n)+random_number_milliseconds), maximum_backoff) , при этом n увеличивается на 1 для каждой итерации (запроса).
  • random_number_milliseconds — случайное число миллисекунд, меньшее или равное 1000. Это помогает избежать случаев, когда многие клиенты синхронизируются по какой-то ситуации и все повторяют попытки одновременно, отправляя запросы синхронизированными волнами. Значение random_number_milliseconds пересчитывается после каждого повторного запроса.
  • maximum_backoff обычно составляет 32 или 64 секунды. Соответствующее значение зависит от варианта использования.

Клиент может продолжить повторную попытку после достижения maximum_backoff . Повторные попытки после этого момента не требуют дальнейшего увеличения времени отсрочки. Например, если клиент использует время maximum_backoff , равное 64 секундам, то после достижения этого значения клиент может повторять попытку каждые 64 секунды. В какой-то момент клиентам следует запретить повторные попытки на неопределенный срок.

Время ожидания между повторными попытками и количество повторных попыток зависят от вашего варианта использования и условий сети.

Запросить увеличение квоты

В зависимости от использования ресурсов вашего проекта вы можете запросить увеличение квоты. Вызовы API со стороны учетной записи службы считаются использованием одной учетной записи. Подача заявки на увеличение квоты не гарантирует одобрения. Для утверждения значительного увеличения квоты может потребоваться больше времени.

Не все проекты имеют одинаковые квоты. Поскольку со временем вы все чаще используете Google Cloud, возможно, вам придется увеличить квоты. Если вы ожидаете заметного увеличения использования, вы можете заранее запросить корректировку квот на странице «Квоты» в консоли Google Cloud.

Чтобы узнать больше, посетите следующие ресурсы:

Цены

Клиентам Google Workspace все возможности использования Google Vault API доступны без дополнительной оплаты.