Ćwiczenie — tworzenie nowego interfejsu API w usłudze API Management z poziomu aplikacji funkcji
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:
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
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
iProductDetails
. 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.
Testowanie funkcji ProductDetails
Teraz przetestujmy funkcję ProductDetails, aby zobaczyć, jak działa przed dodaniem jej do usługi API Management.
Zaloguj się w witrynie Azure Portal przy użyciu tego samego konta, które zostało wykorzystane do aktywowania piaskownicy.
W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Wszystkie zasoby. Zostanie wyświetlone okienko Wszystkie zasoby .
Wybierz aplikację funkcji, której nazwa zaczyna się od ProductFunction. Zostanie wyświetlone okienko Aplikacja funkcji z wybraną kartą Przegląd .
Z listy funkcji dla aplikacji funkcji wybierz pozycję ProductDetails. Zostanie wyświetlone okienko Funkcja ProductDetails .
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.Na pasku poleceń wybierz pozycję Testuj/Uruchom. Zostanie wyświetlone okienko Dane wejściowe/wyjściowe na potrzeby testowania żądania HTTP.
Na karcie Dane wejściowe na liście rozwijanej Pole metody HTTP wybierz pozycję GET.
W obszarze Zapytanie wybierz pozycję Dodaj parametr
W polu Nazwa wprowadź identyfikator, a w polu Wartość wprowadź wartość 3, a następnie wybierz pozycję Uruchom.
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.
Opcjonalnie możesz również przetestować funkcję, wpisując wartości identyfikatorów 1 i 2.
Wybierz pozycję Zamknij , aby zamknąć karty Dane wyjściowe wejściowe dla pozycji Kod i test.
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.
W menu zasobów wybierz pozycję Wszystkie zasoby. Zostanie wyświetlone okienko Wszystkie zasoby .
Sortuj listę zasobów według typu. Zwróć uwagę, że masz aplikację OrderFunction i aplikację ProductFunction.
Wybierz aplikację funkcji ProductFunction .
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.
W polu API Management wybierz pozycję Utwórz nowy. Zostanie wyświetlone okienko Instalowanie bramy usługi API Management.
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%) Wybierz pozycję Dalej: Monitorowanie i wyczyść opcję Szczegółowe informacje aplikacji.
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.
Po wdrożeniu wystąpienia usługi API Management wybierz pozycję Połącz interfejs API.
Zostanie wyświetlone okienko Importuj usługę API Management usługi Azure Functions z wyróżnioną funkcją ProductDetails .
Wybierz pozycję Wybierz, aby kontynuować. Zostanie wyświetlone okno dialogowe Tworzenie z aplikacji funkcji.
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.
W okienku API Management aplikacji funkcji wybierz kartę Test . Dostępne operacje interfejsu API są wyświetlane w lewej kolumnie.
Wybierz pozycję GET ProductDetails. Zostanie wyświetlone okienko ProductDetails Console (Konsola produktu).
W obszarze Parametry zapytania wybierz pozycję Dodaj parametr.
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.