Квоты на использование Mail Admin Quarantine API

Mail Admin Quarantine API применяет поминутные квоты на использование для каждого облачного проекта Google Cloud, чтобы защитить инфраструктуру Google Workspace, которая ищет и извлекает сообщения, помещенные в карантин. Квоты группируются по типу работы, выполняемой методом.

Квоты

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

Квота Значение Методы
Запросы на поиск и получение списков 60 запросов в минуту; customers.quarantinedMessages.list, customers.quarantinedMessages.search
Запросы на чтение 1200 запросов в минуту; customers.quarantinedMessages.get, customers.quarantines.get, customers.quarantines.list, customers.operations.get.
Запросы на запись 300 запросов в минуту; customers.quarantinedMessages.release, customers.quarantinedMessages.deny, customers.quarantinedMessages.batchRelease, customers.quarantinedMessages.batchDeny.

Каждый вызов API считается одним запросом независимо от размера страницы или, для пакетных методов, количества сообщений в пакете. Например, запрос batchRelease с 500 сообщениями расходует один запрос на запись.

Текущее использование квоты проекта можно посмотреть в консоли Google Cloud в разделе API и сервисы > Включенные API и сервисы > Admin Quarantine API > Квоты и системные ограничения.

Ограничения запросов

Ограничение Значение
Максимальное количество запросов list и search: pageSize. 300 сообщений
Максимальное количество сообщений на запрос batchRelease или batchDeny 500 сообщений;
Окно поиска и списка Сообщения, полученные за последние 30 дней

Как устранить ошибки, связанные с квотами

Если квота превышена, API возвращает ошибку HTTP 429 со статусом RESOURCE_EXHAUSTED:

{
  "error": {
    "code": 429,
    "message": "Quota exceeded for quota metric 'Search and list quarantined messages requests' and limit 'Search and list requests per minute per project' of service 'mailadminquarantine.googleapis.com' for consumer 'project_number:123456789012'.",
    "status": "RESOURCE_EXHAUSTED"
  }
}

Чтобы не превышать квоты:

  • Повторите попытку с экспоненциальной выдержкой. Если вы получили ошибку 429, подождите, прежде чем повторить попытку, и увеличивайте время ожидания после каждой неудачной попытки. Подробнее об экспоненциальной выдержке…
  • Используйте максимально возможный размер страницы. Запросы на поиск и получение списка имеют наименьшую квоту. Запрашивайте до 300 сообщений на страницу вместо множества небольших страниц.
  • Используйте фильтры. Чтобы получать только нужные сообщения, сузьте запросы search с помощью filter или query.
  • Используйте пакетные методы для массовых действий. Один запрос batchRelease или batchDeny может разрешить или отклонить до 500 писем, тогда как вызов release или deny обрабатывает только одно письмо.
  • Опрашивайте операции как можно реже. При ожидании пакетной операции вызывайте метод get ресурса customers.operations каждые несколько секунд, а не непрерывно.
  • Выполните инкрементную синхронизацию. Вместо того чтобы каждый раз заново выводить список всех писем в карантине, отфильтруйте их по status = PENDING_TRIAGE и обрабатывайте только новые сообщения.

В предварительной версии для разработчиков увеличить квоту нельзя. Если для вашего варианта использования требуются более высокие квоты, оставьте отзыв в программе предварительной версии для разработчиков Google Workspace.