Enviar solicitação unidirecional
APLICA-SE A: todas as camadas do Gerenciamento de API
A política send-one-way-request
envia a solicitação fornecida para a URL especificada sem aguardar uma resposta.
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
<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 | Descrição | Obrigatório | Padrão |
---|---|---|---|
mode | Determina se esta é uma new solicitação ou uma copy dos cabeçalhos e corpo da solicitação atual. Na seção de política de saída, mode=copy não inicializa o corpo da solicitação. Expressões de política são permitidas. |
Não | new |
tempo limite | O intervalo de tempo limite em segundos antes de a chamada para a URL falhar. Expressões de política são permitidas. | Não | 60 |
Elementos
Elemento | Descrição | Obrigatório |
---|---|---|
set-url | A URL da solicitação. Expressões de política são permitidas. | Não se mode=copy , caso contrário, sim. |
set-method | Define o método da solicitação. Expressões de política não são permitidas. | Não se mode=copy , caso contrário, sim. |
set-header | Define um cabeçalho na solicitação. Use vários elementos de set-header para vários cabeçalhos de solicitação. |
Não |
set-body | Define o corpo da solicitação. | Não |
authentication-certificate | Certificado a ser usado para autenticação de cliente, especificado em um atributo thumbprint . |
Não |
proxy | Solicitação de rotas por meio de proxy HTTP. | Não |
Uso
- Seções da política: entrada, saída, back-end, em caso de erro
- Escopos de política: global, espaço de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado
Exemplo
Este exemplo usa a política send-one-way-request
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 esse exemplo, consulte Uso dos 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ú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