Ćwiczenie — tworzenie nowego interfejsu API w usłudze API Management z poziomu aplikacji funkcji

Ukończone

Aby przedstawić użytkownikom usługę Azure Functions jako części jednego interfejsu API, możesz dodać je do usługi Azure API Management.

W firmie ze sklepu online deweloperzy utworzyli wiele funkcji platformy Azure jako mikrousług. Każda funkcja implementuje małą część funkcjonalności sklepu. Chcesz utworzyć te funkcje w jednym interfejsie API.

W tym ćwiczeniu utworzysz nowe wystąpienie usługi API Management, a następnie dodasz do niego funkcję Product Details.

Tworzenie funkcji

W poniższych krokach dodasz aplikację funkcji platformy Azure do usługi Azure API Management. Później dodasz drugą aplikację funkcji do tego samego wystąpienia usługi API Management, aby utworzyć pojedynczy bezserwerowy interfejs API z wielu funkcji. Zacznijmy od użycia skryptu w celu utworzenia funkcji:

  1. Aby sklonować projekt funkcji, uruchom następujące polecenie w usłudze Azure Cloud Shell po prawej stronie.

    git clone https://github.com/MicrosoftDocs/mslearn-apim-and-functions.git ~/OnlineStoreFuncs
    
  2. Uruchom następujące polecenia w usłudze Cloud Shell, aby skonfigurować niezbędne zasoby platformy Azure potrzebne do tego ćwiczenia.

    cd ~/OnlineStoreFuncs
    bash setup.sh
    

    Skrypt setup.sh tworzy dwie aplikacje funkcji w grupie zasobów piaskownicy, które są aktywowane dla tego modułu. Jak pokazano na poniższej ilustracji, każda aplikacja hostuje jedną funkcję — OrderDetails i ProductDetails. Skrypt konfiguruje również konto magazynu dla funkcji. Obie funkcje mają adresy URL w domenie azurewebsites.net. Nazwy funkcji zawierają liczby losowe w celu zapewnienia unikatowości. Wykonanie skryptu może potrwać kilka minut.

    Diagram illustrating the results of the setup.sh script and how the functions relate to the overall application's design.

Testowanie funkcji ProductDetails

Teraz przetestujmy funkcję ProductDetails, aby zobaczyć, jak działa przed dodaniem jej do usługi API Management.

  1. Zaloguj się w witrynie Azure Portal przy użyciu tego samego konta, które zostało wykorzystane do aktywowania piaskownicy.

  2. W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Wszystkie zasoby. Zostanie wyświetlone okienko Wszystkie zasoby .

  3. Wybierz aplikację funkcji, której nazwa zaczyna się od ProductFunction. Zostanie wyświetlone okienko Aplikacja funkcji z wybraną kartą Przegląd .

    Screenshot of menu selections to open ProductDetails function.

  4. Z listy funkcji dla aplikacji funkcji wybierz pozycję ProductDetails. Zostanie wyświetlone okienko Funkcja ProductDetails .

  5. W menu Szczegóły produktu w obszarze Deweloper wybierz pozycję Kod i test. Zostanie wyświetlone okienko Kod i test dla funkcji ProductDetails z zawartością function.json pliku.

    Screenshot of the ProductDetails Code and Test pane, with Test/Run selected in the command bar.

  6. Na pasku poleceń wybierz pozycję Testuj/Uruchom. Zostanie wyświetlone okienko Dane wejściowe/wyjściowe na potrzeby testowania żądania HTTP.

  7. Na karcie Dane wejściowe na liście rozwijanej Pole metody HTTP wybierz pozycję GET.

  8. W obszarze Zapytanie wybierz pozycję Dodaj parametr

  9. W polu Nazwa wprowadź identyfikator, a w polu Wartość wprowadź wartość 3, a następnie wybierz pozycję Uruchom.

    Screenshot of the input pane for Test + Run, with the input parameter for the HTTP GET method highlighted.

  10. Zostanie wyświetlone okienko dziennika, aby połączyć żądanie. Karta Dane wyjściowe zawiera kod odpowiedzi HTTP (200 OK) i zawartość elementu 3 w bazie danych.

    Screenshot of the output of a pane for Test + Run with response results of running the GET method.

    Opcjonalnie możesz również przetestować funkcję, wpisując wartości identyfikatorów 1 i 2.

  11. Wybierz pozycję Zamknij , aby zamknąć karty Dane wyjściowe wejściowe dla pozycji Kod i test.

  12. Na pasku poleceń okienka Kod i test productDetails wybierz pozycję Pobierz adres URL funkcji. Zwróć uwagę, że poddomena adresu URL jest nazwą aplikacji funkcji, a następnie domeną azurewebsites.net .

Uwaga

Możesz użyć tego adresu URL do testowania funkcji w przeglądarce. Adres URL wymaga danych wejściowych; Dołącz ciąg &id=1 zapytania, aby zażądać szczegółów dotyczących pierwszego elementu w kolekcji produktów.

