Oefening: het functieproject maken
Tailwind Traders was van plan om een traditionele API te bouwen, maar u hebt er ook op gewezen dat serverloos perfect is voor API's die onverwachte verkeerspieken ervaren. Dit kan ook worden volbracht zonder hun bestaande codebasis te gebruiken. U bent al een heel eind op weg. Er staat u een lange carrière in de onlinehardwareverkoop te wachten.
Het is nu tijd om die woorden maar eens om te zetten in daden. U moet nu een nieuw project maken in Azure Functions om de HTTP-API voor de Products Manager-app te zijn. Dat betekent dat u het Azure Functions-project maakt, compleet met alle eindpunten die de Products Manager-app nodig heeft om producten te kunnen maken, lezen, bijwerken en verwijderen.
Een project maken met bestaande code
Deze oefening biedt u een gedeeltelijk voltooide codebasis. Wanneer u de nieuwe Azure Functions-app maakt, moet u het bestaande package.json
bestand behouden. Het package.json
bestand is het bestand dat de afhankelijkheden van het project bevat. Als u deze overschrijft, verliest u de bestaande afhankelijkheden.
Deze werkstroom is geselecteerd om u een voorsprong te geven op het project. U kunt zich richten op de serverloze code en de databaseintegratiecode, in plaats van het project helemaal opnieuw in te stellen.
Een nieuw Azure Functions-project maken
Open het Opdrachtpalet in Visual Studio Code.
Voer een nieuw project maken in.
Selecteer Azure Functions: Nieuw project maken.
Selecteer de map api.
Voer de volgende waarden in wanneer u daarom wordt gevraagd. Overschrijf het package.json bestand niet wanneer hierom wordt gevraagd.
Naam Weergegeven als Taal TypeScript Een TypeScript-programmeermodel selecteren Model V4 Template HTTP-trigger Naam GetProducts Overschrijven package.json
Nee Wanneer u wordt gevraagd om het
.gitignore
bestand tepackage.json
overschrijven, moet u Nee selecteren.De map Functions in api/src bevat nu een nieuwe Azure Functions-app met een functie op api/src/functions/GetProducts.ts. Er worden ook verschillende andere vereiste projectbestanden toegevoegd, waaronder
host.json
enlocal.settings.json
.Voeg in de
src/index.ts
importinstructie deze importinstructie toe.import { GetProducts } from "./functions/GetProducts";
Voeg in de
src/index.ts
handler voor de routedefinitie de handler toe.app.http('GetProducts', { methods: ['GET', 'POST'], authLevel: 'anonymous', handler: GetProducts });
De functies Maken, Bijwerken en Verwijderen bestuderen
De functies Maken, Bijwerken en Verwijderen zijn al voor u gemaakt. Ze zijn gemaakt met hetzelfde proces dat u hebt gebruikt om de functie GetProducts te maken en ze bevatten al databasetoegangscode.
- U ziet dat het API-project al functies CreateProduct, DeleteProduct en UpdateProduct bevat.
Het Azure Functions-project uitvoeren
U kunt Azure Functions-projecten lokaal uitvoeren en fouten opsporen vanuit Visual Studio Code.
Open het opdrachtenpalet.
Voer de selectie voor foutopsporing in.
Selecteer Foutopsporing: Selecteer en start foutopsporing.
Selecteer Toevoegen aan knooppuntfuncties.
Het Azure Functions-project wordt gestart. In de terminal ziet u de URL van de functie-app.
Visual Studio Code genereert de volgende fout: 'Kan eigenschap 'eindpunt' van niet-gedefinieerde eigenschap niet lezen'. Dat is helemaal geen probleem. Dat komt doordat u de database nog niet hebt ingesteld verbindingsreeks. U ziet dat de vier eindpunten boven die fout worden vermeld en dat als u een van deze eindpunten selecteert, dezelfde fout wordt weergegeven.