Tunggu
BERLAKU UNTUK: Semua tingkatAN API Management
Kebijakan wait
menjalankan kebijakan turunan langsungnya secara paralel, dan menunggu salah satu atau semua kebijakan turunan langsungnya selesai sebelum selesai. Kebijakan wait
dapat memiliki sebagai kebijakan turunan langsungnya satu atau beberapa kebijakan berikut: send-request
, cache-lookup-value
, dan choose
.
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
<wait for="all | any">
<!--Wait policy can contain send-request, cache-lookup-value,
and choose policies as child elements -->
</wait>
Atribut
Atribut | Deskripsi | Wajib diisi | Default |
---|---|---|---|
untuk | Menentukan apakah kebijakan wait menunggu hingga semua kebijakan turunan segera diselesaikan atau hanya satu. Nilai yang diperbolehkan adalah:- all - tunggu hingga semua kebijakan turunan segera selesai- any - tunggu hingga kebijakan turunan segera selesai. Setelah kebijakan turunan langsung pertama diselesaikan, kebijakan wait selesai dan eksekusi semua kebijakan turunan langsung lainnya dihentikan.Ekspresi kebijakan diizinkan. |
No | all |
Elemen
Bisa berisi hanya kebijakan send-request
, cache-lookup-value
, dan choose
sebagai elemen turunan.
Penggunaan
- Bagian kebijakan: masuk, keluar, backend
- Cakupan kebijakan: global, ruang kerja, produk, API, operasi
- Gateway: klasik, v2, konsumsi, dihost sendiri, ruang kerja
Contoh
Dalam contoh berikut, ada dua kebijakan choose
sebagai kebijakan turunan langsung kebijakan wait
. Masing-masing dari kebijakan choose
ini dijalankan secara paralel. Setiap kebijakan choose
mencoba mengambil nilai yang disimpan dalam cache. Jika ada cache yang terlewat, layanan backend dipanggil untuk memberikan nilainya. Dalam contoh ini, kebijakan wait
tidak selesai hingga semua kebijakan turunan langsungnya selesai, karena atribut for
disetel ke all
. Dalam contoh ini, variabel konteks (execute-branch-one
, value-one
, execute-branch-two
, dan value-two
) dideklarasikan di luar cakupan contoh kebijakan ini.
<wait for="all">
<choose>
<when condition="@((bool)context.Variables["execute-branch-one="])">
<cache-lookup-value key="key-one" variable-name="value-one" />
<choose>
<when condition="@(!context.Variables.ContainsKey("value-one="))">
<send-request mode="new" response-variable-name="value-one">
<set-url>https://backend-one</set-url>
<set-method>GET</set-method>
</send-request>
</when>
</choose>
</when>
</choose>
<choose>
<when condition="@((bool)context.Variables["execute-branch-two="])">
<cache-lookup-value key="key-two" variable-name="value-two" />
<choose>
<when condition="@(!context.Variables.ContainsKey("value-two="))">
<send-request mode="new" response-variable-name="value-two">
<set-url>https://backend-two</set-url>
<set-method>GET</set-method>
</send-request>
</when>
</choose>
</when>
</choose>
</wait>
Kebijakan terkait
Konten terkait
Untuk informasi selengkapnya tentang bekerja dengan kebijakan, lihat:
- Tutorial: Mengubah dan melindungi API Anda
- Referensi Kebijakan untuk daftar lengkap pernyataan kebijakan dan pengaturannya
- Ekspresi kebijakan
- Mengatur atau mengedit kebijakan
- Menggunakan kembali konfigurasi kebijakan
- Repositori cuplikan kebijakan
- Kebijakan penulis menggunakan Microsoft Copilot di Azure