Ćwiczenie — tworzenie projektu funkcji

Ukończone

Firma Tailwind Traders planowała utworzenie tradycyjnego interfejsu API, ale zręcznie zauważyłeś, że bezserwerowe rozwiązanie jest idealne dla interfejsów API, które doświadczają nieoczekiwanych skoków ruchu. Można je zastosować również bez naruszania istniejącej bazy kodu. Idzie Ci świetnie. Masz przed sobą długą karierę w internetowej sprzedaży sprzętu.

Teraz czas, aby przełożyć te wzniosłe słowa na praktyczne działanie. Teraz musisz utworzyć nowy projekt w usłudze Azure Functions, aby był interfejsem API HTTP dla aplikacji Products Manager . Oznacza to, że utworzenie projektu usługi Azure Functions wraz ze wszystkimi punktami końcowymi, które aplikacja Products Manager będzie musiała mieć możliwość tworzenia, odczytywania, aktualizowania i usuwania produktów.

Tworzenie projektu z istniejącym kodem

To ćwiczenie zapewnia częściowo ukończoną bazę kodu. Podczas tworzenia nowej aplikacji usługi Azure Functions należy pozostawić istniejący package.json plik. Plik package.json jest plikiem zawierającym zależności projektu. Jeśli go zastąpisz, utracisz istniejące zależności.

Ten przepływ pracy został wybrany, aby dać ci przewagę nad projektem. Możesz skoncentrować się na kodzie bezserwerowym i kodzie integracji bazy danych, zamiast konfigurować projekt od podstaw.

Tworzenie nowego projektu usługi Azure Functions

  1. W programie Visual Studio Code otwórz paletę poleceń.

  2. Wprowadź polecenie Create new project (Utwórz nowy projekt).

  3. Wybierz pozycję Azure Functions: Utwórz nowy projekt.

  4. Wybierz folder api.

  5. Po wyświetleniu monitu wprowadź następujące wartości. Po wyświetleniu monitu nie należy zastępować pliku package.json .

    Nazwa/nazwisko Wartość
    Język TypeScript
    Wybieranie modelu programowania TypeScript Model V4
    Template Wyzwalacz HTTP
    Nazwisko GetProducts
    Zastąpić package.json Nie.
  6. Po wyświetleniu monitu .gitignore o zastąpienie pliku lub package.json upewnij się, że wybrano pozycję Nie.

    Folder functions w pliku api/src zawiera teraz nową aplikację usługi Azure Functions z funkcją w folderze api/src/functions/GetProducts.ts. Dodano również kilka innych wymaganych plików projektu, w tym host.json i local.settings.json.

  7. W pliku dodaj tę instrukcję src/index.tsimport.

    import { GetProducts } from "./functions/GetProducts";
    
  8. W pliku src/index.tsdodaj procedurę obsługi dla definicji trasy.

    app.http('GetProducts', {
        methods: ['GET', 'POST'],
        authLevel: 'anonymous',
        handler: GetProducts
    });
    

Przeglądanie funkcji tworzenia, aktualizowania i usuwania

Funkcje Create, Update i Delete zostały już utworzone. Zostały one utworzone przy użyciu tego samego procesu, który został użyty do utworzenia funkcji GetProducts i zawierają już kod dostępu do bazy danych.

  • Zwróć uwagę, że projekt interfejsu API zawiera już funkcje CreateProduct, DeleteProduct i UpdateProduct.

Uruchamianie projektu usługi Azure Functions

Projekty usługi Azure Functions można uruchamiać i debugować lokalnie z poziomu programu Visual Studio Code.

  1. Otwórz paletę poleceń.

  2. Wprowadź pozycję debugowania.

  3. Wybierz pozycję Debuguj: wybierz i rozpocznij debugowanie.

  4. Wybierz polecenie Attach to Node Functions (Dołącz do funkcji węzłów).

    Zostanie uruchomiony projekt usługi Azure Functions. W terminalu zostanie wyświetlony adres URL aplikacji funkcji.

    Zrzut ekranu przedstawiający zintegrowany terminal programu Visual Studio Code z wyświetlonymi adresami URL funkcji.

Program Visual Studio Code generuje następujący błąd: "Nie można odczytać właściwości "endpoint" niezdefiniowanej". Nie przejmuj się. Dzieje się tak, ponieważ nie skonfigurowaliśmy jeszcze parametry połączenia bazy danych. Zwróć uwagę, że cztery punkty końcowe są wymienione powyżej tego błędu i że w przypadku wybrania któregokolwiek z nich wystąpi ten sam błąd.