Ćwiczenie — Wdrażanie funkcji na platformie Azure
Teraz, gdy wiesz już, jak tworzyć i wdrażać funkcje na platformie Azure, nadszedł czas, aby przećwiczyć teorię.
W tym ćwiczeniu dowiesz się, jak skonfigurować funkcję do wdrożenia w usłudze Azure Functions. Następnie użyjesz narzędzia Maven, aby wdrożyć funkcję i przetestować funkcję w chmurze.
Konfigurowanie projektu funkcji na potrzeby wdrożenia
Istnieje kilka zmian, które należy wprowadzić w aplikacji funkcji, zanim będzie można ją wdrożyć na platformie Azure. Poniższe kroki przeprowadzą Cię przez proces aktualizowania projektu na potrzeby wdrożenia.
Określ region, w którym znajduje się grupa zasobów piaskownicy:
Użyj nazwy grupy zasobów, która została automatycznie utworzona podczas aktywowania piaskownicy, aby pobrać region, w którym znajduje się grupa zasobów:
az group show --name "<rgn>[sandbox resource group name]</rgn>" | jq -r '.location'
Skopiuj nazwę regionu, który jest wyświetlany do użycia w poniższych krokach.
Edytuj plik pom.xml, aby zaktualizować ustawienia:
W usłudze Azure Cloud Shell przejdź do folderu głównego aplikacji. Na przykład:
cd ~/event-reporting
Otwórz plik pom.xml w edytorze kodu usługi Cloud Shell.
code pom.xml
Znajdź następujący identyfikator artefaktu:
<artifactId>azure-functions-maven-plugin</artifactId>
W sekcji
<configuration>
poniżej znajdź element<resourceGroup>
i zaktualizuj go, wprowadzając nazwę swojej grupy zasobów. Na przykład:<resourceGroup><rgn>[sandbox resource group name]</rgn></resourceGroup>
Znajdź element
<region>
i zaktualizuj go, wprowadzając nazwę regionu, w którym znajduje się ta grupa zasobów. Na przykład:<region>westus</region>
Naciśnij klawisze Ctrl+S, aby zapisać plik pom.xml, a następnie naciśnij klawisze Ctrl+Q, aby zamknąć edytor kodu.
Wdrażanie funkcji platformy Azure
Po skonfigurowaniu funkcji do wdrożenia następnym krokiem jest wdrożenie jej w usłudze Azure Functions.
W usłudze Azure Cloud Shell przejdź do folderu głównego aplikacji. Na przykład:
cd ~/event-reporting
Użyj następującego polecenia, aby je skompilować i wdrożyć w usłudze Azure Functions:
mvn clean package azure-functions:deploy
Narzędzie Maven wyświetla stan uruchomienia wdrożenia. Na przykład:
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Azure Java Functions 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- azure-functions-maven-plugin:1.4.1:deploy (default-cli) @ event-reporting --- [INFO] Auth Type : AZURE_CLI [INFO] Subscription : Concierge Subscription(12345678-1234-1234-1234-123456789abc) [INFO] The specified function app does not exist. Creating a new function app... [INFO] Set function worker runtime to java. [INFO] Successfully created the function app: event-reporting-20240125192009873. [INFO] Trying to deploy the function app... [INFO] Trying to deploy artifact to event-reporting-20240125192009873... [INFO] Successfully deployed the artifact to https://event-reporting-20240125192009873.azurewebsites.net [INFO] Deployment done, you may access your resource through event-reporting-20240125192009873.azurewebsites.net [INFO] Syncing triggers and fetching function information [INFO] Querying triggers... [INFO] HTTP Trigger Urls: [INFO] HttpExample : https://event-reporting-20240125192009873.azurewebsites.net/api/httpexample [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:01 min [INFO] Finished at: 2024-01-25T20:12:04Z [INFO] ------------------------------------------------------------------------
Pobieranie adresu URL funkcji platformy Azure w portalu
Pamiętaj, że w ćwiczeniu ukończonym w poprzedniej lekcji konieczne było utworzenie adresu URL w celu przetestowania funkcji w przeglądarce internetowej. Istnieje jednak łatwiejsza metoda pobierania adresu URL funkcji platformy Azure przy użyciu witryny Azure Portal. Aby to zrobić, skorzystaj z poniższych instrukcji.
Zaloguj się w witrynie Azure Portal przy użyciu tego samego konta, które zostało wykorzystane do aktywowania piaskownicy.
W menu po lewej stronie wybierz pozycję Wszystkie zasoby.
Wybierz aplikację funkcji z listy zasobów; w tym ćwiczeniu nazwa aplikacji funkcji zaczyna się od raportowania zdarzeń. Na przykład:
event-reporting-20240125192009873
Ta
function app
nazwa jest taka sama, która została zgłoszona we wcześniejszej odpowiedzi wdrożenia w tym ćwiczeniu.Na stronie Przegląd aplikacji funkcji na karcie Funkcje wybierz funkcję HttpExample. Spowoduje to wyświetlenie strony Przegląd funkcji.
W górnej części strony funkcji wybierz pozycję Pobierz adres URL funkcji. Skopiuj w pełni skonstruowany adres URL funkcji. Na przykład:
https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
Ten adres URL jest używany w następnej sekcji tego ćwiczenia.
Testowanie funkcji platformy Azure w portalu
Po wdrożeniu funkcji na platformie Azure wystarczy przetestować funkcję w przeglądarce internetowej, aby dołączyć ciąg zapytania na końcu adresu URL, tak jak w poprzednich ćwiczeniach.
Konstruowanie adresu URL dla interfejsu API funkcji:
Pobierz adres URL skopiowany w sekcji Pobieranie adresu URL funkcji platformy Azure w portalu tego ćwiczenia, na przykład:
https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
Dołącz ciąg zapytania przekazujący imię do adresu URL interfejsu API, na przykład:
https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample?name=Bob
Skopiuj ten w pełni skonstruowany adres URL do użycia w następnych krokach.
Otwórz nową kartę w przeglądarce internetowej i wklej w pełni skonstruowany adres URL z poprzednich kroków w polu adresu.
Gdy poinstruujesz przeglądarkę internetową o zażądanie adresu URL, zobaczysz komunikat w postaci zwykłego tekstu zwrócony do przeglądarki internetowej, który jest spersonalizowany pod kątem nazwy przekazanej w ciągu zapytania. Na przykład:
Hello, Bob
Gratulacje, udało Ci się pomyślnie wdrożyć i przetestować funkcję na platformie Azure!