Bagikan melalui


Mengirim pesan bus layanan

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

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

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>

Untuk informasi selengkapnya tentang mengelola kebijakan, lihat: