Понимание ограничения скорости Cato API

Ограничения скорости для Cato API применяются на уровне каждого запроса и каждой учетной записи. Это означает, что для каждого запроса существует индивидуальный счетчик, но он применяется ко всем ключам API, выполняющим запросы этой учетной записи. Таким образом, два разных пользователя, выполняющие два отдельных запроса, не влияют друг на друга. Однако, если два разных пользователя выполняют один и тот же запрос, эти запросы подлежат тому же счетчику (для целей ограничения скорости), и возможно, что запрос одного пользователя повлияет на другого.

Бэкэнд Cato API обладает высокой доступностью и эластичностью, поэтому ограничения скорости гарантируют минимальное, а не абсолютное максимальное значение. Например, запрос auditFeed имеет ограничение скорости 5 в минуту. Это означает, что учетная запись может вызвать auditFeed как минимум пять раз за каждые 60 секунд без ограничений скорости. На практике клиенты могут вызывать этот запрос более часто, но гарантированный минимальный скоростной лимит неограниченных вызовов составляет 5 в минуту. Тем не менее, существует также счетчик на уровне всей учетной записи, поэтому, если пять разных пользователей запрашивают auditFeed одновременно, чтобы гарантировать, что они не будут ограничены в скорости, каждый пользователь может выполнять запрос только раз в 60 секунд.

GitHub-аккаунт Cato содержит пример скриптов на Python, которые грамотно обрабатывают ограничение скорости, ожидая пять секунд перед повторной попыткой. Клиенты могут использовать аналогичные стратегии в своих собственных API-скриптах.

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

Общее ограничение скорости API

Вызовы API ограничены скоростью 120/минуту, за исключением следующих запросов и мутаций:

Исключения из запросов

Следующие API запросов являются исключениями и не имеют ограничений скорости 120/минуту:

  • accountMetrics: 15/минута

  • accountSnapshot: 1/секунда (30/минута)

  • appStatsTimeSeries: 80/минута

  • auditFeed: 5/минута

  • entityLookup: 30/минута (1500/5 часов)

  • eventsFeed: 100/минута

Исключения из мутаций

Следующие API мутации являются исключениями и не имеют ограничений скорости 120/минуту:

  • accountManagement.addAccount: 10/минута

  • accountManagement.removeAccount: 5/минута

  • policy.appTenantRestriction.publishPolicyRevision: 3/минута (20/час)

  • policy.dynamicIpAllocation.publishPolicyRevision: 3/минута (20/час)

  • policy.internetFirewall.publishPolicyRevision: 3/минута (20/час)

  • policy.pacFile.publishPolicyRevision: 3/минута (20/час)

  • policy.remotePortFwd.publishPolicyRevision: 3/минута (20/час)

  • policy.socketLanFirewall.publishPolicyRevision: 3/минута (20/час)

  • policy.socketLanNetwork.publishPolicyRevision: 3/минута (20/час)

  • policy.wanFirewall.publishPolicyRevision: 3/минута (20/час)

  • policy.wanNetwork.publishPolicyRevision: 3/минута (20/час)

  • policy.ztnaAlwaysOn.publishPolicyRevision: 3/минута (20/час)

  • sandbox.uploadFile: 5/5 минут

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 2 из 2

0 комментариев