Oefening: een nieuwe API in API Management maken op basis van een functie-app
Als u Azure Functions wilt presenteren aan gebruikers als onderdelen van één API, kunt u ze toevoegen aan Azure API Management.
In uw online winkelbedrijf hebben uw ontwikkelaars meerdere Azure Functions als microservices gemaakt. Met elke functie wordt een deel van de functionaliteit van de winkel geïmplementeerd. U wilt deze functies samenvoegen in één API.
In deze oefening maakt u een nieuw API Management-exemplaar en voegt u er vervolgens een functie Productdetails aan toe.
Functies maken
In de volgende stappen voegt u een Azure Function-app toe aan Azure API Management. Later voegt u een tweede functie-app toe aan hetzelfde API Management-exemplaar om één serverloze API te maken van meerdere functies. Eerst gebruiken we een script om de functies te maken:
Als u het functions-project wilt klonen, voert u de volgende opdracht uit in Azure Cloud Shell aan de rechterkant.
git clone https://github.com/MicrosoftDocs/mslearn-apim-and-functions.git ~/OnlineStoreFuncs
Voer de volgende opdrachten uit in Cloud Shell om de benodigde Azure-resources voor deze oefening in te stellen.
cd ~/OnlineStoreFuncs bash setup.sh
Met
setup.sh
het script worden de twee functie-apps gemaakt in de sandbox-resourcegroep die voor deze module zijn geactiveerd. Zoals u ziet in de volgende afbeelding, fungeert elke app als host voor één functie:OrderDetails
enProductDetails
. Met het script wordt ook een opslagaccount voor de functies ingesteld. De URL's van de functies maken beide deel uit van het domein azurewebsites.net. De functienamen bevatten willekeurige getallen om ervoor te zorgen dat elke naam uniek is. Het uitvoeren van het script duurt enkele minuten.
De functie ProductDetails testen
Nu gaan we de functie ProductDetails testen om te zien hoe deze zich gedraagt voordat we deze toevoegen aan API Management.
Meld u aan bij Azure Portal met het account waarmee u de sandbox hebt geactiveerd.
Selecteer in het menu van Azure Portal of op de startpagina de optie Alle resources. Het deelvenster Alle resources wordt weergegeven.
Selecteer de functie-app waarvan de naam begint met ProductFunction. Het deelvenster Functie-app wordt weergegeven met het tabblad Overzicht geselecteerd.
Selecteer ProductDetails in de lijst met functies voor uw functie-app. Het deelvenster ProductDetails , functie wordt weergegeven.
Selecteer Code + Test in het menu Productdetails onder Ontwikkelaars. Het deelvenster Code + Test voor de functie ProductDetails wordt weergegeven met de inhoud van het
function.json
bestand.Selecteer Testen/uitvoeren op de opdrachtbalk. Het deelvenster Invoer/uitvoer wordt weergegeven voor het testen van uw HTTP-aanvraag.
Selecteer GET op het tabblad Invoer in de vervolgkeuzelijst voor het veld HTTP-methode.
Selecteer onder Query de parameter Toevoegen
Voer in het veld Naam id in en voer in het veld Waarde 3 in en selecteer Vervolgens Uitvoeren.
Er wordt een logboekvenster weergegeven om verbinding te maken met de aanvraag. Op het tabblad Uitvoer wordt de HTTP-antwoordcode (200 OK) en de inhoud voor item 3 in de database weergegeven.
U kunt de functie ook testen door id-waarden 1 en 2 in te voeren.
Selecteer Sluiten om de tabbladen Invoeruitvoer voor Code + Test te sluiten.
Selecteer op de opdrachtbalk van het deelvenster ProductDetails Code + Test de optie Functie-URL ophalen. U ziet dat het URL-subdomein de naam van uw functie-app is, gevolgd door het azurewebsites.net domein.
Notitie
U kunt deze URL gebruiken om de functie in uw browser te testen. Voor de URL is een invoer vereist; voeg de querytekenreeks &id=1
toe om details op te vragen over het eerste item in uw productverzameling.
Functie-app beschikbaar maken als API met behulp van Azure API Management
Nadat de functie-app is geïmplementeerd en getest, gaan we deze exporteren als een API met behulp van Azure API Management, zodat deze kan worden aangeroepen vanuit andere apps en services.
Selecteer Alle resources in het resourcemenu. Het deelvenster Alle resources wordt weergegeven.
Sorteer de lijst met resources op type. U ziet dat u een OrderFunction-app en een ProductFunction-app hebt.
Selecteer de functie-app ProductFunction .
Schuif in het menu Functie-app naar de API-categorie en selecteer VERVOLGENS API Management. Het deelvenster API Management voor de functie-app ProductFunction wordt weergegeven.
Selecteer Nieuw maken onder het veld API Management. Het deelvenster API Management-gateway installeren wordt weergegeven.
Voer de volgende waarden in voor elke instelling.
Instelling Weergegeven als Abonnement Concierge-abonnement Resourcegroep [naam sandbox-resourcegroep] Regio Kies een locatie die ondersteuning biedt voor het verbruiksabonnement: (VS) - west, VS - noord-centraal, Europa - west, Europa - noord, Azië - zuidoost, Australië - oost Resourcenaam OnlineStore Organisatienaam OnlineStore E-mailadres van de beheerder Voer een e-mailadres in. Prijscategorie Verbruik (SLA van 99,95%) Selecteer Volgende: Controleren en de optie Application Insights wissen.
Selecteer Controleren + maken. Wanneer de validatie is voltooid, selecteert u Maken om een gekoppeld API Management-exemplaar te maken. Wacht enkele minuten totdat de export is voltooid.
Wanneer het API Management-exemplaar is geïmplementeerd, selecteert u Koppelings-API.
Het deelvenster Api Management-service importeren wordt weergegeven met de functie ProductDetails gemarkeerd.
Selecteer Selecteren om door te gaan. Het dialoogvenster Maken vanuit functie-app wordt weergegeven.
Wijzig de WAARDE van het API-URL-achtervoegsel in producten en selecteer Vervolgens Maken. Azure maakt de API voor de functie ProductDetails . Het tabblad Ontwerpen voor API Management voor uw functie-app wordt weergegeven.
In deze oefening ziet u dat u uw API kunt definiëren, allemaal vanuit de Azure Function App Service.
Het eindpunt van de OnlineStore-producten testen
U hebt nu een ProductDetails
API in het API Management-exemplaar dat u hebt gemaakt. We gaan die API testen met de API Management-hulpprogramma's in Azure.
Selecteer in het deelvenster API Management van uw functie-app het tabblad Testen . De beschikbare bewerkingen voor uw API worden weergegeven in de linkerkolom.
Selecteer GET ProductDetails. Het deelvenster ProductDetails Console wordt weergegeven.
Selecteer onder Queryparameters de optie Parameter toevoegen.
Voer in het veld NAAM id in en voer in het veld WAARDE 1 in en selecteer verzenden om een GET-aanvraag te genereren.
De sectie HTTP-antwoord van de console heeft twee tabbladen, Bericht en Trace. Het tabblad Bericht wordt gevuld met het HTTP-antwoord. De productdetails worden weergegeven in JSON-indeling aan het einde van het antwoord. Schuif omhoog naar de sectie HTTP-aanvraag en let op de indeling van de aanvraag. De aanvraag is verzonden naar een bestemming in het azure-api.net domein. Deze locatie wijkt af van het azurewebsites.net-domein waar de functie-app wordt gehost. U kunt deze API testen met andere queryparameters, zoals id=2 of id=3.