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. 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 waarop Windows wordt uitgevoerd 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 implementeren dat Windows uitvoert 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 Integreren API Management met Service Fabric in Azure.

    Met deze stappen maakt u een eenvoudige stateless 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/myServicede naam van de toepassing.

  • API Management exemplaar: een bestaand of nieuw API Management exemplaar in de Premium- of ontwikkelaarslaag 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 de API Management-instantie voor stappen voor het inschakelen van virtuele netwerken.

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 toe aan uw API Management-exemplaar als een clientcertificaat.

Zie Back-endservices beveiligen met 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

  1. Blader in Azure Portal naar uw API Management-exemplaar.
  2. Selecteer onder API'sback-ends>+ Toevoegen.
  3. Voer een back-endnaam en een optionele beschrijving in
  4. Selecteer Service Fabric in Type.
  5. Voer in runtime-URL de naam in van de Service Fabric back-endservice waarnaar API Management aanvragen doorstuurt. Bijvoorbeeld: fabric:/myApplication/myService.
  6. Voer bij het maximum aantal nieuwe pogingen voor partitieomzetting een getal in tussen 0 en 10.
  7. Voer het beheereindpunt van het Service Fabric-cluster in. Dit eindpunt is de URL van het cluster op poort 19080, bijvoorbeeld https://mysfcluster.eastus.cloudapp.azure.com:19080.
  8. Selecteer in Clientcertificaat het Service Fabric clustercertificaat dat u in de vorige sectie aan uw API Management-exemplaar hebt toegevoegd.
  9. Voer in de autorisatiemethode voor het beheereindpunt een vingerafdruk of server X509-naam in van een certificaat dat wordt gebruikt door de Service Fabric clusterbeheerservice voor TLS-communicatie.
  10. Schakel de instellingen voor certificaatketen valideren en Certificaatnaam valideren in.
  11. 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 autorisatiereferenties niet nodig.
  12. Selecteer Maken.

Create a service fabric backend

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 standaard-URL van de back-endservicebasis-URL van een binnenkomende API-aanvraag naar een opgegeven back-end getransformeerd, 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 het beleid dat 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 in de API-instellingen de URL van de webservice leeg.

  • Voeg een API-URL-achtervoegsel toe, zoals fabric.

    Create blank API

GET-bewerking toevoegen aan de API

Zoals wordt weergegeven in Een Service Fabric back-endservice implementeren, ondersteunt de voorbeeldservice ASP.NET Core 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:

  1. Selecteer de API die u in de vorige stap hebt gemaakt.

  2. Klik op + Bewerking toevoegen.

  3. Voer in het venster Front-end de volgende waarden in en selecteer Opslaan.

    Instelling Waarde
    Weergavenaam Back-end testen
    URL GET
    URL /api/values

    Add GET operation to API

Beleid configureren set-backend

Voeg het set-backend-service beleid toe aan de test-API.

  1. Selecteer op het tabblad Ontwerpen in de sectie Voor binnenkomende verwerking het pictogram van de code-editor (</>).

  2. Plaats de cursor in het <binnenkomende> element

  3. Voeg de set-service-backend beleidsinstructie toe.

    • Vervang backend-idin , 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. Bijvoorbeeld:

    <set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
    
  4. Selecteer Opslaan.

    Configure set-backend-service policy

Notitie

Als een of meer knooppunten in het Service Fabric-cluster uitvalt of wordt 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

  1. Selecteer op het tabblad Testen de GET-bewerking die u in een vorige sectie hebt gemaakt.
  2. Selecteer Verzenden.

Wanneer het HTTP-antwoord correct is geconfigureerd, wordt een HTTP-succescode weergegeven en wordt de JSON weergegeven die is geretourneerd vanuit de back-end Service Fabric-service.

Test Service Fabric backend

Volgende stappen