Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK: Pengembang | Dasar | Standar | Premi
Kebijakan mengirimkan send-service-bus-message pesan ke antrean atau topik Azure Service Bus. Permintaan API dapat diteruskan secara opsional ke layanan backend.
Nota
- Kebijakan ini saat ini dalam pratinjau.
- Untuk latar belakang dan prasyarat untuk mengirim pesan ke Azure Service Bus, lihat Cara mengirim pesan ke Azure Service Bus dari Azure API Management.
Nota
Tetapkan elemen kebijakan dan elemen turunan dalam urutan yang ditentukan dalam pernyataan kebijakan. Pelajari lebih lanjut cara mengatur atau mengedit kebijakan API Management.
Pernyataan kebijakan
<send-service-bus-message queue-name="service bus queue" topic-name="service bus topic"
namespace="FQDN of service bus namespace" client-id="ID of user-assigned managed identity">
<message-properties>
<message-property name="property-name">property-value</message-property>
<!-- if there are multiple properties, then add additional message-property elements -->
</message-properties>
<payload>"message content"</payload>
</send-service-bus-message>
Attributes
| Attribute | Description | Diperlukan | Bawaan |
|---|---|---|---|
queue-name |
Menentukan nama antrean bus layanan untuk mengirim pesan. Ekspresi kebijakan dan nilai bernama diizinkan. Salah satu queue-name atau topic-name harus ditentukan. |
Tidak. | N/A |
topic-name |
Menentukan nama topik bus layanan untuk mengirim pesan. Ekspresi kebijakan dan nilai bernama diizinkan. Salah satu queue-name atau topic-name harus ditentukan. |
Tidak. | N/A |
namespace |
Menentukan nama domain namespace bus layanan yang sepenuhnya memenuhi syarat. Ekspresi kebijakan dan nilai bernama diizinkan. | Tidak. | N/A |
client-id |
Menentukan ID klien identitas terkelola yang ditetapkan pengguna untuk diautentikasi dengan bus layanan. Identitas harus diberi peran Pengirim Data Azure Service Bus. Ekspresi kebijakan dan nilai bernama diizinkan. Jika tidak ditentukan, identitas yang ditetapkan sistem akan digunakan. | Tidak. | N/A |
Elements
| Elemen | Description | Diperlukan |
|---|---|---|
payload |
Menentukan payload pesan untuk dikirim ke bus layanan. Ekspresi kebijakan dan nilai bernama diizinkan. | Yes |
message-properties |
Kumpulan message-property sublemen yang menentukan metadata untuk diteruskan dengan payload pesan. Masing-masing message-property terdiri dari pasangan nama-nilai. Ekspresi kebijakan dan nilai bernama diizinkan. |
Tidak. |
Usage
- Bagian kebijakan: masuk, keluar, saat terjadi kesalahan
- Cakupan kebijakan: global, produk, API, operasi
- Gateway: klasik
Catatan penggunaan
- Anda harus membuat antrean atau topik Azure Service Bus sebelumnya yang menerima pesan.
- Kebijakan ini dapat digunakan beberapa kali per definisi kebijakan.
Examples
Mengirim pesan ke antrean bus layanan
Dalam contoh ini, pesan yang terdiri dari isi permintaan dikirim ke antrean bus layanan. Instans API Management menggunakan identitas yang ditetapkan pengguna untuk akses. Permintaan kemudian diteruskan ke layanan backend.
<policies>
<inbound>
<send-service-bus-message queue-name="orders" client-id="00001111-aaaa-2222-bbbb-3333cccc4444" namespace="my-service-bus.servicebus.windows.net">
<payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
</send-service-bus-message>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
</policies>
Mengirim pesan ke topik bus layanan
Dalam contoh ini, pesan yang terdiri dari isi permintaan dikirim ke topik bus layanan. Instans API Management menggunakan identitas yang ditetapkan sistem untuk akses. Permintaan kemudian diteruskan ke layanan backend.
<policies>
<inbound>
<send-service-bus-message topic-name="orders" namespace="my-service-bus.servicebus.windows.net">
<payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
</send-service-bus-message>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
</policies>
Mengirim pesan dan metadata
Dalam contoh ini, pesan yang terdiri dari isi permintaan dikirim ke topik bus layanan dan properti pesan diatur untuk mengirim metadata dengan payload. Instans API Management menggunakan identitas yang ditetapkan sistem untuk akses. Permintaan kemudian diteruskan ke layanan backend.
<policies>
<inbound>
<send-service-bus-message topic-name="orders" namespace="my-service-bus.servicebus.windows.net">
<message-properties>
<message-property name="Customer">Contoso</message-property>
</message-properties>
<payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
</send-service-bus-message>
</inbound>
<backend>
<forward-request timeout="60"/>
</backend>
</policies>
Kirim pesan dan segera kembali
Dalam contoh ini, pesan yang terdiri dari isi permintaan dikirim ke topik bus layanan. Instans API Management menggunakan identitas yang ditetapkan sistem untuk akses.
201 Kode status respons kemudian dikembalikan segera ke pemanggil.
<policies>
<inbound>
<send-service-bus-message topic-name="orders" namespace="my-service-bus.servicebus.windows.net">
<payload>@(context.Request.Body.As<string>(preserveContent: true))</payload>
</send-service-bus-message>
<return-response>
<set-status code="201" reason="Created!" />
</return-response>
</inbound>
</policies>
Kebijakan terkait
Konten terkait
Untuk informasi selengkapnya tentang mengelola kebijakan, lihat:
- Tutorial: Mengubah dan melindungi API Anda
- Referensi Kebijakan untuk daftar lengkap pernyataan kebijakan dan pengaturannya
- Pernyataan kebijakan
- Mengatur atau mengedit kebijakan
- Gunakan ulang konfigurasi kebijakan
- Repositori cuplikan kebijakan
- Repositori taman bermain kebijakan
- Toolkit kebijakan untuk Azure API Management
- Mendapatkan bantuan Copilot untuk membuat, menjelaskan, dan memecahkan masalah kebijakan