Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u een Service Fabric-service configureert als een aangepaste API-back-end met behulp van Azure Portal. Voor demonstratiedoeleinden ziet u hoe u een eenvoudige staatloze ASP.NET Core Reliable Service instelt als de Service Fabric-back-end.
Zie Back-ends in API Management voor achtergrondinformatie.
Vereisten
Vereisten voor het configureren van een voorbeeldservice in een Service Fabric-cluster met Windows als een aangepaste back-end:
Windows-ontwikkelomgeving : Installeer Visual Studio 2019 en de Azure-ontwikkeling, ASP.NET en webontwikkeling en .NET Core platformoverschrijdende ontwikkelworkloads . 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-Service Fabric-app : een web-API-app maken en implementeren in het Service Fabric-cluster, zoals beschreven in API Management integreren met Service Fabric in Azure.
Met deze stappen maakt u een eenvoudige staatloze ASP.NET Core Reliable Service met behulp van de standaardsjabloon voor web-API-projecten. Later maakt u het HTTP-eindpunt voor deze service beschikbaar via Azure API Management.
Noteer bijvoorbeeld
fabric:/myApplication/myService
de naam van de toepassing.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 clientcertificaat toe aan uw API Management-exemplaar.
Zie Back-endservices beveiligen met behulp van clientcertificaatverificatie in Azure API Management voor stappen voor het toevoegen van een certificaat 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's back-ends>+ Toevoegen.
Voer een back-endnaam en een optionele beschrijving in
Selecteer Service Fabric in Type.
Voer in runtime-URL de naam in van de Service Fabric-back-endservice waarnaar API Management aanvragen doorstuurt. Voorbeeld:
fabric:/myApplication/myService
.Voer in het maximum aantal nieuwe pogingen voor partitieomzetting een getal tussen 0 en 10 in.
Voer het beheereindpunt van het Service Fabric-cluster in. Dit eindpunt is bijvoorbeeld de URL van het cluster op poort
19080
https://mysfcluster.eastus.cloudapp.azure.com:19080
.Selecteer in het clientcertificaat het Service Fabric-clustercertificaat dat u in de vorige sectie hebt toegevoegd aan uw API Management-exemplaar.
Voer in de autorisatiemethode voor beheereindpunt een vingerafdruk of server X509-naam in van een certificaat dat wordt gebruikt door de Service Fabric-clusterbeheerservice voor TLS-communicatie.
Schakel de instellingen voor certificaatketen valideren en certificaatnaam valideren in.
Geef in autorisatiereferenties zo nodig referenties op om de geconfigureerde back-endservice in Service Fabric te bereiken. Voor de voorbeeld-app die in dit scenario wordt gebruikt, zijn autorisatiereferenties niet nodig.
Selecteer Maken.
De back-end gebruiken
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
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
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
Selecteer op het tabblad Testen de GET-bewerking die u in een vorige sectie hebt gemaakt.
Selecteer Verzenden.
Wanneer het HTTP-antwoord correct is geconfigureerd, wordt een HTTP-geslaagde code weergegeven en wordt de JSON weergegeven die is geretourneerd door de Service Fabric-service voor de back-end.