Wait
PLATÍ PRO: Všechny úrovně služby API Management
Zásada wait
provádí své okamžité podřízené zásady paralelně a čeká na dokončení všech nebo jedné z jejích okamžitých podřízených zásad. Zásada wait
může mít jednu nebo více z následujících zásad bezprostředního podřízeného: send-request
, cache-lookup-value
a choose
zásady.
Poznámka:
Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.
Prohlášení o zásadách
<wait for="all | any">
<!--Wait policy can contain send-request, cache-lookup-value,
and choose policies as child elements -->
</wait>
Atributy
Atribut | Popis | Požaduje se | Výchozí |
---|---|---|---|
pro | Určuje, jestli wait zásada čeká na dokončení všech okamžitých podřízených zásad, nebo jenom na jednu. Povolené hodnoty jsou následující:- all - počkejte na dokončení všech zásad okamžitého podřízeného- any – počkejte na dokončení jakékoli okamžité podřízené zásady. Jakmile se dokončí první okamžitá podřízená zásada, wait zásada se dokončí a ukončí všechny ostatní okamžité podřízené zásady.Výrazy zásad jsou povolené. |
No | all |
Elementy
Může obsahovat pouze send-request
podřízené prvky , cache-lookup-value
a choose
zásady.
Využití
- Oddíly zásad: příchozí, odchozí, back-end
- Obory zásad: globální, pracovní prostor, produkt, rozhraní API, operace
- Brány: Classic, v2, consumption, self-host, workspace
Příklad
V následujícím příkladu existují dvě choose
zásady jako okamžité podřízené zásady wait
zásady. Každá z těchto choose
zásad se provádí paralelně. Každá choose
zásada se pokusí načíst hodnotu uloženou v mezipaměti. Pokud dojde k chybě mezipaměti, zavolá se back-endová služba, která tuto hodnotu poskytne. V tomto příkladu wait
se zásada nedokončí, dokud se nedokončí všechny jeho okamžité podřízené zásady, protože for
atribut je nastaven na all
. V tomto příkladu jsou kontextové proměnné (execute-branch-one
, value-one
, execute-branch-two
a value-two
) deklarovány mimo rozsah této ukázkové zásady.
<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>
Související zásady
Související obsah
Další informace o práci se zásadami najdete v tématech:
- Kurz: Transformace a ochrana rozhraní API
- Referenční informace o zásadách pro úplný seznam prohlášení o zásadách a jejich nastavení
- Výrazy zásad
- Nastavení nebo úprava zásad
- Opakované použití konfigurací zásad
- Úložiště fragmentů zásad
- Sada nástrojů zásad služby Azure API Management
- Vytváření zásad pomocí Microsoft Copilotu v Azure