Aanvraag verzenden naar een service

Het set-backend-service beleid stelt de doel-URL voor de huidige aanvraag in op http://localhost:3500/v1.0/invoke/{app-id}[.{ns-name}]/method/{method-name}, waarbij sjabloonparameters worden vervangen door waarden die zijn opgegeven in de beleidsinstructie.

In het beleid wordt ervan uitgegaan dat Dapr wordt uitgevoerd in een sidecar-container in dezelfde pod als de gateway. Na ontvangst van de aanvraag voert De Dapr-runtime servicedetectie en werkelijke aanroep uit, inclusief mogelijke protocolomzetting tussen HTTP en gRPC, nieuwe pogingen, gedistribueerde tracering en foutafhandeling. Meer informatie over Dapr-integratie met API Management.

Notitie

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

Beleidsverklaring

<set-backend-service backend-id="dapr" dapr-app-id="app-id" dapr-method="method-name" dapr-namespace="ns-name" />

Kenmerken

Kenmerk Beschrijving Vereist Standaard
back-end-id Moet worden ingesteld op 'dapr'. Ja N.v.t.
dapr-app-id Naam van de doelmicroservice. Wordt gebruikt om de parameter appId in Dapr te vormen. Ja N.v.t.
dapr-methode Naam van de methode of een URL die moet worden aangeroepen op de doelmicroservice. Wordt toegewezen aan de parameter method-name in Dapr. Ja N.v.t.
dapr-naamruimte De naam van de naamruimte waarin de doelmicroservice zich bevindt. Wordt gebruikt om de parameter appId in Dapr te vormen. Nee N.v.t.

Gebruik

Gebruiksopmerkingen

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

Voorbeeld

In het volgende voorbeeld ziet u het aanroepen van de methode met de naam 'back' op de microservice met de naam 'echo'. Met set-backend-service het beleid wordt de doel-URL ingesteld op http://localhost:3500/v1.0/invoke/echo.echo-app/method/back. Het forward-request beleid verzendt de aanvraag naar de Dapr-runtime, die deze aan de microservice levert.

Het forward-request beleid wordt hier voor de duidelijkheid weergegeven. Het beleid wordt doorgaans 'overgenomen' van het globale bereik via het base trefwoord.

<policies>
    <inbound>
        <base />
        <set-backend-service backend-id="dapr" dapr-app-id="echo" dapr-method="back" dapr-namespace="echo-app" />
    </inbound>
    <backend>
        <forward-request />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>

Volgende stappen

Zie voor meer informatie over het werken met beleid: