Memicu pengikatan output
BERLAKU UNTUK: Pengembang | Premi
Kebijakan ini invoke-dapr-binding
menginstruksikan gateway API Management untuk memicu pengikatan Dapr keluar. Kebijakan ini menyelesaikannya dengan membuat permintaan HTTP POST untuk http://localhost:3500/v1.0/bindings/{{bind-name}},
mengganti parameter templat dan menambahkan konten yang ditentukan dalam pernyataan kebijakan.
Kebijakan tersebut mengasumsikan bahwa runtime Dapr berjalan dalam kontainer sidecar di pod yang sama dengan gateway. Runtime Dapr bertanggung jawab untuk memanggil sumber daya eksternal yang disajikan oleh pengikatan. Pelajari selengkapnya tentang integrasi Dapr dengan API Management.
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
<invoke-dapr-binding name="bind-name" operation="op-name" ignore-error="false | true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
<metadata>
<item key="item-name"><!-- item-value --></item>
</metadata>
<data>
<!-- message content -->
</data>
</invoke-dapr-binding>
Atribut
Atribut | Deskripsi | Wajib diisi | Default |
---|---|---|---|
nama | Nama pengikatan target. Harus sesuai dengan nama pengikatan yang ditentukan dalam Dapr. Ekspresi kebijakan diizinkan. | Ya | T/A |
operasi | Nama operasi target (spesifik pengikatan). Memetakan ke properti operasi di Dapr. Ekspresi kebijakan tidak diizinkan. | No | Tidak |
ignore-error | Jika diatur untuk true menginstruksikan kebijakan untuk tidak memicu bagian "on-error" saat menerima kesalahan dari runtime Dapr. Ekspresi kebijakan tidak diizinkan. |
No | false |
respons-variabel-nama | Nama entri koleksi Variabel yang akan digunakan untuk menyimpan respons dari runtime Dapr. Ekspresi kebijakan tidak diizinkan. | No | Tidak |
waktu habis | Waktu (dalam detik) untuk menunggu runtime Dapr merespons. Bisa berkisar antara 1 hingga 240 detik. Ekspresi kebijakan diizinkan. | No | 5 |
templat | Mesin pembuat templat yang digunakan untuk mengubah konten pesan. "Liquid" adalah satu-satunya nilai yang didukung. | No | Tidak |
tipekonten | Jenis konten pesan. "application/json" adalah satu-satunya nilai yang didukung. | No | Tidak |
Elemen
Elemen | Deskripsi | Wajib diisi |
---|---|---|
metadata | Mengikat metadata tertentu dalam bentuk pasangan kunci/nilai. Memetakan ke properti metadata di Dapr. | No |
data | Konten pesan. Memetakan ke properti data di Dapr. Ekspresi kebijakan diizinkan. | No |
Penggunaan
- Bagian kebijakan: masuk, keluar, saat terjadi kesalahan
- Cakupan kebijakan: global, produk, API, operasi
- Gateway: dihost sendiri
Catatan penggunaan
Dukungan Dapr harus diaktifkan di gateway yang dihost sendiri.
Contoh
Contoh berikut menunjukkan pemicu pengikatan keluar bernama "external-systems" dengan operasi bernama "create", metadata yang terdiri dari dua item kunci/nilai bernama "source" dan "client-ip", dan isi yang berasal dari permintaan asli. Respons yang diterima dari runtime Dapr ditangkap dalam entri "bind-response" dari koleksi Variabel dalam objek konteks.
Jika runtime Dapr gagal karena beberapa alasan dan merespons dengan kesalahan, bagian "on-error" dipicu dan respons yang diterima dari runtime Dapr dikembalikan ke verbatim pemanggil. Jika tidak, respons 200 OK
default dikembalikan.
Bagian "backend" kosong dan permintaan tidak diteruskan ke backend.
<policies>
<inbound>
<base />
<invoke-dapr-binding
name="external-system"
operation="create"
response-variable-name="bind-response">
<metadata>
<item key="source">api-management</item>
<item key="client-ip">@(context.Request.IpAddress )</item>
</metadata>
<data>
@(context.Request.Body.As<string>() )
</data>
</invoke-dapr-binding>
</inbound>
<backend>
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
<return-response response-variable-name="bind-response" />
</on-error>
</policies>
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