Skicka meddelande till pub/underavsnitt
GÄLLER FÖR: Utvecklare | Premie
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. Mappar 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. Mappar till ämnesparametern i Dapr. Principuttryck tillåts. | Ja | Ej tillämpligt |
ignore-error | Om värdet är true instä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 |
Förbrukning
- Principavsnitt: inkommande
- Principomfattningar: global, produkt, API, åtgärd
- Gatewayer: lokalt installerad
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>
Relaterade principer
Relaterat innehåll
Mer information om hur du arbetar med principer finns i:
- Självstudie: Transformera och skydda ditt API
- Principreferens för en fullständig lista över principinstruktioner och deras inställningar
- Principuttryck
- Ange eller redigera principer
- Återanvända principkonfigurationer
- Lagringsplats för principfragment
- Skapa principer med Microsoft Copilot i Azure