Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
Observação
Adicione uma política de limite de taxa (ou política de limite de taxa por chave ) após a busca no cache para ajudar a limitar o número de chamadas e evitar sobrecarga no serviço backend caso o cache não esteja disponível.
<wait for="all">
<choose>
<when condition="@((bool)context.Variables["execute-branch-one="])">
<cache-lookup-value key="key-one" variable-name="value-one" />
<rate-limit calls="10" renewal-period="60" />
<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" />
<rate-limit calls="10" renewal-period="60" />
<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
- Repositório de playground de políticas
- Kit de ferramentas de políticas do Gerenciamento de API do Azure
- Obter assistência do Copilot para criar, explicar e solucionar problemas de políticas