Wait.
SI APPLICA A: Tutti i livelli di Gestione API
Il criterio wait
esegue i criteri figlio immediati in parallelo e attende che tutti o uno dei relativi criteri figlio immediati vengano completati prima di terminare la sua attività. I criteri wait
possono avere come criteri figlio immediati uno o più dei criteri seguenti: send-request
, cache-lookup-value
e choose
.
Nota
Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di API Management.
<wait for="all | any">
<!--Wait policy can contain send-request, cache-lookup-value,
and choose policies as child elements -->
</wait>
Attributo | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
for | Determina se il criterio wait attende il completamento di tutti o solo uno dei criteri figlio immediati. I valori consentiti sono i seguenti:- all : consente di attendere il completamento di tutti i criteri figlio immediati- any : consente di attendere il completamento di uno dei criteri figlio immediati. Dopo il completamento del primo criterio figlio immediato, il criterio wait si completa e l'esecuzione di qualsiasi altro criterio figlio immediato viene arrestata.Le espressioni di criteri sono consentite. |
No | all |
Può contenere come elementi figlio solo i criteri send-request
, cache-lookup-value
e choose
.
- Sezioni del criterio: inbound, outbound, back-end
- Ambiti del criterio: globale, area di lavoro, prodotto, API, operazione
- Gateway: classico, v2, consumo, self-hosted, area di lavoro
L'esempio seguente contiene due criteri choose
come criteri figlio immediato dei criteri wait
. Ognuno di questi criteri choose
viene eseguito in parallelo. Ogni criterio choose
tenta di recuperare un valore memorizzato nella cache. Se si verifica un mancato riscontro nella cache, viene chiamato un servizio di back-end per fornire il valore. In questo esempio il criterio wait
non si completa fino al completamento di tutti i relativi criteri figlio immediati, poiché l'attributo for
è impostato su all
. In questo esempio le variabili di contesto (execute-branch-one
, value-one
, execute-branch-two
e value-two
) vengono dichiarate all'esterno dell'ambito di questo criterio di esempio.
<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>
Per ulteriori informazioni sull'utilizzo dei criteri, vedere:
- Esercitazione: trasformare e proteggere l'API
- Informazioni di riferimento sui criteri per un elenco completo delle istruzioni dei criteri e delle relative impostazioni
- Espressioni di criteri
- Impostare o modificare criteri
- Riutilizzare le configurazioni dei criteri
- Repository dei frammenti di criteri
- Creare criteri usando Microsoft Copilot in Azure