Aguarde
APLICA-SE A: todas as camadas do Gerenciamento de API
A política wait
executa suas políticas filho imediatas em paralelo e aguarda que todas ou uma das políticas filho imediatas sejam concluídas antes de ser concluída. A política wait
pode ter como políticas filhas imediatas uma ou mais das seguintes políticas: send-request
, cache-lookup-value
e choose
.
Observação
Defina os elementos da política e os elementos filho na ordem fornecida na declaração da política. Saiba mais sobre como definir e editar as políticas de Gerenciamento de API.
Declaração de política
<wait for="all | any">
<!--Wait policy can contain send-request, cache-lookup-value,
and choose policies as child elements -->
</wait>
Atributos
Atributo | Descrição | Obrigatório | Padrão |
---|---|---|---|
para | Determina se a política wait aguarda todas as políticas filho imediatas a serem concluídas ou apenas uma. Valores permitidos são:- all – aguarda todas as políticas filho imediatas serem concluídas- any – aguarda todas as políticas filhas imediatas serem concluídas. Concluída a primeira política filho imediata, a política wait é concluída e a execução de qualquer outra política filho imediata é encerrada.Expressões de política são permitidas. |
Não | all |
Elementos
Pode conter como elementos filho somente as políticas send-request
, cache-lookup-value
e choose
.
Uso
- Seções de política: entrada, saída, back-end
- Escopos de política: global, espaço de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, workspace
Exemplo
No exemplo a seguir há duas políticas choose
como políticas filho imediatas da política wait
. Cada uma dessas políticas choose
executadas em paralelo. Cada política choose
tenta recuperar um valor em cache. Se houver uma perda no cache, um serviço de back-end será chamado para fornecer o valor. Neste exemplo a política wait
não é concluída até todas as políticas filho imediatas serem concluídas, porque o atributo for
está definido como all
. Neste exemplo as variáveis de contexto (execute-branch-one
, value-one
, execute-branch-two
e value-two
) são declaradas fora do escopo desta política de exemplo.
<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>
Políticas relacionadas
Conteúdo relacionado
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transformar e proteger sua API
- Referência de Política para uma lista completa das instruções de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Repositório de snippets de política
- Criar políticas usando o Microsoft Copilot no Azure