Udostępnij za pośrednictwem


Ustawianie limitu przydziału użycia według klucza

DOTYCZY: Developer | Podstawowa | Standardowa | Premia

Zasady quota-by-key wymuszają wolumin wywołań odnawialnych lub okres istnienia i/lub limit przydziału przepustowości na podstawie klucza. Klucz może mieć dowolną wartość w postaci ciągu i jest zwykle określany przy użyciu wyrażenia zasad. Można dodać opcjonalny warunek przyrostu, aby określić, które żądania mają być zliczane do limitu przydziału. Jeśli wiele zasad zwiększy tę samą wartość klucza, zwiększa ją tylko raz na żądanie. Po przekroczeniu limitu przydziału obiekt wywołujący otrzymuje 403 Forbidden kod stanu odpowiedzi, a odpowiedź zawiera Retry-After nagłówek, którego wartość jest zalecanym interwałem ponawiania prób w sekundach.

Aby zrozumieć różnicę między limitami szybkości i limitami przydziałów, zobacz Limity szybkości i limity przydziału.

Uwaga

Po ponownym uruchomieniu bazowych zasobów obliczeniowych na platformie usługi usługa API Management może nadal obsługiwać żądania przez krótki okres po osiągnięciu limitu przydziału.

Uwaga

Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Aby ułatwić konfigurowanie tych zasad, portal udostępnia edytor oparty na formularzach z przewodnikiem. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.

Instrukcja zasad

<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" />

Atrybuty

Atrybut opis Wymagani Wartość domyślna
bandwidth Maksymalna całkowita liczba kilobajtów dozwolonych w przedziale czasu określonym w obiekcie renewal-period. Wyrażenia zasad nie są dozwolone. callsNależy określić wartości , bandwidthlub oba te elementy. Nie dotyczy
Wywołania Maksymalna całkowita liczba wywołań dozwolonych w przedziale czasu określonym w obiekcie renewal-period. Wyrażenia zasad nie są dozwolone. callsNależy określić wartości , bandwidthlub oba te elementy. Nie dotyczy
counter-key Klucz do użycia dla elementu quota policy. Dla każdej wartości klucza jest używany pojedynczy licznik dla wszystkich zakresów, w których skonfigurowano zasady. Wyrażenia zasad są dozwolone. Tak Nie dotyczy
warunek przyrostowy Wyrażenie logiczne określające, czy żądanie powinno być zliczane do limitu przydziału (true). Wyrażenia zasad są dozwolone. Nie. Nie dotyczy
increment-count Liczba, za pomocą której licznik jest zwiększany na żądanie. Wyrażenia zasad są dozwolone. Nie. 1
okres odnowienia Długość w sekundach stałego okna, po którym zostanie zresetowany limit przydziału. Początek każdego okresu jest obliczany względem first-period-startwartości . Minimalny okres: 300 sekund. W renewal-period przypadku ustawienia wartości 0 kropka jest ustawiona na nieskończoną. Wyrażenia zasad nie są dozwolone. Tak Nie dotyczy
początek pierwszego okresu Data i godzina rozpoczęcia okresów odnawiania przydziału w następującym formacie: yyyy-MM-ddTHH:mm:ssZ zgodnie ze standardem ISO 8601. Wyrażenia zasad nie są dozwolone. Nie. 0001-01-01T00:00:00Z

Użycie

Uwagi dotyczące użycia

Wartość atrybutu counter-key musi być unikatowa we wszystkich interfejsach API w wystąpieniu usługi API Management, jeśli nie chcesz udostępniać sumy między innymi interfejsami API.

Przykład

<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>

Aby uzyskać więcej informacji i przykłady tych zasad, zobacz Advanced request throttling with Azure API Management (Zaawansowane ograniczanie żądań za pomocą usługi Azure API Management).

Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz: