Een Service Fabric-back-end instellen in API Management met behulp van de Azure Portal
In dit artikel wordt beschreven hoe u een Service Fabric-service configureert als een aangepaste API-back-end met behulp van de Azure Portal. Ter demonstratie laat het zien hoe u een eenvoudige staatloze ASP.NET Core Reliable Service instelt als de Service Fabric-back-end.
Zie Back-enden in API Management voor achtergrondinformatie.
Vereisten
Vereisten voor het configureren van een voorbeeldservice in een Service Fabric-cluster met Windows als aangepaste back-end:
Windows-ontwikkelomgeving : installeer Visual Studio 2019 en de azure-ontwikkel-, ASP.NET- en webontwikkelingsworkloads en platformoverschrijdende ontwikkelworkloads van .NET Core . Richt vervolgens een .NET-ontwikkelomgeving in.
Service Fabric-cluster : Zie Zelfstudie: Een Service Fabric-cluster met Windows implementeren in een virtueel Azure-netwerk. U kunt een cluster maken met een bestaand X.509-certificaat of voor testdoeleinden een nieuw, zelfondertekend certificaat maken. Het cluster wordt gemaakt in een virtueel netwerk.
Voorbeeld van een Service Fabric-app: een web-API-app maken en implementeren in het Service Fabric-cluster, zoals beschreven in Integreren API Management met Service Fabric in Azure.
Met deze stappen maakt u een eenvoudige staatloze ASP.NET Core Reliable Service met behulp van de standaard web-API-projectsjabloon. Later maakt u het HTTP-eindpunt voor deze service beschikbaar via Azure API Management.
Noteer de naam van de toepassing, bijvoorbeeld
fabric:/myApplication/myService
.API Management-exemplaar: een bestaand of nieuw API Management exemplaar in de Premium- of Developer-laag en in dezelfde regio als het Service Fabric-cluster. Als u er een nodig hebt, maakt u een API Management-exemplaar.
Virtueel netwerk: voeg uw API Management-exemplaar toe aan het virtuele netwerk dat u hebt gemaakt voor uw Service Fabric-cluster. API Management vereist een toegewezen subnet in het virtuele netwerk.
Zie Azure API Management gebruiken met virtuele netwerken voor stappen voor het inschakelen van virtuele netwerkconnectiviteit voor het API Management exemplaar.
Back-end maken - portal
Service Fabric-clustercertificaat toevoegen aan API Management
Het Service Fabric-clustercertificaat wordt opgeslagen en beheerd in een Azure-sleutelkluis die is gekoppeld aan het cluster. Voeg dit certificaat als een clientcertificaat toe aan uw API Management-exemplaar.
Notitie
U wordt aangeraden het certificaat toe te voegen aan API Management door te verwijzen naar het sleutelkluiscertificaat.
Service Fabric-back-end toevoegen
- Blader in Azure Portal naar uw API Management-exemplaar.
- Selecteer onder API'sde optie Back-enden>en toevoegen.
- Voer een back-endnaam en een optionele beschrijving in
- Selecteer service fabric bij Type.
- Voer in Runtime-URL de naam in van de Service Fabric-back-endservice waarnaar API Management aanvragen doorstuurt. Bijvoorbeeld:
fabric:/myApplication/myService
. - Voer bij Maximum aantal nieuwe pogingen voor partitieomzetting een getal in tussen 0 en 10.
- Voer het beheereindpunt van het Service Fabric-cluster in. Dit eindpunt is de URL van het cluster op poort
19080
,https://mysfcluster.eastus.cloudapp.azure.com:19080
bijvoorbeeld . - Selecteer in Clientcertificaat het Service Fabric-clustercertificaat dat u in de vorige sectie hebt toegevoegd aan uw API Management exemplaar.
- Voer in Autorisatiemethode voor beheereindpunt een vingerafdruk of X509-naam in van een certificaat dat wordt gebruikt door de Service Fabric-clusterbeheerservice voor TLS-communicatie.
- Schakel de instellingen Certificaatketen valideren en Certificaatnaam valideren in.
- Geef in Autorisatiereferenties, indien nodig, referenties op om de geconfigureerde back-endservice in Service Fabric te bereiken. Voor de voorbeeld-app die in dit scenario wordt gebruikt, zijn geen autorisatiereferenties nodig.
- Selecteer Maken.
De back-end gebruiken
Als u een aangepaste back-end wilt gebruiken, verwijst u ernaar met behulp van het set-backend-service
beleid. Met dit beleid wordt de standaardbasis-URL voor 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 Handmatig een API toevoegen om een lege API te maken.
Laat in de API-instellingen de URL van de webservice leeg.
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 het voorbeeld 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 Waarde Weergavenaam Back-end testen URL GET URL /api/values
Beleid configureren set-backend-service
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
beleidsverklaring toe.Vervang in
backend-id
de naam van uw Service Fabric-back-end.De
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. Bijvoorbeeld:<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, ontvangt 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
- Selecteer op het tabblad Testen de BEWERKING GET die u in een vorige sectie hebt gemaakt.
- Selecteer Verzenden.
Wanneer de configuratie juist is uitgevoerd, toont het HTTP-antwoord een HTTP-succescode en wordt de JSON weergegeven die is geretourneerd door de Service Fabric-service van de back-end.
Volgende stappen
- Meer informatie over het configureren van beleidsregels voor het doorsturen van aanvragen naar een back-end
- Back-ends kunnen ook worden geconfigureerd met behulp van de API Management REST API, Azure PowerShell of Azure Resource Manager-sjablonen