다음을 통해 공유


키별 사용 할당량 설정

적용 대상: 개발자 | 기본 | 표준 | 프리미엄

quota-by-key 정책은 키를 기준으로 갱신 가능 또는 수명 호출 볼륨 및/또는 대역폭 할당량을 적용할 수 있습니다. 키는 임의의 문자열 값을 포함할 수 있으며 일반적으로 정책 식을 사용하여 제공됩니다. 할당량에 포함될 요청을 지정하기 위해 선택적 증분 조건을 추가할 수 있습니다. 여러 정책이 동일한 키 값을 증가시키는 경우 요청당 한 번만 증가됩니다. 할당량이 초과되면 호출자가 403 Forbidden 응답 상태 코드를 수신하며, 응답에는 값이 권장되는 재시도 간격(초)인 Retry-After 헤더가 포함됩니다.

속도 제한과 할당량 간의 차이를 이해하려면 속도 제한 및 할당량을 참조하세요.

참고 항목

서비스 플랫폼에서 기본 컴퓨팅 리소스가 다시 시작될 때 API Management는 할당량에 도달한 후 짧은 기간 동안 요청을 계속 처리할 수 있습니다.

참고 항목

정책 문에 제공된 순서대로 정책의 요소 및 자식 요소를 설정합니다. 이 정책을 구성하는 데 도움이 되도록 포털은 양식 기반의 안내형 편집기를 제공합니다. API Management 정책을 설정하거나 편집하는 방법에 대해 자세히 알아봅니다.

정책 문

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

특성

특성 설명 필수 항목 기본값
bandwidth renewal-period에 지정된 시간 간격 동안 허용된 전체 최대 킬로바이트 수입니다. 정책 식은 허용되지 않습니다. calls, bandwidth 또는 둘 다 함께 지정해야 합니다. 해당 없음
호출 renewal-period에 지정된 시간 간격 동안 허용된 전체 최대 호출 수입니다. 정책 식은 허용되지 않습니다. calls, bandwidth 또는 둘 다 함께 지정해야 합니다. 해당 없음
counter-key quota policy에 사용할 키입니다. 각 키 값에 대해 정책이 구성된 모든 범위에 단일 카운터가 사용됩니다. 정책 식이 허용됩니다. 해당 없음
increment-condition 요청을 할당량에 포함할지를 지정하는 부울 식입니다(true). 정책 식이 허용됩니다. 아니요 해당 없음
increment-count 요청당 카운터가 증가하는 수입니다. 정책 식이 허용됩니다. 아니요 1
renewal-period 할당량이 초기화된 후 고정된 기간의 길이(초)입니다. 각 기간의 시작은 first-period-start를 기준으로 계산됩니다. 최소 기간: 300초. renewal-period이(가) 0으로 설정되면 마침표가 무한으로 설정됩니다. 정책 식은 허용되지 않습니다. 해당 없음
첫 번째 기간 시작 할당량 갱신 기간의 시작 날짜 및 시간은 ISO 8601 표준에 지정된 yyyy-MM-ddTHH:mm:ssZ 형식입니다. 정책 식은 허용되지 않습니다. 아니요 0001-01-01T00:00:00Z

사용

사용법 참고 사항

다른 API 간에 합계를 공유하지 않으려면 counter-key 특성 값은 API Management 인스턴스의 모든 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>

이 정책에 대한 자세한 내용과 예제는 Azure API Management로 고급 요청 제한을 참조하세요.

정책 작업에 대한 자세한 내용은 다음을 참조하세요.