Invia richiesta unidirezionale
SI APPLICA A: Tutti i livelli di Gestione API
Il criterio send-one-way-request
invia la richiesta specificata all'URL specificato senza attendere una risposta.
Nota
Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di API Management.
Istruzione del criterio
<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>
Attributi
Attributo | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
mode | Determina se si tratta di una richiesta new o di copy delle intestazioni e del corpo nella richiesta corrente. Nella sezione criteri in uscita mode=copy non inizializza il corpo della richiesta. Le espressioni di criteri sono consentite. |
No | new |
timeout | Intervallo di timeout in secondi prima che la chiamata all'URL abbia esito negativo. Le espressioni di criteri sono consentite. | No | 60 |
Elementi
Elemento | Descrizione | Richiesto |
---|---|---|
set-url | URL della richiesta. Le espressioni di criteri sono consentite. | No se mode=copy ; in caso contrario, sì. |
set-method | Imposta il metodo della richiesta. Le espressioni di criteri non sono consentite. | No se mode=copy ; in caso contrario, sì. |
set-header | Imposta un'intestazione nella richiesta. Usare più elementi set-header per più intestazioni di richiesta. |
No |
set-body | Imposta il corpo della richiesta. | No |
authentication-certificate | Certificato da usare per l'autenticazione client, specificato in un attributo thumbprint . |
No |
proxy | Indirizza la richiesta tramite proxy HTTP. | No |
Utilizzo
- Sezioni del criterio: inbound, outbound, backend, on-error
- Ambiti del criterio: globale, area di lavoro, prodotto, API, operazione
- Gateway: classico, v2, consumo, self-hosted
Esempio
Questo esempio usa il criterio send-one-way-request
per inviare un messaggio a una chat room slack se il codice di risposta HTTP è maggiore o uguale a 500. Per altre informazioni relative a questo esempio, vedere Uso di servizi esterni dal servizio Gestione API di 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>
Criteri correlati
Contenuto correlato
Per ulteriori informazioni sull'utilizzo dei criteri, vedere:
- Esercitazione: trasformare e proteggere l'API
- Informazioni di riferimento sui criteri per un elenco completo delle istruzioni dei criteri e delle relative impostazioni
- Espressioni di criteri
- Impostare o modificare criteri
- Riutilizzare le configurazioni dei criteri
- Repository dei frammenti di criteri
- Creare criteri usando Microsoft Copilot in Azure