Enviar pedido unidirecional
APLICA-SE A: Todas as camadas de gerenciamento de API
A send-one-way-request
política envia a solicitação fornecida para a URL especificada sem aguardar uma resposta.
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
<send-one-way-request mode="new | copy" timeout="time in seconds">
<set-url>request URL</set-url>
<set-method>...</set-method>
<set-header>...</set-header>
<set-body>...</set-body>
<authentication-certificate thumbprint="thumbprint" />
</send-one-way-request>
Atributos
Atributo | Description | Necessário | Predefinição |
---|---|---|---|
modo | Determina se esta é uma new solicitação ou um copy dos cabeçalhos e corpo na solicitação atual. Na seção de política de saída, mode=copy não inicializa o corpo da solicitação. São permitidas expressões de política. |
Não | new |
tempo limite | O intervalo de tempo limite em segundos antes da chamada para a URL falhar. São permitidas expressões de política. | Não | 60 |
Elementos
Elemento | Description | Obrigatório |
---|---|---|
set-url | O URL do pedido. São permitidas expressões de política. | Não, caso mode=copy contrário, sim. |
método-conjunto | Define o método da solicitação. Expressões de política não são permitidas. | Não, caso mode=copy contrário, sim. |
set-header | Define um cabeçalho na solicitação. Use vários set-header elementos para vários cabeçalhos de solicitação. |
Não |
corpo-conjunto | Define o corpo da solicitação. | Não |
certificado-autenticação | Certificado a ser usado para autenticação de cliente, especificado em um thumbprint atributo. |
Não |
procuração | Solicitação de rotas via proxy HTTP. | Não |
Utilização
- Seções de política: entrada, saída, back-end, no erro
- Âmbitos de política: global, área de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado
Exemplo
Este exemplo usa a send-one-way-request
política para enviar uma mensagem para uma sala de chat do Slack se o código de resposta HTTP for maior ou igual a 500. Para obter mais informações sobre este exemplo, consulte Usando serviços externos do serviço de Gerenciamento de API do Azure.
<choose>
<when condition="@(context.Response.StatusCode >= 500)">
<send-one-way-request mode="new" timeout="20">
<set-url>https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX</set-url>
<set-method>POST</set-method>
<set-body>@{
return new JObject(
new JProperty("username","APIM Alert"),
new JProperty("icon_emoji", ":ghost:"),
new JProperty("text", String.Format("{0} {1}\nHost: {2}\n{3} {4}\n User: {5}",
context.Request.Method,
context.Request.Url.Path + context.Request.Url.QueryString,
context.Request.Url.Host,
context.Response.StatusCode,
context.Response.StatusReason,
context.User.Email
))
).ToString();
}</set-body>
</send-one-way-request>
</when>
</choose>
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
- Kit de ferramentas de política de Gerenciamento de API do Azure
- Criar políticas usando o Microsoft Copilot no Azure