Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 |
vilopaus | 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
- Lagringsplats för principlekplats
- Principverktyg för Azure API Management
- Få Hjälp med Copilot för att skapa, förklara och felsöka principer