Bagikan melalui


Cara mengirim pesan ke Azure Service Bus dari Azure API Management

BERLAKU UNTUK: Pengembang | Dasar | Standar | Premi

Artikel ini menjelaskan cara mengirim pesan dari API Management ke Azure Service Bus dengan menggunakan integrasi berbasis kebijakan. Gunakan API Management untuk menyediakan cara yang aman dan dapat diskalakan untuk mengirim pesan ke Azure Service Bus.

Diagram integrasi API Management dengan Service Bus untuk olahpesan.

Azure Service Bus adalah layanan olahpesan perusahaan yang dikelola sepenuhnya yang dirancang untuk memisahkan aplikasi dan layanan, memungkinkan olahpesan cloud yang andal antara sistem terdistribusi. Ini mendukung AMQP (Advanced Message Queuing Protocol) bagi sistem untuk mengirim pesan ke antrean pesan untuk komunikasi dan topik satu-ke-satu untuk pola publikasi/berlangganan. Service Bus sangat ideal untuk skenario yang memerlukan operasi asinkron, tingkatan beban, atau integrasi di seluruh lingkungan cloud hibrid. Untuk informasi selengkapnya, lihat dokumentasi Azure Service Bus.

Dengan integrasi berbasis kebijakan, API Management menyediakan:

  • Olahpesan berbasis REST yang aman untuk klien eksternal - Sistem eksternal dan aplikasi seluler yang tidak memiliki dukungan AMQP asli dapat mengirim pesan ke Service Bus dengan menggunakan API HTTP/REST standar melalui API Management. Pendekatan ini menyederhanakan integrasi dan meningkatkan keamanan dengan menghilangkan kebutuhan akan perantara kustom.
  • Integrasi pihak ketiga yang diatur - Perusahaan dapat mengekspos titik akhir Bus Layanan melalui API Management dengan autentikasi identitas terkelola bawaan, memungkinkan pola olahpesan yang aman dan dapat diamati untuk mitra dan aplikasi pihak ketiga.
  • Model 'fire and forget' - Tidak ada layanan backend lain yang diperlukan untuk mengirim pesan ke Service Bus, yang memungkinkan arsitektur lebih sederhana dan mengurangi beban operasional.

Nota

  • Integrasi API Management dengan Service Bus saat ini dalam tahap pratinjau.
  • Hanya mengirim pesan ke Service Bus yang didukung.

Nota

Saat ini, fitur ini tidak tersedia di ruang kerja.

Prasyarat

  • Instans layanan API Management. Jika Anda tidak memilikinya, lihat Membuat instans layanan API Management.

  • API Management API yang digunakan untuk mengirim pesan ke Service Bus.

  • Antrean atau topik di namespace Azure Service Bus untuk menerima pesan. Untuk langkah-langkah mendetail, lihat salah satu hal berikut ini:

    Nota

    • Jika Anda ingin menggunakan topik dan langganan, pilih tingkat Standard atau Premium dari Service Bus.
    • Sumber daya Bus Layanan dapat berada dalam langganan yang berbeda atau bahkan pelanggan yang berbeda dari sumber daya API Management.
  • Izin untuk menetapkan peran pada identitas terkelola.

Mengonfigurasi akses ke bus layanan

Untuk mengirim pesan ke bus layanan, Anda perlu mengonfigurasi identitas terkelola untuk instans API Management Anda:

  1. Aktifkan identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna untuk API Management di instans API Management Anda.

    • Jika Anda mengaktifkan identitas terkelola yang ditetapkan pengguna, perhatikan ID Klien identitas.
  2. Tetapkan identitas peran Pengirim Data Azure Service Bus , yang dilingkup ke bus layanan. Untuk menetapkan peran, gunakan portal Microsoft Azure atau alat Azure lainnya.

Mengonfigurasi kebijakan kirim-layanan-bus-pesan

Konfigurasikan kebijakan send-service-bus-message untuk mengirim pesan ke antrian atau topik yang diinginkan.

Misalnya, gunakan send-service-bus-message kebijakan di bagian kebijakan masuk untuk mengirim isi permintaan permintaan API saat gateway menerimanya:

  1. Di portal Microsoft Azure, buka instans API Management Anda.

  2. Di menu sebelah kiri, pilih API, lalu pilih API tempat Anda ingin menambahkan kebijakan.

  3. Pilih Semua operasi.

  4. Di bagian atas layar, pilih tab Desain .

  5. Di jendela Pemrosesan masuk atau Pemrosesan keluar , pilih </> ikon (editor kode). Untuk informasi selengkapnya, lihat Cara mengatur atau mengedit kebijakan.

  6. Posisikan kursor Anda di bagian kebijakan inbound atau outbound.

  7. send-service-bus-message Tambahkan kebijakan ke konfigurasi kebijakan, lalu konfigurasikan atribut dan elemen sesuai kebutuhan.

    Misalnya, kirim isi permintaan sebagai pesan:

    <send-service-bus-message queue-name="my-queue">
        <payload>@(context.Request.Body.As<string>())</payload>
    </send-service-bus-message>
    

    Anda dapat menggunakan ekspresi apa pun yang mengembalikan string sebagai nilai untuk elemen .payload

  8. Pilih Simpan untuk menyimpan konfigurasi kebijakan yang diperbarui. Segera setelah Anda menyimpannya, kebijakan aktif dan pesan dikirim ke bus layanan yang ditunjuk.