Wait
S’APPLIQUE À : Tous les niveaux de Gestion des API
La stratégie wait
exécute ses stratégies enfants immédiates en parallèle et attend la fin de la totalité ou de l’une de ses stratégies enfants immédiates pour se terminer. La stratégie wait
peut avoir une ou plusieurs des stratégies suivantes comme stratégies enfants immédiates : send-request
, cache-lookup-value
et choose
.
Notes
Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.
Instruction de la stratégie
<wait for="all | any">
<!--Wait policy can contain send-request, cache-lookup-value,
and choose policies as child elements -->
</wait>
Attributs
Attribut | Description | Obligatoire | Default |
---|---|---|---|
for | Détermine si la stratégie wait attend la fin de toutes les stratégies enfants immédiates ou d’une seule. Les valeurs autorisées sont les suivantes :- all : attend la fin de toutes les stratégies enfants immédiates.- any : attend la fin d’une stratégie enfant immédiate. Une fois la première stratégie enfant immédiate terminée, la stratégie wait se termine et l’exécution de toutes les autres stratégies enfants immédiates est arrêtée.Les expressions de stratégie sont autorisées. |
Non | all |
Éléments
Ne peut contenir comme éléments enfants que les stratégies send-request
, cache-lookup-value
et choose
.
Utilisation
- Sections de la stratégie : inbound, outbound, backend
- Étendues de la stratégie : global, espace de travail, produit, API, opération
- Passerelles : classiques, v2, consommation, auto-hébergées, espace de travail
Exemple
Dans l’exemple suivant, deux stratégies choose
sont les stratégies enfants immédiates de la stratégie wait
. Ces deux stratégies choose
s’exécutent en parallèle. Chaque stratégie choose
essaie de récupérer une valeur en cache. En cas d’échec de cache, un service principal est appelé pour fournir la valeur. Dans cet exemple, la stratégie wait
ne se termine pas tant que toutes ses stratégies enfants immédiates ne sont pas terminées, car l’attribut for
a la valeur all
. Dans cet exemple, les variables de contexte (execute-branch-one
, value-one
, execute-branch-two
et value-two
) sont déclarées hors de l’étendue de cet exemple de stratégie.
<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>
Stratégies connexes
Contenu connexe
Pour plus d’informations sur l’utilisation des stratégies, consultez :
- Tutoriel : Transformer et protéger votre API
- Référence de stratégie pour obtenir la liste complète des instructions et des paramètres de stratégie
- Expressions de stratégie
- Définir ou modifier des stratégies
- Réutilisation de configurations de stratégie
- Référentiel d’extrait de stratégie
- Créer des stratégies à l’aide de Microsoft Copilot dans Azure