Aracılığıyla paylaş


Service Bus iletisi gönderme

ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Temel | Standart | Premium

İlke send-service-bus-message bir Azure Service Bus kuyruğuna veya konusuna bir ileti gönderir. API isteği isteğe bağlı olarak arka uç servisine iletilebilir.

Uyarı

Uyarı

İlkenin öğelerini ve alt öğelerini ilke bildiriminde belirtilen sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.

İlke bildirimi

<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

Özellik Description Gerekli Varsayılan
queue-name İletinin gönderlmek üzere service bus kuyruğunun adını belirtir. İlke ifadelerine ve adlandırılmış değerlere izin verilir. Veya queue-nametopic-name belirtilmelidir. Hayı Mevcut Değil
topic-name İletinin gönderlmek üzere service bus konusunun adını belirtir. İlke ifadelerine ve adlandırılmış değerlere izin verilir. Veya queue-nametopic-name belirtilmelidir. Hayı Mevcut Değil
namespace Service Bus ad alanının tam etki alanı adını belirtir. İlke ifadelerine ve adlandırılmış değerlere izin verilir. Hayı Mevcut Değil
client-id Service Bus ile kimlik doğrulaması için kullanıcı tarafından atanan yönetilen kimliğin istemci kimliğini belirtir. Kimliğe Azure Service Bus Veri Gönderen rolü atanmalıdır. İlke ifadelerine ve adlandırılmış değerlere izin verilir. Belirtilmezse, sistem tarafından atanan kimlik kullanılır. Hayı Mevcut Değil

Elements

Öğe Description Gerekli
payload Service Bus'a gönderilecek ileti yükünü belirtir. İlke ifadelerine ve adlandırılmış değerlere izin verilir. Yes
message-properties İleti yüküyle geçirilmesi gereken meta verileri belirten alt öğe koleksiyonu message-property . Her message-property biri bir ad-değer çifti oluşur. İlke ifadelerine ve adlandırılmış değerlere izin verilir. Hayı

Usage

Kullanım notları

  • İleti alan Azure Service Bus kuyruğu veya konusunu önceden oluşturmanız gerekir.
  • Bu ilke, ilke tanımı başına birden çok kez kullanılabilir.

Örnekler

Service Bus kuyruğuna ileti gönderme

Bu örnekte, istek gövdesinden oluşan bir ileti bir service bus kuyruğuna gönderilir. API Management örneği, erişim için kullanıcı tarafından atanan bir kimlik kullanır. İstek daha sonra arka uç hizmetine iletilir.

<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>

Service Bus konusuna ileti gönderme

Bu örnekte, istek gövdesinden oluşan bir ileti bir service bus konusuna gönderilir. API Management örneği, erişim için sistem tarafından atanan bir kimlik kullanır. İstek daha sonra arka uç hizmetine iletilir.

<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>

İleti ve meta veri gönderme

Bu örnekte, istek gövdesinden oluşan bir ileti bir service bus konusuna gönderilir ve ileti özelliği yükle meta verileri gönderecek şekilde ayarlanır. API Management örneği, erişim için sistem tarafından atanan bir kimlik kullanır. İstek daha sonra arka uç hizmetine iletilir.

<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>

İleti gönder ve hemen geri dön

Bu örnekte, istek gövdesinden oluşan bir ileti bir service bus konusuna gönderilir. API Management örneği, erişim için sistem tarafından atanan bir kimlik kullanır. 201 Daha sonra hemen çağırana bir yanıt durum kodu döndürülür.

<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>

İlkelerle çalışma hakkında daha fazla bilgi için bkz: