Поделиться через


Настройка квоты использования по ключу

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Стандартный | Премия

Политика quota-by-key принудительно устанавливает возобновляемую или действующую в течение срока службы квоту на число вызовов и (или) квоту пропускной способности для каждого ключа. Ключ может содержать произвольное строковое значение и обычно указывается с помощью выражения политики. Чтобы указать, какие запросы следует учитывать в квоте, можно добавить дополнительное условие увеличения. Если несколько политик будут увеличивать одно и то же значение ключа, оно увеличивается только один раз за запрос. При превышении квоты вызывающий объект получает код состояния ответа 403 Forbidden, и ответ включает заголовок Retry-After, значение которого представляет собой рекомендуемый интервал повтора в секундах.

Сведения о разнице между ограничениями скорости и квотами см. в разделе "Пределы скорости и квоты".

Примечание.

Когда базовые вычислительные ресурсы перезапускаются на платформе службы, Управление API может продолжать обрабатывать запросы в течение короткого периода после достижения квоты.

Примечание.

Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Чтобы помочь вам настроить эту политику, портал предоставляет интерактивный редактор на основе форм. Узнайте, как устанавливать или изменять политики службы управления API.

Правило политики

<quota-by-key calls="number"
              bandwidth="kilobytes"
              renewal-period="seconds"
              increment-condition="condition"
              increment-count="number"
              counter-key="key value"
              first-period-start="date-time" />

Атрибуты

Атрибут Description Обязательное поле По умолчанию.
bandwidth Максимальное общее число килобайтов, разрешенное в течение периода времени, указанного в renewal-period. Выражения политики не допускаются. Необходимо указать атрибут calls, bandwidth или оба вместе. Н/П
вызывает Максимальное общее число вызовов, разрешенное в течение периода времени, указанного в renewal-period. Выражения политики не допускаются. Необходимо указать атрибут calls, bandwidth или оба вместе. Н/П
counter-key Ключ, используемый для quota policy. Для каждого значения ключа используется один счетчик для всех областей, для которых настроена политика. Допустимы выражения политики. Да Н/П
increment-condition Логическое выражение, указывающее, следует ли рассчитывать запрос на квоту (true). Допустимы выражения политики. No Н/П
increment-count Число, на которое увеличивается счетчик, для каждого запроса. Допустимы выражения политики. No 1
renewal-period Длина фиксированного периода в секундах, по истечении которого квота сбрасывается. Начало каждого периода вычисляется относительно first-period-start. Минимальный период: 300 секунд. Если renewal-period задано значение 0, период имеет значение бесконечно. Выражения политики не допускаются. Да Н/П
first-period-start Дата и время начала периода продления квоты в следующем формате: yyyy-MM-ddTHH:mm:ssZ согласно стандарту ISO 8601. Выражения политики не допускаются. No 0001-01-01T00:00:00Z

Использование

Примечания об использовании

Значение counter-key атрибута должно быть уникальным для всех API-интерфейсов в экземпляре Управление API, если вы не хотите совместно использовать общий объем между другими API.

Пример

<policies>
    <inbound>
        <base />
        <quota-by-key calls="10000" bandwidth="40000" renewal-period="3600"
                      increment-condition="@(context.Response.StatusCode >= 200 && context.Response.StatusCode < 400)"
                      counter-key="@(context.Request.IpAddress)" />
    </inbound>
    <outbound>
        <base />
    </outbound>
</policies>

Дополнительные сведения и примеры этой политики см. в статье Расширенное регулирование запросов с помощью управления API.

Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.