Wait
DOTYCZY: Wszystkie warstwy usługi API Management
Zasady wait
wykonują swoje natychmiastowe zasady podrzędne równolegle i czekają na ukończenie wszystkich lub jednego z natychmiastowych zasad podrzędnych. Zasady wait
mogą mieć jako natychmiastowe zasady podrzędne co najmniej jedną z następujących zasad: send-request
, cache-lookup-value
i choose
.
Uwaga
Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.
Instrukcja zasad
<wait for="all | any">
<!--Wait policy can contain send-request, cache-lookup-value,
and choose policies as child elements -->
</wait>
Atrybuty
Atrybut | opis | Wymagani | Wartość domyślna |
---|---|---|---|
dla | Określa, czy wait zasady oczekują na ukończenie wszystkich natychmiastowych zasad podrzędnych, czy tylko jednej. Dozwolone wartości to:- all - poczekaj na ukończenie wszystkich natychmiastowych zasad podrzędnych- any - poczekaj na zakończenie wszelkich natychmiastowych zasad podrzędnych. Po zakończeniu wait pierwszych natychmiastowych zasad podrzędnych zasady zostaną zakończone i wykonanie innych natychmiastowych zasad podrzędnych zostanie zakończone.Wyrażenia zasad są dozwolone. |
Nie. | all |
Elementy
Może zawierać jako elementy podrzędne tylko send-request
, cache-lookup-value
i choose
zasady.
Użycie
- Sekcje zasad: ruch przychodzący, wychodzący, zaplecze
- Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
- Bramy: klasyczne, v2, zużycie, self-hosted, obszar roboczy
Przykład
W poniższym przykładzie istnieją dwie choose
zasady jako natychmiastowe zasady podrzędne wait
zasad. Każda z tych choose
zasad jest wykonywana równolegle. Każda choose
zasada próbuje pobrać wartość z pamięci podręcznej. Jeśli brakuje pamięci podręcznej, usługa zaplecza jest wywoływana w celu podania wartości. W tym przykładzie wait
zasady nie są wykonywane do momentu ukończenia wszystkich jego natychmiastowych zasad podrzędnych, ponieważ for
atrybut jest ustawiony na all
wartość . W tym przykładzie zmienne kontekstowe (execute-branch-one
, value-one
, execute-branch-two
i value-two
) są deklarowane poza zakresem tych przykładowych zasad.
<wait for="all">
<choose>
<when condition="@((bool)context.Variables["execute-branch-one="])">
<cache-lookup-value key="key-one" variable-name="value-one" />
<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" />
<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>
Powiązane zasady
Powiązana zawartość
Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz:
- Samouczek: przekształcanie i ochrona interfejsu API
- Dokumentacja zasad dla pełnej listy instrukcji zasad i ich ustawień
- Wyrażenia zasad
- Ustawianie lub edytowanie zasad
- Ponowne używanie konfiguracji zasad
- Repozytorium fragmentów zasad
- Tworzenie zasad przy użyciu rozwiązania Microsoft Copilot na platformie Azure