Wait
GÄLLER FÖR: Alla API Management-nivåer
Principen wait
kör sina omedelbara underordnade principer parallellt och väntar på att alla eller en av dess omedelbara underordnade principer ska slutföras innan den slutförs. Principen wait
kan ha en eller flera av följande principer som omedelbara underordnade principer: send-request
, cache-lookup-value
och .choose
Kommentar
Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.
Principuttryck
<wait for="all | any">
<!--Wait policy can contain send-request, cache-lookup-value,
and choose policies as child elements -->
</wait>
Attribut
Attribut | beskrivning | Obligatoriskt | Standardvärde |
---|---|---|---|
för | Avgör om wait principen väntar på att alla omedelbara underordnade principer ska slutföras eller bara en. Tillåtna värden är:- all - vänta tills alla omedelbara underordnade principer har slutförts- any - vänta tills någon omedelbar barnpolicy har slutförts. När den första omedelbara underordnade principen har slutförts slutförs principen och körningen wait av andra omedelbara underordnade principer avslutas.Principuttryck tillåts. |
Nej | all |
Element
Kan endast send-request
innehålla som underordnade element , cache-lookup-value
och choose
principer.
Användning
- Principavsnitt: inkommande, utgående, serverdel
- Principomfattningar: global, arbetsyta, produkt, API, åtgärd
- Gatewayer: klassisk, v2, förbrukning, lokalt installerad, arbetsyta
Exempel
I följande exempel finns det två choose
principer som omedelbara underordnade principer för wait
principen. Var och en av dessa choose
principer körs parallellt. Varje choose
princip försöker hämta ett cachelagrat värde. Om det finns en cachemiss anropas en serverdelstjänst för att ange värdet. I det här exemplet wait
slutförs inte principen förrän alla dess omedelbara underordnade principer har slutförts, eftersom for
attributet är inställt på all
. I det här exemplet deklareras kontextvariablerna (execute-branch-one
, value-one
, execute-branch-two
och value-two
) utanför omfånget för den här exempelprincipen.
<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>
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Principreferens för en fullständig lista över principinstruktioner och deras inställningar
- Principuttryck
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Skapa principer med Microsoft Copilot i Azure