Читая следующий документ, я нашел решение.
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/api-management/api-management-sample-flexible-throttling.md
<rate-limit-by-key calls="10"
renewal-period="60"
counter-key="@(context.Request.IpAddress)" />
<quota-by-key calls="1000000"
bandwidth="10000"
renewal-period="2629800"
counter-key="@(context.Request.IpAddress)" />
Однако с ним происходит странная вещь.
Я установил renewal-period="60"
в управлении API.
Когда я делаю запросы (10 запросов в течение примерно 10 секунд), используя первое устройство (подключенное через Wi-Fi), я получаю код состояния 429 и сообщение как "message": "Rate limit is exceeded. Try again in 34 seconds."
Однако, когда я делаю запросы (10 запросов в течение примерно 10 секунд), используя второе устройство (мобильный телефон, подключенный через сотовую сеть), я должен получить сообщение о том, что повторите попытку через 50 или 60 секунд.
На втором устройстве я получаю следующее:
"message": "Rate limit is exceeded. Try again in 24 seconds."
Что странно, поскольку время указывает время обновления для первого устройства.