Skicka meddelande till pub/underavsnitt

GÄLLER FÖR: Utvecklare | Premium

Principen publish-to-dapr instruerar API Management-gatewayen att skicka ett meddelande till ett Dapr Publish/Subscribe-ämne. Principen åstadkommer detta genom att göra en HTTP POST-begäran till http://localhost:3500/v1.0/publish/{{pubsub-name}}/{{topic}}, ersätta mallparametrar och lägga till innehåll som anges i principbeskrivningen.

Principen förutsätter att Dapr-körningen körs i en sidovagnscontainer i samma podd som gatewayen. Dapr runtime implementerar pub-/undersemantiken. Läs mer om Dapr-integrering med API Management.

Kommentar

Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.

Principuttryck

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

Attribut

Attribut beskrivning Obligatoriskt Standardvärde
pubsub-name Namnet på pubsub-målkomponenten. Kartor till parametern pubsubname i Dapr. Om det topic inte finns måste attributvärdet vara i form av pubsub-name/topic-name. Principuttryck tillåts. Nej Ingen
Avsnitt Namnet på ämnet. Kartor till ämnesparametern i Dapr. Principuttryck tillåts. Ja Ej tillämpligt
ignore-error Om värdet är trueinställt på instruerar du principen att inte utlösa avsnittet "on-error" när du får ett fel från Dapr-körningen. Principuttryck tillåts inte. Nej false
response-variable-name Namnet på den variabelsamlingspost som ska användas för att lagra svar från Dapr-körning. Principuttryck tillåts inte. Nej Ingen
timeout Tid (i sekunder) att vänta tills Dapr-körningen svarar. Kan variera från 1 till 240 sekunder. Principuttryck tillåts. Nej 5
mall Mallmotor som ska användas för att transformera meddelandeinnehållet. "Liquid" är det enda värde som stöds. Nej Ingen
innehållstyp Typ av meddelandeinnehåll. "application/json" är det enda värde som stöds. Nej Ingen

Användning

Användningsanteckningar

Dapr-stöd måste vara aktiverat i den lokalt installerade gatewayen.

Exempel

I följande exempel visas hur du skickar brödtexten för den aktuella begäran till det "nya" ämnet för pub-/underkomponenten "orders". Svaret som tas emot från Dapr-körningen lagras i posten "dapr-response" i samlingen Variabler i kontextobjektet .

Om Dapr-körningen till exempel inte kan hitta målavsnittet och svarar med ett fel utlöses avsnittet "on-error". Svaret som tas emot från Dapr-körningen returneras till anroparen ordagrant. Annars returneras standardsvaret 200 OK .

Avsnittet "serverdel" är tomt och begäran vidarebefordras inte till serverdelen.

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

Mer information om hur du arbetar med principer finns i: