#azure #ratelimit #apim
#azure #ограничение скорости #apim
Вопрос:
здравствуйте, я пытаюсь применить ограничение скорости к управлению Azure api с помощью значения тела json, у меня есть такое правило
<rate-limit-by-key calls="6" renewal-period="180" counter-key="@(context.Request.Body.As<JObject>()["phoneNumber"].ToString())" increment-condition="@(context.Response.StatusCode >= 200 amp;amp; context.Response.StatusCode < 300)" />
но ограничение скорости не работает.
Ответ №1:
Мой тест прошел успешно.
Запрос-Тело:
{
"phoneNumber": " 1234"
}
Политика:
<inbound>
<base />
<rate-limit-by-key calls="6" renewal-period="180" counter-key="@(context.Request.Body.As<JObject>()["phoneNumber"].ToString())" increment-condition="@(context.Response.StatusCode >= 200 amp;amp; context.Response.StatusCode < 300)" />
<return-response>
<set-status code="200" reason="OK" />
<set-body />
</return-response>
</inbound>
return-response используется только для тестирования.
Ответ-Тело после нескольких попыток:
{
"statusCode": 429,
"message": "Rate limit is exceeded. Try again in 174 seconds."
}
Чем это отличается от вашей реализации?
У вас есть другое Тело запроса?