Als u een aangepaste back-end wilt gebruiken, raadpleegt u deze met behulp van het set-backend-service
beleid. Met dit beleid wordt de standaardbasis-URL van de back-endservice van een binnenkomende API-aanvraag getransformeerd naar een opgegeven back-end, in dit geval de Service Fabric-back-end.
Het set-backend-service
beleid kan handig zijn met een bestaande API om een binnenkomende aanvraag te transformeren naar een andere back-end dan de aanvraag die is opgegeven in de API-instellingen. Voor demonstratiedoeleinden in dit artikel maakt u een test-API en stelt u het beleid in om API-aanvragen naar de Service Fabric-back-end te sturen.
API maken
Volg de stappen in Een API handmatig toevoegen om een lege API te maken.
Laat de URL van de webservice leeg in de API-instellingen.
Voeg een API-URL-achtervoegsel toe, zoals fabric.
GET-bewerking toevoegen aan de API
Zoals wordt weergegeven in Een Service Fabric-back-endservice implementeren, ondersteunt de voorbeeldservice ASP.NET Core-service die is geïmplementeerd op het Service Fabric-cluster één HTTP GET-bewerking op het URL-pad /api/values
.
Het standaardantwoord op dat pad is een JSON-matrix van twee tekenreeksen:
["value1", "value2"]
Als u de integratie van API Management met het cluster wilt testen, voegt u de bijbehorende GET-bewerking toe aan de API op het pad /api/values
:
Selecteer de API die u in de vorige stap hebt gemaakt.
Klik op + Bewerking toevoegen.
Voer in het venster Front-end de volgende waarden in en selecteer Opslaan.
Instelling |
Weergegeven als |
Weergavenaam |
Back-end testen |
URL |
GET |
URL |
/api/values |
Voeg het set-backend-service
beleid toe aan de test-API.
Selecteer op het tabblad Ontwerpen in de sectie Binnenkomende verwerking het pictogram van de code-editor (</>).
Plaats de cursor in het <binnenkomende> element
Voeg de set-service-backend
beleidsinstructie toe.
Vervang backend-id
in , vervang de naam van uw Service Fabric-back-end.
Dit sf-resolve-condition
is een voorwaarde voor het opnieuw omzetten van een servicelocatie en het opnieuw verzenden van een aanvraag. Het aantal nieuwe pogingen is ingesteld bij het configureren van de back-end. Voorbeeld:
<set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
Selecteer Opslaan.
Notitie
Als een of meer knooppunten in het Service Fabric-cluster uitvalt of worden verwijderd, krijgt API Management geen automatische melding en blijft verkeer naar deze knooppunten verzenden. Als u deze gevallen wilt afhandelen, configureert u een oplossingsvoorwaarde die vergelijkbaar is met: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"
Back-end-API testen