Wait
APLICA-SE A: Todas as camadas de gerenciamento de API
A wait
política executa suas políticas filhas imediatas em paralelo e aguarda a conclusão de todas ou uma de suas políticas filhas imediatas antes de ser concluída. A wait
política pode ter como políticas filhas imediatas uma ou mais das seguintes políticas: send-request
, cache-lookup-value
e choose
políticas.
Nota
Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar 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 | Description | Necessário | Predefinição |
---|---|---|---|
para | Determina se a wait política aguarda a conclusão imediata de todas as políticas secundárias ou apenas uma. Os valores permitidos são:- all - Aguarde a conclusão de todas as políticas imediatas para crianças- any - Aguarde a conclusão imediata de qualquer política de crianças. Uma vez concluída a primeira política subordinada imediata, a política é concluída e a wait execução de quaisquer outras políticas secundárias imediatas é encerrada.São permitidas expressões de política. |
Não | all |
Elementos
Pode conter apenas send-request
como elementos filho , cache-lookup-value
e choose
políticas.
Utilização
- Seções de política: entrada, saída, back-end
- Âmbitos de política: global, área de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, espaço de trabalho
Exemplo
No exemplo a seguir, há duas choose
políticas como políticas filhas imediatas da wait
política. Cada uma dessas choose
políticas é executada em paralelo. Cada choose
política tenta recuperar um valor armazenado em cache. Se houver uma falha de cache, um serviço de back-end será chamado para fornecer o valor. Neste exemplo, a wait
política não é concluída até que todas as suas políticas filhas imediatas sejam concluídas, porque o for
atributo 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údos relacionados
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transforme e proteja sua API
- Referência de política para uma lista completa de declarações de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Recompra de trechos de política
- Criar políticas usando o Microsoft Copilot no Azure