Sdílet prostřednictvím


Odeslat zprávu pub/sub topic

PLATÍ PRO: Vývojář | Prémie

Tato publish-to-dapr zásada dává bráně služby API Management pokyn, aby odeslala zprávu do tématu o publikování nebo přihlášení k odběru dapr. Tato zásada toho dosahuje tak, že vytvoří požadavek HTTP POST na http://localhost:3500/v1.0/publish/{{pubsub-name}}/{{topic}}nahrazení parametrů šablony a přidání obsahu zadaného v prohlášení o zásadách.

Zásada předpokládá, že modul runtime Dapr běží v kontejneru sajdkáru ve stejném podu jako brána. Modul runtime Dapr implementuje sémantiku Pub/Sub. Přečtěte si další informace o integraci Dapr se službou API Management.

Poznámka:

Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.

Prohlášení o zásadách

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

Atributy

Atribut Popis Požaduje se Výchozí
pubsub-name Název cílové součásti PubSub. Mapuje se na parametr pubsubname v Dapr. Pokud není k dispozici, hodnota atributu topic musí být ve formě pubsub-name/topic-name. Výrazy zásad jsou povolené. No Nic
topic Název tématu. Mapuje se na parametr tématu v Dapr. Výrazy zásad jsou povolené. Yes
ignore-error Pokud je tato možnost nastavená, truedává zásadám pokyn, aby při přijetí chyby z modulu runtime Dapr neaktivovala část "při chybě" . Výrazy zásad nejsou povolené. No false
response-variable-name Název položky kolekce Variables, která se má použít k uložení odpovědi z modulu runtime Dapr. Výrazy zásad nejsou povolené. No Nic
timeout Doba (v sekundách) počkejte, než modul runtime Dapr odpoví. Může se pohybovat od 1 do 240 sekund. Výrazy zásad jsou povolené. No 5
šablona Modul šablon, který se má použít k transformaci obsahu zprávy. "Liquid" je jediná podporovaná hodnota. No Nic
content-type Typ obsahu zprávy "application/json" je jediná podporovaná hodnota. No Nic

Využití

Poznámky k využití

Podpora dapr musí být povolená v bráně v místním prostředí.

Příklad

Následující příklad ukazuje odeslání textu aktuálního požadavku do "nového" tématu komponenty "orders" Pub/Sub. Odpověď přijatá z modulu runtime Dapr je uložena v položce dapr-response kolekce Variables v kontextu objektu.

Pokud modul runtime Dapr nemůže najít cílové téma, například a odpoví chybou, aktivuje se část "při chybě". Odpověď přijatá z modulu runtime Dapr se vrátí doslovně volajícího. V opačném případě se vrátí výchozí 200 OK odpověď.

Oddíl "back-end" je prázdný a požadavek se nepřesměruje do back-endu.

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

Další informace o práci se zásadami najdete v tématech: