Политика ожидания или задержки Azure APIM

#azure #api #azure-api-management #policies #apim

#azure #API #azure-api-management #Политики #apim

Вопрос:

существует ли политика ожидания или какая-либо альтернатива в Azure apim, чтобы я мог отложить конкретный ответ на 5 секунд?введите описание изображения здесь В прикрепленном изображении мне нужно предоставить 5 секунд задержки или состояния ожидания для выделенного условия.

Ответ №1:

Для эмуляции задержки можно использовать политику повторных попыток:

https://learn.microsoft.com/en-us/azure/api-management/api-management-advanced-policies#Retry

 <retry condition="@(true)" count="1" interval="5" />
  

Ответ №2:

Это невозможно только с APIM. Вы могли бы вызвать другую конечную точку с помощью send-request, что задержало бы ответ APIM, но сначала у вас должна быть такая конечная точка.

Ответ №3:

Нет встроенной политики, которая поддерживает задержку. Тем не менее, в качестве обходного пути может быть включена следующая политика.

Следующая политика устанавливает переменную через 500 миллисекунд.

             <set-variable name="delayExpression" value="@{
                var curr = System.DateTime.UtcNow.AddMilliseconds(500);
                while(System.DateTime.UtcNow < curr){
                    continue;
                }
                return System.DateTime.UtcNow;
            }"/>