Ć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 ogólnego projektu aplikacji.

Testowanie funkcji ProductDetails

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

  1. Zaloguj się do portalu Azure przy użyciu tego samego konta, którego użyłeś do aktywacji 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. Na liście funkcji dla aplikacji wybierz ProductDetails. Wyświetlone zostanie okienko funkcji 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 w polu Nazwa wprowadź identyfikator, a w polu Wartość wprowadź wartość 3. Następnie wybierz opcję Uruchom.

    Zrzut ekranu panelu wejściowego dla Test + Uruchom, z wyróżnionym parametrem wejściowym metody HTTP GET.

  9. 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 Test + Run z wynikami odpowiedzi po uruchomieniu metody GET.

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

  10. Wybierz Zamknij, aby zamknąć karty Dane wejściowe/wyjściowe dla kodu i testu.

  11. Na pasku poleceń okienka ProductDetails Code + Test wybierz pozycję Pobierz adres URL funkcji. Zwróć uwagę, że poddomena adresu URL to nazwa aplikacji funkcji, a następnie domena 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 Function App przewiń do kategorii 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 Tworzenie 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 Sklep online
    Nazwa organizacji Sklep online
    Adres e-mail administratora Wprowadź adres e-mail.
    Warstwa cenowa Zużycie (umowa SLA na 99,95%)
  7. Wybierz pozycję Dalej: Monitoruj i zabezpieczaj i wyczyść opcję Application Insights .

  8. Wybierz opcję 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 Link API.

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

    Zrzut ekranu przedstawiający panel Importowanie usługi Azure Functions do zarządzania API.

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

    Zrzut ekranu przedstawiający okno dialogowe aplikacji Create from Function.

  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 panelu API Management dla Twojej 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**.