Uitvoerbinding activeren

Het invoke-dapr-binding beleid geeft API Management gateway de opdracht om een uitgaande Dapr-binding te activeren. Het beleid bereikt dit door een HTTP POST-aanvraag te maken om de sjabloonparameter te vervangen en inhoud toe te http://localhost:3500/v1.0/bindings/{{bind-name}}, voegen die is opgegeven in de beleidsverklaring.

In het beleid wordt ervan uitgegaan dat De Dapr-runtime wordt uitgevoerd in een sidecar-container in dezelfde pod als de gateway. Dapr-runtime is verantwoordelijk voor het aanroepen van de externe resource die wordt vertegenwoordigd door de binding. Meer informatie over Dapr-integratie met API Management.

Notitie

Stel de beleidselementen en onderliggende elementen in de volgorde in die in de beleidsinstructie is opgegeven. Meer informatie over het instellen of bewerken van API Management beleid.

Beleidsverklaring

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

Kenmerken

Kenmerk Beschrijving Vereist Standaard
naam Naam van doelbinding. Moet overeenkomen met de naam van de bindingen die zijn gedefinieerd in Dapr. Ja N.v.t.
bewerking Naam van doelbewerking (bindingsspecifiek). Wordt toegewezen aan de bewerkingseigenschap in Dapr. No Geen
ignore-error Als deze optie is ingesteld op true , geeft het beleid de instructie om de sectie 'on-error' niet te activeren bij het ontvangen van een fout van Dapr-runtime. No false
response-variable-name Naam van de vermelding van de verzameling Variabelen die moet worden gebruikt voor het opslaan van antwoorden van Dapr-runtime. No Geen
timeout Tijd (in seconden) om te wachten tot dapr-runtime reageert. Kan variƫren van 1 tot 240 seconden. No 5
sjabloon Sjabloonengine die moet worden gebruikt voor het transformeren van de berichtinhoud. 'Liquid' is de enige ondersteunde waarde. No Geen
inhoudstype Type van de berichtinhoud. 'application/json' is de enige ondersteunde waarde. No Geen

Gebruik

Gebruiksopmerkingen

Dapr-ondersteuning moet zijn ingeschakeld in de zelf-hostende gateway.

Voorbeeld

In het volgende voorbeeld ziet u het activeren van een uitgaande binding met de naam 'external-systems' met de bewerking 'create', metagegevens die bestaan uit twee sleutel-/waardeitems met de naam 'bron' en 'client-ip', en de hoofdtekst die afkomstig is van de oorspronkelijke aanvraag. Antwoord ontvangen van de Dapr-runtime wordt vastgelegd in de vermelding bind-response van de verzameling Variabelen in het contextobject .

Als de Dapr-runtime om een of andere reden mislukt en reageert met een fout, wordt de sectie 'on-error' geactiveerd en wordt het antwoord dat wordt ontvangen van de Dapr-runtime geretourneerd naar de exacte bewoordingen van de aanroeper. Anders wordt het standaardantwoord 200 OK geretourneerd.

De sectie 'back-end' is leeg en de aanvraag wordt niet doorgestuurd naar de back-end.

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

Volgende stappen

Zie voor meer informatie over het werken met beleid: