Oefening: het functieproject maken

Voltooid

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

  1. Open het Opdrachtpalet in Visual Studio Code.

  2. Voer een nieuw project maken in.

  3. Selecteer Azure Functions: Nieuw project maken.

  4. Selecteer de map api.

  5. 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
  6. Wanneer u wordt gevraagd om het .gitignore bestand te package.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 en local.settings.json.

  7. Voeg in de src/index.tsimportinstructie deze importinstructie toe.

    import { GetProducts } from "./functions/GetProducts";
    
  8. Voeg in de src/index.tshandler 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.

  1. Open het opdrachtenpalet.

  2. Voer de selectie voor foutopsporing in.

  3. Selecteer Foutopsporing: Selecteer en start foutopsporing.

  4. Selecteer Toevoegen aan knooppuntfuncties.

    Het Azure Functions-project wordt gestart. In de terminal ziet u de URL van de functie-app.

    Schermopname van de in Visual Studio Code geïntegreerde terminal met weergave van URL's naar functies.

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.