Wyślij jednokierunkowe żądanie
DOTYCZY: Wszystkie warstwy usługi API Management
Zasady send-one-way-request
wysyła podane żądanie do określonego adresu URL bez oczekiwania na odpowiedź.
Uwaga
Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.
Instrukcja zasad
<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>
Atrybuty
Atrybut | opis | Wymagani | Wartość domyślna |
---|---|---|---|
tryb | Określa, czy jest new to żądanie, czy copy treść nagłówków i treści w bieżącym żądaniu. W sekcji mode=copy zasad ruchu wychodzącego nie inicjuje treści żądania. Wyrażenia zasad są dozwolone. |
Nie. | new |
timeout | Interwał limitu czasu w sekundach przed niepowodzeniem wywołania adresu URL. Wyrażenia zasad są dozwolone. | Nie. | 60 |
Elementy
Element | opis | Wymagania |
---|---|---|
set-url | Adres URL żądania. Wyrażenia zasad są dozwolone. | Nie, jeśli mode=copy ; w przeciwnym razie tak. |
set-method | Ustawia metodę żądania. Wyrażenia zasad nie są dozwolone. | Nie, jeśli mode=copy ; w przeciwnym razie tak. |
set-header | Ustawia nagłówek w żądaniu. Użyj wielu set-header elementów dla wielu nagłówków żądań. |
Nie. |
set-body | Ustawia treść żądania. | Nie. |
uwierzytelnianie certyfikatu | Certyfikat do użycia na potrzeby uwierzytelniania klienta określonego w atrybucie thumbprint . |
Nie. |
proxy | Kieruje żądanie za pośrednictwem serwera proxy HTTP. | Nie. |
Użycie
- Sekcje zasad: ruch przychodzący, wychodzący, zaplecze, błąd
- Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
- Bramy: klasyczne, v2, zużycie, self-hosted
Przykład
W tym przykładzie send-one-way-request
użyto zasad do wysłania wiadomości do pokoju rozmów usługi Slack, jeśli kod odpowiedzi HTTP jest większy lub równy 500. Aby uzyskać więcej informacji na temat tego przykładu, zobacz Używanie usług zewnętrznych z usługi Azure API Management.
<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>
Powiązane zasady
Powiązana zawartość
Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz:
- Samouczek: przekształcanie i ochrona interfejsu API
- Dokumentacja zasad dla pełnej listy instrukcji zasad i ich ustawień
- Wyrażenia zasad
- Ustawianie lub edytowanie zasad
- Ponowne używanie konfiguracji zasad
- Repozytorium fragmentów zasad
- Zestaw narzędzi zasad usługi Azure API Management
- Tworzenie zasad przy użyciu rozwiązania Microsoft Copilot na platformie Azure