Ограничение скорости управления API Azure по телу Json

#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."
}
 

Чем это отличается от вашей реализации?
У вас есть другое Тело запроса?