Kirim permintaan satu arah

BERLAKU UNTUK: Semua tingkatAN API Management

Kebijakan send-one-way-request mengirimkan permintaan yang disediakan ke URL yang ditentukan tanpa menunggu respons.

Catatan

Tetapkan elemen kebijakan dan elemen turunan dalam urutan yang disediakan dalam pernyataan kebijakan. Pelajari lebih lanjut cara mengatur atau mengedit kebijakan API Management.

Pernyataan kebijakan

<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>

Atribut

Atribut Deskripsi Wajib diisi Default
mode Menentukan apakah ini adalah new permintaan atau copy header dan isi dalam permintaan saat ini. Di bagian kebijakan keluar, mode=copy tidak menginisialisasi isi permintaan. Ekspresi kebijakan diizinkan. No new
waktu habis Interval waktu habis dalam hitungan detik sebelum panggilan ke URL gagal. Ekspresi kebijakan diizinkan. No 60

Elemen

Elemen Deskripsi Wajib diisi
set-url URL permintaan. Ekspresi kebijakan diizinkan. Tidak jika mode=copy; sebaliknya ya.
atur-metode Mengatur metode permintaan. Ekspresi kebijakan tidak diizinkan. Tidak jika mode=copy; sebaliknya ya.
atur-judul Mengatur header dalam permintaan. Gunakan beberapa set-header elemen untuk beberapa header permintaan. No
set-body Mengatur isi permintaan. No
authentication-certificate Sertifikat yang digunakan untuk autentikasi klien, ditentukan dalam thumbprint atribut. No
proksi Merutekan permintaan melalui proksi HTTP. No

Penggunaan

Contoh

Contoh ini menggunakan send-one-way-request kebijakan untuk mengirim pesan ke ruang obrolan Slack jika kode respons HTTP lebih besar dari atau sama dengan 500. Untuk informasi selengkapnya tentang sampel ini, lihat Menggunakan layanan eksternal dari layanan 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>

Untuk informasi selengkapnya tentang bekerja dengan kebijakan, lihat: