Ć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 ilustrujący wyniki skryptu setup.sh oraz sposób, w jaki funkcje odnoszą się do projektu ogólnej aplikacji.

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 .

    Zrzut ekranu przedstawiający opcje menu umożliwiające otwarcie funkcji ProductDetails.

  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.

    Zrzut ekranu przedstawiający okienko Kod i test ProductDetails z wybraną pozycją Test/Uruchom na pasku poleceń.

  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.

    Zrzut ekranu przedstawiający okienko danych wejściowych dla opcji Testowanie i uruchamianie z wyróżnionym parametrem wejściowym metody HTTP GET.

  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.

    Zrzut ekranu przedstawiający dane wyjściowe okienka testu i uruchomienia z wynikami odpowiedzi uruchomienia metody GET.

    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.

    Zrzut ekranu przedstawiający wybór menu, aby otworzyć usługę aplikacji API Management.

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

    Zrzut ekranu przedstawiający ustawienia usługi API Management.

  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 (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ę Application Insights .

  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.

    Zrzut ekranu przedstawiający usługę API Management z wyróżnionym przyciskiem Połącz interfejs API.

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

    Zrzut ekranu przedstawiający okienko Importowanie usługi API Management usługi Azure Functions.

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

    Zrzut ekranu przedstawiający okno dialogowe Tworzenie na podstawie aplikacji funkcji.

  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.

    Zrzut ekranu przedstawiający konsolę ProductDetails z wartościami parametrów zapytania wyróżnionymi dla żądania HTTP GET.

  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.

    Zrzut ekranu przedstawiający komunikat **Żądanie HTTP** i **odpowiedź HTTP**.