Pub/Sub konusuna ileti gönderme

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

İlke, publish-to-dapr API Management ağ geçidine Bir Dapr Yayımlama/Abone Olma konusuna ileti göndermesini sağlar. İlke, şablonun parametrelerini değiştirerek http://localhost:3500/v1.0/publish/{{pubsub-name}}/{{topic}}ve ilke deyiminde belirtilen içeriği ekleyerek bunu gerçekleştirir.

İlke, Dapr çalışma zamanının ağ geçidiyle aynı pod içindeki bir sepet kapsayıcısında çalıştığını varsayar. Dapr çalışma zamanı Pub/Sub semantiğini uygular. API Management ile Dapr tümleştirmesi hakkında daha fazla bilgi edinin.

Not

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

İlke bildirimi

<publish-to-dapr pubsub-name="pubsub-name" topic="topic-name" ignore-error="false|true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
    <!-- message content -->
</publish-to-dapr>

Özellikler

Öznitelik Açıklama Zorunlu Varsayılan
pubsub-name Hedef PubSub bileşeninin adı. Dapr içindeki pubsubname parametresine Haritalar. Yoksa, topic öznitelik değeri biçiminde pubsub-name/topic-nameolmalıdır. İlke ifadelerine izin verilir. Hayır None
topic Konunun adı. Dapr içindeki konu parametresine Haritalar. İlke ifadelerine izin verilir. Yes Yok
ignore-error olarak ayarlanırsatrue, ilkeye Dapr çalışma zamanından hata aldıktan sonra "hatada" bölümünü tetiklememesi talimatını gönderir. İlke ifadelerine izin verilmez. Hayır false
response-variable-name Dapr çalışma zamanından gelen yanıtı depolamak için kullanılacak Değişkenler koleksiyonu girişinin adı. İlke ifadelerine izin verilmez. Hayır None
timeout Dapr çalışma zamanının yanıt vermesini bekleme süresi (saniye cinsinden). 1 ile 240 saniye arasında değişebilir. İlke ifadelerine izin verilir. Hayır 5
şablonu İleti içeriğini dönüştürmek için kullanılacak şablon oluşturma altyapısı. Desteklenen tek değer "Liquid"dir. Hayır None
içerik türü İleti içeriğinin türü. "application/json" desteklenen tek değerdir. Hayır None

Kullanım

Kullanım notları

Şirket içinde barındırılan ağ geçidinde Dapr desteği etkinleştirilmelidir.

Örnek

Aşağıdaki örnek, geçerli isteğin gövdesini "orders" Pub/Sub bileşeninin "yeni" konusuna göndermeyi gösterir. Dapr çalışma zamanından alınan yanıt, bağlam nesnesindeki Variables koleksiyonunun "dapr-response" girişinde depolanır.

Örneğin Dapr çalışma zamanı hedef konuyu bulamıyorsa ve bir hatayla yanıt veriyorsa, "hatada" bölümü tetikleniyor demektir. Dapr çalışma zamanından alınan yanıt, arayana verbatim olarak döndürülür. Aksi takdirde, varsayılan 200 OK yanıt döndürülür.

"Arka uç" bölümü boş ve istek arka uça iletilmiyor.

<policies>
     <inbound>
        <base />
        <publish-to-dapr
           pubsub-name="orders"
               topic="new"
               response-variable-name="dapr-response">
            @(context.Request.Body.As<string>())
        </publish-to-dapr>
    </inbound>
    <backend>
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
        <return-response response-variable-name="pubsub-response" />
    </on-error>
</policies>

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