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

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

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

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

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

Каждой организации разрешено 600 операций чтения данных в минуту по всем проектам и пользователям, включая запросы через 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 time. После этого значения увеличение backoff time не требуется. Например, если клиент использует значение maximum_backoff time равное 64 секундам, то после достижения этого значения он может повторять попытки каждые 64 секунды. В какой-то момент клиентам следует запретить бесконечные повторные попытки.

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

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

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

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

Для получения более подробной информации ознакомьтесь со следующими ресурсами:

Цены

Использование API Google Vault предоставляется клиентам Google Workspace бесплатно.