Utdatabindning för utlösare
GÄLLER FÖR: Utvecklare | Premie
Principen invoke-dapr-binding
instruerar API Management-gatewayen att utlösa en utgående Dapr-bindning. Principen åstadkommer detta genom att göra en HTTP POST-begäran om att http://localhost:3500/v1.0/bindings/{{bind-name}},
ersätta mallparametern 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-körningen ansvarar för att anropa den externa resursen som representeras av bindningen. 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
<invoke-dapr-binding name="bind-name" operation="op-name" ignore-error="false | true" response-variable-name="resp-var-name" timeout="in seconds" template="Liquid" content-type="application/json">
<metadata>
<item key="item-name"><!-- item-value --></item>
</metadata>
<data>
<!-- message content -->
</data>
</invoke-dapr-binding>
Attribut
Attribut | beskrivning | Obligatoriskt | Standardvärde |
---|---|---|---|
name | Målbindningsnamn. Måste matcha namnet på bindningarna som definierats i Dapr. Principuttryck tillåts. | Ja | Ej tillämpligt |
operation | Målåtgärdsnamn (bindningsspecifikt). Mappar till åtgärdsegenskapen i Dapr. Principuttryck tillåts inte. | Nej | Ingen |
ignore-error | Om inställningen är inställd true på instrueras 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 |
Element
Förbrukning
- Principavsnitt: inkommande, utgående, vid fel
- 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 utlösande av utgående bindning med namnet "external-systems" med åtgärden "create", metadata som består av två nyckel-/värdeobjekt med namnet "source" och "client-ip" och brödtexten som kommer från den ursprungliga begäran. Svaret som tas emot från Dapr-körningen samlas in i posten "bind-response" i samlingen Variabler i kontextobjektet .
Om Dapr-körningen misslyckas av någon anledning och svarar med ett fel utlöses avsnittet "on-error" och 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 />
<invoke-dapr-binding
name="external-system"
operation="create"
response-variable-name="bind-response">
<metadata>
<item key="source">api-management</item>
<item key="client-ip">@(context.Request.IpAddress )</item>
</metadata>
<data>
@(context.Request.Body.As<string>() )
</data>
</invoke-dapr-binding>
</inbound>
<backend>
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
<return-response response-variable-name="bind-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
- Principverktyg för Azure API Management
- Skapa principer med Microsoft Copilot i Azure