Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API
Политика wait параллельно выполняет свои непосредственные дочерние политики и ожидает выполнения всех или одной из них, прежде чем будет завершена. Политика wait может иметь в качестве немедленной дочерней политики одну или несколько следующих политик: send-request, cache-lookup-valueи choose политики.
Примечание.
Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.
Правило политики
<wait for="all | any">
<!--Wait policy can contain send-request, cache-lookup-value,
and choose policies as child elements -->
</wait>
Атрибуты
| Атрибут | Описание | Обязательное поле | По умолчанию. |
|---|---|---|---|
| для | Определяет, ожидает ли политика wait завершения всех непосредственных дочерних политик или только одной. Допустимые значения:—- all: ожидание завершения всех непосредственных дочерних политик;- any — дождитесь завершения любой немедленной дочерней политики. После завершения первой непосредственной дочерней политики политика wait завершается и прерывает выполнение других непосредственных дочерних политик.Допустимы выражения политики. |
нет | all |
Элементы
Может содержать в качестве дочерних элементов только политики send-request, cache-lookup-value и choose.
Использование
- Разделы политики: inbound, outbound, backend.
- Области политики: глобальная, рабочая область, продукт, API, операция
- Шлюзы: классическая, версия 2, потребление, локальное размещение, рабочая область
Пример
В следующем примере две политики choose являются непосредственными дочерними политиками политики wait. Каждая из этих политик choose выполняется в параллельном режиме. Каждая политика choose пытается извлечь кэшированное значение. В случае промаха кэша для получения значения вызывается внутренняя служба. В этом примере политика wait не завершается, пока не завершатся все ее непосредственные дочерние политики, так как атрибут for имеет значение all. В этом примере переменные контекста (execute-branch-one, value-one, execute-branch-two и value-two) объявляются вне области этого примера политики.
Примечание.
Добавьте политику ограничения скорости (или политику ограничения скорости по ключу ) после поиска кэша, чтобы ограничить количество вызовов и предотвратить перегрузку серверной службы в случае, если кэш недоступен.
<wait for="all">
<choose>
<when condition="@((bool)context.Variables["execute-branch-one="])">
<cache-lookup-value key="key-one" variable-name="value-one" />
<rate-limit calls="10" renewal-period="60" />
<choose>
<when condition="@(!context.Variables.ContainsKey("value-one="))">
<send-request mode="new" response-variable-name="value-one">
<set-url>https://backend-one</set-url>
<set-method>GET</set-method>
</send-request>
</when>
</choose>
</when>
</choose>
<choose>
<when condition="@((bool)context.Variables["execute-branch-two="])">
<cache-lookup-value key="key-two" variable-name="value-two" />
<rate-limit calls="10" renewal-period="60" />
<choose>
<when condition="@(!context.Variables.ContainsKey("value-two="))">
<send-request mode="new" response-variable-name="value-two">
<set-url>https://backend-two</set-url>
<set-method>GET</set-method>
</send-request>
</when>
</choose>
</when>
</choose>
</wait>
Связанные политики
Связанный контент
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство. Преобразование и защита API
- Полный перечень операторов политик и их параметров см. в справочнике по политикам.
- Выражения политики
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- репозиторий Policy
- Набор средств политики Управление API Azure
- Получите помощь Copilot для создания, объяснения и устранения неполадок в политике