Uwidacznianie aplikacji funkcji jako interfejsu API przy użyciu usługi Azure API Management

Po wdrożeniu i przetestowaniu aplikacji funkcji wyeksportujmy ją jako interfejs API przy użyciu usługi Azure API Management, aby można było ją wywołać z innych aplikacji i usług.

  1. W menu zasobów wybierz pozycję Wszystkie zasoby. Zostanie wyświetlone okienko Wszystkie zasoby .

  2. Sortuj listę zasobów według typu. Zwróć uwagę, że masz aplikację OrderFunction i aplikację ProductFunction.

  3. Wybierz aplikację funkcji ProductFunction .

  4. W menu Aplikacja funkcji przewiń do kategorii interfejsu API , a następnie wybierz pozycję API Management. Zostanie wyświetlone okienko usługi API Management dla aplikacji funkcji ProductFunction.

    Screenshot showing menu selection to open the API Management app service.

  5. W polu API Management wybierz pozycję Utwórz nowy. Zostanie wyświetlone okienko Instalowanie bramy usługi API Management.

    Screenshot showing settings for an API Management service.

  6. Wprowadź następujące wartości dla każdego ustawienia.

    Ustawienie Wartość
    Subskrypcja Subskrypcja Concierge
    Grupa zasobów [nazwa grupy zasobów piaskownicy]
    Region Wybierz lokalizację, która obsługuje plan zużycia: (USA) Zachodnie stany USA, Północno-środkowe stany USA, Europa Zachodnia, Europa Północna, Azja Południowo-Wschodnia, Australia Wschodnia
    Nazwa zasobu OnlineStore
    Nazwa organizacji OnlineStore
    Adres e-mail administratora Wprowadź adres e-mail.
    Warstwa cenowa Zużycie (umowa SLA na 99,95%)
  7. Wybierz pozycję Dalej: Monitorowanie i wyczyść opcję Szczegółowe informacje aplikacji.

  8. Wybierz pozycję Przejrzyj i utwórz. Po zakończeniu walidacji wybierz pozycję Utwórz , aby utworzyć połączone wystąpienie usługi API Management. Poczekaj kilka minut na ukończenie eksportu.

  9. Po wdrożeniu wystąpienia usługi API Management wybierz pozycję Połącz interfejs API.

    Screenshot of API Management highlighting the Link API button.

    Zostanie wyświetlone okienko Importuj usługę API Management usługi Azure Functions z wyróżnioną funkcją ProductDetails .

    Screenshot showing the Import Azure Functions API Management service pane.

  10. Wybierz pozycję Wybierz, aby kontynuować. Zostanie wyświetlone okno dialogowe Tworzenie z aplikacji funkcji.

    Screenshot showing the Create from Function app dialog box.

  11. Zmień wartość sufiksu adresu URL interfejsu API na produkty, a następnie wybierz pozycję Utwórz. Platforma Azure tworzy interfejs API dla funkcji ProductDetails . Zostanie wyświetlona karta Projektowanie dla usługi API Management dla aplikacji funkcji.

W tym ćwiczeniu pokazano, że możesz zdefiniować interfejs API — wszystko z poziomu usługi Azure Function App Service.

Testowanie punktu końcowego produktów OnlineStore

Masz teraz ProductDetails interfejs API w utworzonym wystąpieniu usługi API Management. Przetestujmy ten interfejs API za pomocą narzędzi usługi API Management na platformie Azure.

  1. W okienku API Management aplikacji funkcji wybierz kartę Test . Dostępne operacje interfejsu API są wyświetlane w lewej kolumnie.

  2. Wybierz pozycję GET ProductDetails. Zostanie wyświetlone okienko ProductDetails Console (Konsola produktu).

  3. W obszarze Parametry zapytania wybierz pozycję Dodaj parametr.

    Screenshot showing ProductDetails Console with query parameter values highlighted for the GET HTTP request.

  4. W polu NAZWA wprowadź identyfikator, a w polu VALUE wprowadź wartość 1, a następnie wybierz pozycję Wyślij, aby wygenerować żądanie GET.

    Sekcja odpowiedź HTTP w konsoli zawiera dwie karty: Komunikat i Śledzenie. Karta Komunikat jest wypełniana odpowiedzią HTTP. Szczegóły produktu są wyświetlane w formacie JSON na końcu odpowiedzi. Przewiń w górę do sekcji żądania HTTP i zwróć uwagę na format żądania. Żądanie zostało wysłane do miejsca docelowego w domenie azure-api.net . Ta lokalizacja różni się od domeny azurewebsites.net , w której jest hostowana aplikacja funkcji. Ten interfejs API można przetestować przy użyciu innych parametrów zapytania, takich jak id=2 lub id=3.

    Screenshot showing the **Http request** and **HTTP response** message.