Uwaga
Plany Basic, Standardi Enterprise weszły w okres wycofywania 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.
W tym przewodniku Szybki start pokazano, jak wdrożyć aplikację internetową Spring Boot w usłudze Azure Spring Apps. Przykładowy projekt to prosta aplikacja todo do dodawania zadań, oznaczania ich ukończenia, a następnie usuwania. Poniższy zrzut ekranu przedstawia aplikację:
Ta aplikacja jest typową aplikacją internetową trójwarstwową z następującymi warstwami:
- "Frontendowa ograniczona aplikacja React."
- Aplikacja internetowa zaplecza Spring, która używa Spring Data JPA do uzyskiwania dostępu do relacyjnej bazy danych.
- Relacyjna baza danych. W przypadku hosta lokalnego aplikacja używa silnika bazy danych H2. W przypadku usługi Azure Spring Apps aplikacja używa usługi Azure Database for PostgreSQL. Aby uzyskać więcej informacji na temat usługi Azure Database for PostgreSQL, zobacz dokumentację serwera elastycznego.
Na poniższym diagramie przedstawiono architekturę systemu:
Ten artykuł zawiera następujące opcje wdrażania w usłudze Azure Spring Apps:
-
Opcja witryny Azure Portal jest najprostszym i najszybszym sposobem tworzenia zasobów i wdrażania aplikacji za pomocą jednego kliknięcia. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy chcą szybko wdrażać aplikacje w usługach w chmurze platformy Azure.
- Opcja wtyczki Azure Portal + Maven zapewnia bardziej konwencjonalny sposób tworzenia zasobów i wdrażania aplikacji krok po kroku. Ta opcja jest odpowiednia dla deweloperów platformy Spring korzystających z usług w chmurze platformy Azure po raz pierwszy.
-
Opcja interfejsu wiersza polecenia dla deweloperów platformy Azure to bardziej wydajny sposób automatycznego tworzenia zasobów i wdrażania aplikacji za pomocą prostych poleceń. Interfejs wiersza polecenia dewelopera platformy Azure używa szablonu do aprowizowania potrzebnych zasobów platformy Azure i wdrażania kodu aplikacji. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy znają usługi w chmurze platformy Azure.
Ten artykuł zawiera następujące opcje wdrażania w usłudze Azure Spring Apps:
-
Opcja witryny Azure Portal jest najprostszym i najszybszym sposobem tworzenia zasobów i wdrażania aplikacji za pomocą jednego kliknięcia. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy chcą szybko wdrażać aplikacje w usługach w chmurze platformy Azure.
- Opcja wtyczki Azure Portal + Maven zapewnia bardziej konwencjonalny sposób tworzenia zasobów i wdrażania aplikacji krok po kroku. Ta opcja jest odpowiednia dla deweloperów platformy Spring korzystających z usług w chmurze platformy Azure po raz pierwszy.
- Opcja interfejsu wiersza polecenia platformy Azure używa zaawansowanego narzędzia wiersza polecenia do zarządzania zasobami platformy Azure. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy znają usługi w chmurze platformy Azure.
1. Wymagania wstępne
2. Przygotowanie projektu Spring
Przycisk Wdróż na platformie Azure w następnej sekcji uruchamia portal Azure, który pobiera pakiet JAR ze strony ASA-Samples-Web-Application releases w witrynie GitHub. Nie są wymagane żadne lokalne kroki przygotowania.
Mimo że w kolejnych krokach używasz portalu Azure, musisz użyć linii poleceń Bash, aby przygotować projekt lokalnie. Aby sklonować i uruchomić aplikację lokalnie, wykonaj następujące kroki:
Użyj następującego polecenia, aby sklonować przykładowy projekt z usługi GitHub:
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
Użyj następującego polecenia, aby skompilować przykładowy projekt za pomocą narzędzia Maven:
cd ASA-Samples-Web-Application
./mvnw clean package
Użyj następującego polecenia, aby uruchomić przykładową aplikację:
java -jar web/target/simple-todo-web.jar
Przejdź do http://localhost:8080 w przeglądarce, aby uzyskać dostęp do aplikacji.
Aby sklonować i uruchomić aplikację lokalnie, wykonaj następujące kroki:
Użyj następującego polecenia, aby sklonować przykładowy projekt z usługi GitHub:
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
Użyj następującego polecenia, aby skompilować przykładowy projekt za pomocą narzędzia Maven:
cd ASA-Samples-Web-Application
./mvnw clean package
Użyj następującego polecenia, aby uruchomić przykładową aplikację:
java -jar web/target/simple-todo-web.jar
Przejdź do http://localhost:8080 w przeglądarce, aby uzyskać dostęp do aplikacji.
3. Przygotowanie środowiska chmury
Główne zasoby wymagane do uruchomienia tego przykładu to wystąpienie usługi Azure Spring Apps i wystąpienie usługi Azure Database for PostgreSQL. Ta sekcja zawiera kroki tworzenia tych zasobów.
W tej sekcji użyto przycisku Wdróż na platformie Azure , aby uruchomić środowisko wdrażania w witrynie Azure Portal. To doświadczenie używa szablonu ARM do tworzenia zasobów platformy Azure.
3.1. Zaloguj się do witryny Azure Portal.
Przejdź do witryny Azure Portal i wprowadź swoje poświadczenia, aby zalogować się do portalu. Domyślny widok to pulpit nawigacyjny twojej usługi.
3.2. Tworzenie zasobów platformy Azure
Wykonaj następujące kroki, aby utworzyć wszystkie zasoby platformy Azure, od których zależy aplikacja:
Wybierz następujący przycisk Wdróż na platformie Azure , aby uruchomić środowisko wdrażania w witrynie Azure Portal:
Wypełnij formularz na karcie Podstawy . Użyj poniższej tabeli jako przewodnika do ukończenia formularza:
| Ustawienie |
Sugerowana wartość |
opis |
|
Subskrypcja |
Nazwa subskrypcji. |
Subskrypcja platformy Azure, która ma być używana dla serwera. Jeśli masz wiele subskrypcji, wybierz subskrypcję, w której chcesz naliczać opłaty za zasób. |
|
Grupa zasobów: |
myresourcegroup |
Nowa nazwa grupy zasobów lub istniejąca nazwa z subskrypcji. |
|
Region |
Region najbliżej Twoich użytkowników. |
Region jest używany do tworzenia grupy zasobów. |
|
Hasło administratora bazy danych Postgre SQL |
Nie dotyczy |
Hasło administratora serwera PostgreSQL. |
|
Hasło użytkownika postgre SQL |
Nie dotyczy |
Hasło użytkownika aplikacji PostgreSQL, który jest używany w aplikacji. |
Wybierz Przejrzyj i Utwórz, aby przejrzeć wybory. Następnie wybierz pozycję Utwórz , aby wdrożyć aplikację w usłudze Azure Spring Apps.
Na pasku narzędzi wybierz ikonę Powiadomienia (dzwonek), aby monitorować proces wdrażania. Po zakończeniu wdrażania możesz wybrać pozycję Przypnij do pulpitu nawigacyjnego, co spowoduje utworzenie kafelka dla tej usługi na pulpicie nawigacyjnym Azure Portal jako skrótu do strony Przegląd usługi. Wybierz pozycję Przejdź do zasobu, aby otworzyć stronę Przegląd usługi.
3.1. Zaloguj się do witryny Azure Portal.
Przejdź do witryny Azure Portal, wprowadź swoje poświadczenia i zaloguj się do portalu. Domyślny widok to pulpit nawigacyjny twojej usługi.
3.2. Tworzenie wystąpienia usługi Azure Spring Apps
Aby utworzyć wystąpienie usługi, wykonaj następujące czynności:
Wybierz pozycję Utwórz zasób w rogu witryny Azure Portal.
Wybierz pozycję Compute>Azure Spring Apps.
Wypełnij formularz Podstawowe, korzystając z następujących informacji:
| Ustawienie |
Sugerowana wartość |
opis |
|
Subskrypcja |
Nazwa subskrypcji. |
Subskrypcja platformy Azure, która ma być używana dla serwera. Jeśli masz wiele subskrypcji, wybierz subskrypcję, w której chcesz naliczać opłaty za zasób. |
|
Grupa zasobów: |
myresourcegroup |
Nowa nazwa grupy zasobów lub istniejąca nazwa z subskrypcji. |
|
Nazwa/nazwisko |
myasa |
Unikatowa nazwa identyfikująca usługę Azure Spring Apps. Nazwa musi mieć długość od 4 do 32 znaków i może zawierać tylko małe litery, cyfry i łączniki. Pierwszy znak nazwy usługi musi być literą, a ostatni znak musi być literą lub cyfrą. |
|
Planowanie |
Przedsiębiorstwo |
Plan cenowy określający zasoby i koszt powiązany z Twoim przypadkiem. |
|
Region |
Region najbliżej Twoich użytkowników. |
Lokalizacja znajdująca się najbliżej użytkowników. |
|
Strefowo nadmiarowy |
Niezaznaczone |
Opcja tworzenia usługi Azure Spring Apps w strefie dostępności platformy Azure. Ta funkcja nie jest obecnie obsługiwana we wszystkich regionach. |
|
Plan adresów IP oprogramowania |
Płać za użycie |
Płatność za użycie przy usłudze Azure Spring Apps. |
|
Warunki |
Wybrano |
Pole wyboru zgody skojarzone z ofertą Marketplace. Musisz zaznaczyć to pole wyboru. |
|
Wdrażanie przykładowego projektu |
Niezaznaczone |
Opcja użycia wbudowanej przykładowej aplikacji. |
Wybierz Przejrzyj i Utwórz, aby przejrzeć wybory. Następnie wybierz pozycję Utwórz , aby aprowizować wystąpienie usługi Azure Spring Apps.
Na pasku narzędzi wybierz ikonę Powiadomienia (dzwonek), aby monitorować proces wdrażania. Po zakończeniu wdrażania możesz wybrać pozycję Przypnij do pulpitu nawigacyjnego, co spowoduje utworzenie kafelka dla tej usługi na pulpicie nawigacyjnym Azure Portal jako skrótu do strony Przegląd usługi.
Wybierz Przejdź do zasobu, aby przejść do strony Przegląd usługi Azure Spring Apps.
3.3. Przygotowywanie wystąpienia bazy danych PostgreSQL
Aby utworzyć serwer usługi Azure Database for PostgreSQL, wykonaj następujące czynności:
W witrynie Azure Portal wybierz polecenie Utwórz zasób.
Wybierz Bazy danych>Azure Database for PostgreSQL Flexible Server.
Wypełnij kartę Podstawy następującymi informacjami:
-
Nazwa serwera: my-demo-pgsql
-
Region: Wschodnie stany USA
-
Wersja bazy danych PostgreSQL: 14
-
Typ obciążenia: Programowanie
-
Włącz wysoką dostępność: niezaznaczone
-
Metoda uwierzytelniania: tylko uwierzytelnianie postgreSQL
-
Nazwa użytkownika administratora: myadmin
-
Hasło i potwierdź hasło: wprowadź hasło.
Skonfiguruj kartę Sieć , korzystając z następujących informacji:
-
Metoda łączności: dostęp publiczny (dozwolone adresy IP)
-
Zezwalaj na dostęp publiczny z dowolnej usługi platformy Azure na platformie Azure do tego serwera: wybrane
Wybierz pozycję Przejrzyj i utwórz , aby przejrzeć wybrane opcje, a następnie wybierz pozycję Utwórz , aby aprowizować serwer. Ta operacja może potrwać kilka minut.
W witrynie Azure Portal przejdź do serwera PostgreSQL.
Wybierz pozycję Bazy danych z menu nawigacji, aby utworzyć bazę danych — na przykład Todo.
3.4. Połącz instancję aplikacji z instancją PostgreSQL
Aby połączyć wystąpienia usługi, wykonaj następujące czynności:
Przejdź do wystąpienia usługi Azure Spring Apps w witrynie Azure Portal.
W okienku nawigacji otwórz pozycję Aplikacje , a następnie wybierz pozycję Utwórz aplikację.
Na stronie Utwórz aplikację, jako nazwę aplikacji użyj simple-todo-web i pozostaw wszystkie inne pola z ich domyślnymi wartościami.
Wybierz pozycję Utwórz , aby zakończyć tworzenie aplikacji, a następnie wybierz aplikację, aby wyświetlić szczegóły.
Wybierz pozycję Łącznik usługi w okienku nawigacji, a następnie wybierz pozycję Utwórz , aby utworzyć nowe połączenie z usługą.
Wypełnij kartę Podstawy następującymi informacjami:
-
Typ usługi: DB for PostgreSQL Flexible Server
-
Nazwa połączenia: wypełniona automatycznie wygenerowaną nazwą, którą można zmodyfikować.
-
Subskrypcja: wybierz swoją subskrypcję.
-
Serwer elastyczny PostgreSQL: my-demo-pgsql
-
Baza danych PostgreSQL: wybierz utworzoną bazę danych.
-
Typ klienta: SpringBoot
Skonfiguruj kartę Dalej: Uwierzytelnianie przy użyciu następujących informacji:
Uwaga
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze, taki jak bazy danych, pamięci podręczne, komunikaty lub usługi sztucznej inteligencji, wymaga bardzo wysokiego stopnia zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Użyj tego przepływu tylko wtedy, gdy bardziej bezpieczne opcje, takie jak tożsamości zarządzane dla połączeń bez hasła lub bez kluczy, nie są opłacalne. W przypadku operacji maszyny lokalnej preferuj tożsamości użytkowników dla połączeń bez hasła lub bez klucza.
-
Wybierz typ uwierzytelniania, którego chcesz użyć między usługą obliczeniową a usługą docelową.: Wybierz pozycję Parametry połączenia.
-
Kontynuuj z...: wybierz poświadczenia bazy danych
-
Nazwa użytkownika: myadmin
-
Hasło: wprowadź hasło.
Wybierz pozycję Dalej: Sieć. Użyj opcji domyślnej Skonfiguruj reguły zapory, aby włączyć dostęp do usługi docelowej.
Wybierz pozycję Dalej: Przejrzyj i utwórz , aby przejrzeć wybrane opcje, a następnie wybierz pozycję Utwórz , aby utworzyć połączenie.
3.1. Podaj nazwy dla każdego zasobu
Utwórz zmienne do przechowywania nazw zasobów przy użyciu następujących poleceń. Pamiętaj, aby zastąpić symbole zastępcze własnymi wartościami.
Uwaga
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze, taki jak bazy danych, pamięci podręczne, komunikaty lub usługi sztucznej inteligencji, wymaga bardzo wysokiego stopnia zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Użyj tego przepływu tylko wtedy, gdy bardziej bezpieczne opcje, takie jak tożsamości zarządzane dla połączeń bez hasła lub bez kluczy, nie są opłacalne. W przypadku operacji maszyny lokalnej preferuj tożsamości użytkowników dla połączeń bez hasła lub bez klucza.
export RESOURCE_GROUP=<resource-group-name>
export LOCATION=<location>
export POSTGRESQL_SERVER=<server-name>
export POSTGRESQL_DB=<database-name>
export POSTGRESQL_ADMIN_USERNAME=<admin-username>
export POSTGRESQL_ADMIN_PASSWORD=<admin-password>
export AZURE_SPRING_APPS_NAME=<Azure-Spring-Apps-service-instance-name>
export APP_NAME=<web-app-name>
3.2. Tworzenie nowej grupy zasobów
Wykonaj poniższe kroki, aby utworzyć nową grupę zasobów.
Użyj następującego polecenia, aby zalogować się w Azure CLI.
az login
Użyj następującego polecenia, aby ustawić lokalizację domyślną.
az configure --defaults location=${LOCATION}
Użyj następującego polecenia, aby wyświetlić listę wszystkich dostępnych subskrypcji w celu określenia identyfikatora subskrypcji do użycia.
az account list --output table
Użyj następującego polecenia, aby ustawić domyślną subskrypcję:
az account set --subscription <subscription-ID>
Użyj następującego polecenia, aby utworzyć grupę zasobów.
az group create --resource-group ${RESOURCE_GROUP}
Użyj następującego polecenia, aby ustawić nowo utworzoną grupę zasobów jako domyślną grupę zasobów.
az configure --defaults group=${RESOURCE_GROUP}
3.3. Tworzenie wystąpienia usługi Azure Spring Apps
Usługa Azure Spring Apps służy do hostowania aplikacji internetowej Spring. Utwórz instancję usługi Azure Spring Apps i aplikację w niej.
Użyj następującego polecenia, aby utworzyć wystąpienie usługi Azure Spring Apps.
az spring create --name ${AZURE_SPRING_APPS_NAME} --sku enterprise
Użyj następującego polecenia, aby utworzyć aplikację w wystąpieniu usługi Azure Spring Apps.
az spring app create \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--assign-endpoint true
3.4. Przygotowywanie wystąpienia bazy danych PostgreSQL
Aplikacja internetowa Spring używa H2 dla bazy danych na hoście lokalnym i usługi Azure Database for PostgreSQL dla bazy danych na platformie Azure.
Użyj następującego polecenia, aby utworzyć wystąpienie bazy danych PostgreSQL:
Uwaga
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze, taki jak bazy danych, pamięci podręczne, komunikaty lub usługi sztucznej inteligencji, wymaga bardzo wysokiego stopnia zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Użyj tego przepływu tylko wtedy, gdy bardziej bezpieczne opcje, takie jak tożsamości zarządzane dla połączeń bez hasła lub bez kluczy, nie są opłacalne. W przypadku operacji maszyny lokalnej preferuj tożsamości użytkowników dla połączeń bez hasła lub bez klucza.
az postgres flexible-server create \
--name ${POSTGRESQL_SERVER} \
--database-name ${POSTGRESQL_DB} \
--admin-user ${POSTGRESQL_ADMIN_USERNAME} \
--admin-password ${POSTGRESQL_ADMIN_PASSWORD} \
--public-access 0.0.0.0
Określenie 0.0.0.0 umożliwia dostęp publiczny z dowolnych zasobów wdrożonych na platformie Azure w celu uzyskania dostępu do serwera.
3.5. Połącz instancję aplikacji z instancją PostgreSQL
Po utworzeniu wystąpienia aplikacji i wystąpienia bazy danych PostgreSQL wystąpienie aplikacji nie może bezpośrednio uzyskać dostępu do wystąpienia bazy danych PostgreSQL. Wykonaj poniższe kroki, aby umożliwić aplikacji połączenie z instancją PostgreSQL.
Użyj następującego polecenia, aby uzyskać w pełni kwalifikowaną nazwę domeny wystąpienia PostgreSQL:
export PSQL_FQDN=$(az postgres flexible-server show \
--name ${POSTGRESQL_SERVER} \
--query fullyQualifiedDomainName \
--output tsv)
Użyj następującego polecenia, aby udostępnić spring.datasource. właściwości aplikacji za pomocą zmiennych środowiskowych:
Uwaga
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze, taki jak bazy danych, pamięci podręczne, komunikaty lub usługi sztucznej inteligencji, wymaga bardzo wysokiego stopnia zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Użyj tego przepływu tylko wtedy, gdy bardziej bezpieczne opcje, takie jak tożsamości zarządzane dla połączeń bez hasła lub bez kluczy, nie są opłacalne. W przypadku operacji maszyny lokalnej preferuj tożsamości użytkowników dla połączeń bez hasła lub bez klucza.
az spring app update \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--env SPRING_DATASOURCE_URL="jdbc:postgresql://${PSQL_FQDN}:5432/${POSTGRESQL_DB}?sslmode=require" \
SPRING_DATASOURCE_USERNAME="${POSTGRESQL_ADMIN_USERNAME}" \
SPRING_DATASOURCE_PASSWORD="${POSTGRESQL_ADMIN_PASSWORD}"
4. Wdrażanie aplikacji w usłudze Azure Spring Apps
Przycisk Wdróż na platformie Azure w poprzedniej sekcji uruchamia portal Azure, który obejmuje wdrażanie aplikacji, więc nic więcej nie jest potrzebne.
Wykonaj następujące kroki, aby wdrożyć przy użyciu wtyczki Maven dla usługi Azure Spring Apps:
Przejdź do kompletnego katalogu, a następnie uruchom następujące polecenie, aby skonfigurować aplikację w usłudze Azure Spring Apps:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
Poniższa lista zawiera opis interakcji poleceń:
-
Wybierz moduły podrzędne do skonfigurowania: wybierz moduł do skonfigurowania, a następnie wprowadź numer modułu SimpleTodo Web.
-
Logowanie OAuth2: musisz autoryzować logowanie do platformy Azure na podstawie protokołu OAuth2.
-
Wybierz subskrypcję: wybierz numer listy subskrypcji utworzonego wystąpienia usługi Azure Spring Apps, które jest domyślnie ustawione na pierwszą subskrypcję na liście. Jeśli używasz numeru domyślnego, naciśnij Enter bezpośrednio.
-
Użyj istniejących Azure Spring Apps na platformie Azure: wciśnij y aby użyć istniejącej instancji Azure Spring Apps.
-
Wybierz aplikację Azure Spring Apps do wdrożenia: wybierz utworzone wystąpienie usługi Azure Spring Apps. Jeśli używasz numeru domyślnego, naciśnij Enter bezpośrednio.
-
Uwidocznij publiczny dostęp dla tej aplikacji: naciśnij y.
-
Potwierdź, aby zapisać wszystkie powyższe konfiguracje: naciśnij y. Jeśli naciśniesz n, konfiguracja nie zostanie zapisana w plikach POM.
Aby wdrożyć aplikację, użyj następującego polecenia:
./mvnw azure-spring-apps:deploy
Na poniższej liście opisano interakcję poleceń:
-
Logowanie OAuth2: musisz autoryzować logowanie do platformy Azure na podstawie protokołu OAuth2.
Po wykonaniu polecenia można zobaczyć następujące komunikaty dziennika, że wdrożenie zakończyło się pomyślnie:
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-15-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
Wyjściowy adres URL aplikacji to punkt końcowy umożliwiający uzyskanie dostępu do todo aplikacji.
Po przygotowaniu środowiska w chmurze aplikacja jest gotowa do wdrożenia. Aby wdrożyć aplikację, użyj następującego polecenia:
az spring app deploy \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--artifact-path web/target/simple-todo-web.jar
2. Przygotowanie projektu Spring
Przycisk Wdróż na platformie Azure w następnej sekcji uruchamia portal Azure, który pobiera pakiet JAR ze strony ASA-Samples-Web-Application releases w witrynie GitHub. Nie są wymagane żadne lokalne kroki przygotowania.
Mimo że w kolejnych krokach używasz portalu Azure, musisz użyć linii poleceń Bash, aby przygotować projekt lokalnie. Aby sklonować i uruchomić aplikację lokalnie, wykonaj następujące kroki:
Użyj następującego polecenia, aby sklonować przykładowy projekt z usługi GitHub:
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
Użyj następującego polecenia, aby skompilować przykładowy projekt za pomocą narzędzia Maven:
cd ASA-Samples-Web-Application
./mvnw clean package
Użyj następującego polecenia, aby uruchomić przykładową aplikację:
java -jar web/target/simple-todo-web.jar
Przejdź do http://localhost:8080 w przeglądarce, aby uzyskać dostęp do aplikacji.
Wykonaj następujące kroki, aby zainicjować aplikację internetową z szablonów interfejsu wiersza polecenia dla deweloperów platformy Azure:
Otwórz terminal, utwórz pusty folder, a następnie przejdź do niego.
Użyj następującego polecenia, aby zainicjować projekt:
azd init --template https://github.com/Azure-Samples/ASA-Samples-Web-Application
Na poniższej liście opisano interakcję poleceń:
-
Wprowadź nową nazwę środowiska: podaj nazwę środowiska, która jest używana jako sufiks dla grupy zasobów utworzonej do przechowywania wszystkich zasobów platformy Azure. Ta nazwa powinna być unikatowa w ramach subskrypcji platformy Azure.
Konsola generuje komunikaty podobne do następującego przykładu:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Please enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Przygotowanie środowiska chmury
Główne zasoby wymagane do uruchomienia tego przykładu to wystąpienie usługi Azure Spring Apps i wystąpienie usługi Azure Database for PostgreSQL. Ta sekcja zawiera kroki tworzenia tych zasobów.
W tej sekcji użyto przycisku Wdróż na platformie Azure , aby uruchomić środowisko wdrażania w witrynie Azure Portal. To doświadczenie używa szablonu ARM do tworzenia zasobów platformy Azure.
3.1. Zaloguj się do witryny Azure Portal.
Przejdź do witryny Azure Portal i wprowadź swoje poświadczenia, aby zalogować się do portalu. Domyślny widok to pulpit nawigacyjny twojej usługi.
3.2. Tworzenie zasobów platformy Azure
Wykonaj następujące kroki, aby utworzyć wszystkie zasoby platformy Azure, od których zależy aplikacja:
Wybierz następujący przycisk Wdróż na platformie Azure , aby uruchomić środowisko wdrażania w witrynie Azure Portal:
Wypełnij formularz na karcie Podstawy . Użyj poniższej tabeli jako przewodnika do ukończenia formularza:
| Ustawienie |
Sugerowana wartość |
opis |
|
Subskrypcja |
Nazwa subskrypcji. |
Subskrypcja platformy Azure, która ma być używana dla serwera. Jeśli masz wiele subskrypcji, wybierz subskrypcję, w której chcesz naliczać opłaty za zasób. |
|
Grupa zasobów: |
myresourcegroup |
Nowa nazwa grupy zasobów lub istniejąca nazwa z subskrypcji. |
|
Region |
Region najbliżej Twoich użytkowników. |
Region jest używany do tworzenia grupy zasobów. |
|
Hasło administratora bazy danych Postgre SQL |
Nie dotyczy |
Hasło administratora serwera PostgreSQL. |
|
Hasło użytkownika postgre SQL |
Nie dotyczy |
Hasło użytkownika aplikacji PostgreSQL, który jest używany w aplikacji. |
Wybierz Przejrzyj i Utwórz, aby przejrzeć wybory. Następnie wybierz pozycję Utwórz , aby wdrożyć aplikację w usłudze Azure Spring Apps.
Na pasku narzędzi wybierz ikonę Powiadomienia (dzwonek), aby monitorować proces wdrażania. Po zakończeniu wdrażania możesz wybrać pozycję Przypnij do pulpitu nawigacyjnego, co spowoduje utworzenie kafelka dla tej usługi na pulpicie nawigacyjnym Azure Portal jako skrótu do strony Przegląd usługi. Wybierz pozycję Przejdź do zasobu, aby otworzyć stronę Przegląd usługi.
Wykonaj następujące kroki, aby utworzyć wystąpienie usługi Azure Spring Apps i wystąpienie usługi Azure Database for PostgreSQL:
3.1. Zaloguj się do witryny Azure Portal.
Przejdź do witryny Azure Portal i wprowadź swoje poświadczenia, aby zalogować się do portalu. Domyślny widok to pulpit nawigacyjny twojej usługi.
3.2. Tworzenie wystąpienia usługi Azure Spring Apps
Aby utworzyć wystąpienie usługi, wykonaj następujące czynności:
Wybierz pozycję Utwórz zasób w rogu portalu.
Wybierz pozycję Compute>Azure Spring Apps.
Wypełnij formularz na karcie Podstawy . Użyj poniższej tabeli jako przewodnika do ukończenia formularza:
| Ustawienie |
Sugerowana wartość |
opis |
|
Subskrypcja |
Nazwa subskrypcji. |
Subskrypcja platformy Azure, która ma być używana dla serwera. Jeśli masz wiele subskrypcji, wybierz subskrypcję, w której chcesz naliczać opłaty za zasób. |
|
Grupa zasobów: |
myresourcegroup |
Nowa nazwa grupy zasobów lub istniejąca nazwa z subskrypcji. |
|
Nazwa/nazwisko |
myasa |
Unikatowa nazwa identyfikująca usługę Azure Spring Apps. Nazwa musi mieć długość od 4 do 32 znaków i może zawierać tylko małe litery, cyfry i łączniki. Pierwszy znak nazwy usługi musi być literą, a ostatni znak musi być literą lub cyfrą. |
|
Planowanie |
Podstawowa |
Plan taryfowy określa zasoby i koszty związane z instancją. |
|
Region |
Region najbliżej Twoich użytkowników. |
Lokalizacja znajdująca się najbliżej użytkowników. |
|
Strefowo nadmiarowy |
Niezaznaczone |
Czy utworzyć usługę Azure Spring Apps w strefie dostępności platformy Azure. Obecnie ta funkcja jest obsługiwana tylko w niektórych regionach. |
Wybierz Przejrzyj i Utwórz, aby przejrzeć wybory. Następnie wybierz pozycję Utwórz , aby aprowizować wystąpienie usługi Azure Spring Apps.
Na pasku narzędzi wybierz ikonę Powiadomienia (dzwonek), aby monitorować proces wdrażania. Po zakończeniu wdrażania możesz wybrać pozycję Przypnij do pulpitu nawigacyjnego, co spowoduje utworzenie kafelka dla tej usługi na pulpicie nawigacyjnym Azure Portal jako skrótu do strony Przegląd usługi. Wybierz pozycję Przejdź do zasobu, aby otworzyć stronę Przegląd usługi.
3.3. Przygotowywanie wystąpienia bazy danych PostgreSQL
Aby utworzyć serwer usługi Azure Database for PostgreSQL, wykonaj następujące czynności:
W witrynie Azure Portal wybierz polecenie Utwórz zasób.
Wybierz Bazy danych>Azure Database for PostgreSQL Flexible Server.
Wypełnij kartę Podstawy następującymi informacjami:
-
Nazwa serwera: my-demo-pgsql
-
Region: Wschodnie stany USA
-
Wersja bazy danych PostgreSQL: 14
-
Typ obciążenia: Programowanie
-
Włącz wysoką dostępność: niezaznaczone
-
Metoda uwierzytelniania: tylko uwierzytelnianie postgreSQL
-
Nazwa użytkownika administratora: myadmin
-
Hasło i potwierdź hasło: wprowadź hasło.
Skonfiguruj kartę Sieć , korzystając z następujących informacji:
-
Metoda łączności: dostęp publiczny (dozwolone adresy IP)
-
Zezwalaj na dostęp publiczny z dowolnej usługi platformy Azure na platformie Azure do tego serwera: wybrane
Wybierz pozycję Przejrzyj i utwórz , aby przejrzeć wybrane opcje, a następnie wybierz pozycję Utwórz , aby aprowizować serwer. Ta operacja może potrwać kilka minut.
W witrynie Azure Portal przejdź do serwera PostgreSQL.
Wybierz pozycję Bazy danych z menu nawigacji, aby utworzyć bazę danych — na przykład Todo.
3.4. Połącz instancję aplikacji z instancją PostgreSQL
Aby połączyć wystąpienia usługi, wykonaj następujące czynności:
Przejdź do wystąpienia usługi Azure Spring Apps w witrynie Azure Portal.
W okienku nawigacji otwórz okienko Aplikacje i wybierz pozycję Utwórz aplikację.
Na stronie Tworzenie aplikacji jako nazwę aplikacji użyj simple-todo-web i na platformę środowiska uruchomieniowego wybierz Java 17.
Wybierz pozycję Utwórz , aby zakończyć tworzenie aplikacji, a następnie wybierz aplikację, aby wyświetlić szczegóły.
Wybierz pozycję Łącznik usługi w okienku nawigacji, a następnie wybierz pozycję Utwórz , aby utworzyć nowe połączenie z usługą.
Wypełnij kartę Podstawy następującymi informacjami:
-
Typ usługi: DB for PostgreSQL Flexible Server
-
Nazwa połączenia: wypełniona automatycznie wygenerowaną nazwą, którą można zmodyfikować.
-
Subskrypcja: wybierz swoją subskrypcję.
-
Serwer elastyczny PostgreSQL: my-demo-pgsql
-
Baza danych PostgreSQL: wybierz utworzoną bazę danych.
-
Typ klienta: SpringBoot
Skonfiguruj kartę Dalej: Uwierzytelnianie przy użyciu następujących informacji:
-
Wybierz typ uwierzytelniania, którego chcesz użyć między usługą obliczeniową a usługą docelową.: Wybierz pozycję Parametry połączenia.
-
Kontynuuj z...: wybierz Poświadczenia bazy danych.
-
Nazwa użytkownika: myadmin
-
Hasło: wprowadź hasło.
Wybierz pozycję Dalej: Sieć. Użyj opcji domyślnej Skonfiguruj reguły zapory, aby włączyć dostęp do usługi docelowej.
Wybierz pozycję Dalej: Przejrzyj i utwórz , aby przejrzeć wybrane opcje, a następnie wybierz pozycję Utwórz , aby utworzyć połączenie.
Wykonaj następujące kroki, aby utworzyć wystąpienie usługi Azure Spring Apps i wystąpienie usługi Azure Database for PostgreSQL:
Użyj następującego polecenia, aby zalogować się na platformie Azure przy użyciu protokołu OAuth2. Zignoruj ten krok, jeśli jesteś już zalogowany.
azd auth login
Konsola generuje komunikaty podobne do następującego przykładu:
Logged in to Azure.
Użyj następującego polecenia, aby ustawić szablon ze standardowym planem:
azd env set PLAN standard
Użyj następującego polecenia, aby aprowizować infrastrukturę szablonu na platformie Azure:
azd provision
Poniższa lista zawiera opis interakcji poleceń:
-
Wybierz subskrypcję platformy Azure, która ma być używana: użyj strzałek do przeniesienia, wpisz polecenie , aby filtrować, a następnie naciśnij ENTER.
-
Wybierz lokalizację platformy Azure, która ma być używana: użyj strzałek do przeniesienia, wpisz, aby filtrować, a następnie naciśnij ENTER.
Konsola generuje komunikaty podobne do następującego przykładu:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Uwaga
Wykonanie tego polecenia może chwilę potrwać. Zobaczysz wskaźnik postępu, gdy aprowizuje zasoby platformy Azure.
4. Wdrażanie aplikacji w usłudze Azure Spring Apps
Przycisk Wdróż na platformie Azure w poprzedniej sekcji uruchamia portal Azure, który obejmuje wdrażanie aplikacji, więc nic więcej nie jest potrzebne.
Teraz możesz wdrożyć aplikację w usłudze Azure Spring Apps.
Aby wdrożyć wtyczkę Maven dla usługi Azure Spring Apps, wykonaj następujące kroki:
Przejdź do przykładowego katalogu projektu i uruchom następujące polecenie, aby skonfigurować aplikację w usłudze Azure Spring Apps:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
Poniższa lista zawiera opis interakcji poleceń:
-
Wybierz moduły podrzędne do skonfigurowania: wybierz moduł do skonfigurowania, a następnie wprowadź numer modułu SimpleTodo Web.
-
Logowanie OAuth2: autoryzuj logowanie do platformy Azure na podstawie protokołu OAuth2.
-
Wybierz subskrypcję: wybierz numer listy subskrypcji utworzonego wystąpienia usługi Azure Spring Apps, które jest domyślnie ustawione na pierwszą subskrypcję na liście. Jeśli używasz numeru domyślnego, naciśnij ENTER bezpośrednio.
-
Wybierz Azure Spring Apps: wybierz numer wystąpienia usługi Azure Spring Apps, które utworzyłeś. Jeśli używasz numeru domyślnego, naciśnij ENTER bezpośrednio.
-
Uwidocznij publiczny dostęp dla tej aplikacji?: Naciśnij y.
-
Potwierdź, aby zapisać wszystkie powyższe konfiguracje (Y/n): Naciśnij przycisk y. Jeśli naciśniesz n, konfiguracja nie zostanie zapisana w plikach POM.
Aby wdrożyć aplikację, użyj następującego polecenia:
./mvnw azure-spring-apps:deploy
Na poniższej liście opisano interakcję poleceń:
-
Logowanie OAuth2: musisz autoryzować logowanie do platformy Azure na podstawie protokołu OAuth2.
Po wykonaniu polecenia można zobaczyć następujące komunikaty dziennika, że wdrożenie zakończyło się pomyślnie:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
Wyjściowy adres URL aplikacji to punkt końcowy umożliwiający uzyskanie dostępu do todo aplikacji.
Teraz możesz wdrożyć aplikację w usłudze Azure Spring Apps. Wykonaj następujące kroki, aby spakować aplikację, aprowizować zasoby platformy Azure wymagane przez aplikację internetową, a następnie wdrożyć je w usłudze Azure Spring Apps:
Użyj następującego polecenia, aby spakować wdrożalną kopię aplikacji:
azd package
Konsola generuje komunikaty podobne do następującego przykładu:
SUCCESS: Your application was packaged for Azure in xx seconds.
Użyj następującego polecenia, aby wdrożyć kod aplikacji w nowo zaaprowizowanych zasobach:
azd deploy
Konsola generuje komunikaty podobne do następującego przykładu:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Wyjściowy punkt końcowy to punkt końcowy umożliwiający uzyskanie dostępu todo do aplikacji.
Uwaga
Możesz również użyć azd up polecenia , aby połączyć poprzednie trzy polecenia: azd package (pakuje wdrażaną kopię aplikacji), azd provision (aprowizuje zasoby platformy Azure) i azd deploy (wdraża kod aplikacji). Aby uzyskać więcej informacji, zobacz Azure-Samples/ASA-Samples-Web-Application.
5. Weryfikowanie aplikacji internetowej
Teraz możesz uzyskać dostęp do wdrożonej aplikacji, aby sprawdzić, czy działa.
Aby sprawdzić poprawność, wykonaj następujące czynności:
Po zakończeniu wdrażania adres URL aplikacji można znaleźć w danych wyjściowych wdrożenia:
Uzyskaj dostęp do aplikacji przy użyciu adresu URL aplikacji wyjściowej. Strona powinna pojawić się tak, jak pokazano na hoście lokalnym.
Sprawdź szczegóły poszczególnych wdrożeń zasobów, które są przydatne do badania problemów z wdrażaniem.
Uzyskaj dostęp do aplikacji przy użyciu adresu URL aplikacji wyjściowej. Strona powinna pojawić się tak, jak pokazano na hoście lokalnym.
Aby sprawdzić poprawność, wykonaj następujące czynności:
Po zakończeniu wdrażania możesz uzyskać dostęp do aplikacji przy użyciu następującego adresu URL: https://${AZURE_SPRING_APPS_NAME}-${APP_NAME}.azuremicroservices.io/. Strona powinna pojawić się tak, jak pokazano na hoście lokalnym.
Aby sprawdzić dziennik aplikacji w celu zbadania dowolnego problemu z wdrożeniem, użyj następującego polecenia:
az spring app logs \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME}
Aby sprawdzić poprawność, wykonaj następujące czynności:
Po zakończeniu wdrażania znajdź adres URL aplikacji z danych wyjściowych wdrożenia:
Uzyskaj dostęp do adresu URL aplikacji. Strona powinna pojawić się tak, jak pokazano na hoście lokalnym.
Sprawdź szczegóły poszczególnych wdrożeń zasobów, które są przydatne do badania problemów z wdrażaniem.
Uzyskaj dostęp do aplikacji przy użyciu adresu URL aplikacji wyjściowej. Strona powinna pojawić się tak, jak pokazano na hoście lokalnym.
Uzyskaj dostęp do aplikacji przy użyciu wyjściowego punktu końcowego. Strona powinna pojawić się tak, jak pokazano na hoście lokalnym.
6. Czyszczenie zasobów
Pamiętaj, aby usunąć zasoby utworzone w tym artykule, gdy nie są już potrzebne. Możesz usunąć grupę zasobów platformy Azure zawierającą wszystkie zasoby w tej grupie.
Wykonaj następujące kroki, aby usunąć całą grupę zasobów, w tym nowo utworzone wystąpienie usługi:
Znajdź grupę zasobów w witrynie Azure Portal. W menu nawigacji wybierz pozycję Grupy zasobów, a następnie wybierz nazwę grupy zasobów.
Na stronie Grupa zasobów wybierz pozycję Usuń. Wprowadź nazwę grupy zasobów w polu tekstowym, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
Wykonaj następujące kroki, aby usunąć całą grupę zasobów, w tym nowo utworzone wystąpienie usługi:
Znajdź grupę zasobów w witrynie Azure Portal. W menu nawigacji wybierz pozycję Grupy zasobów, a następnie wybierz nazwę grupy zasobów.
Na stronie Grupa zasobów wybierz pozycję Usuń. Wprowadź nazwę grupy zasobów w polu tekstowym, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
Użyj następującego polecenia, aby usunąć wszystkie zasoby platformy Azure używane w tej przykładowej aplikacji:
azd down
Na poniższej liście opisano interakcję poleceń:
-
Łączna liczba zasobów do usunięcia: <suma zasobów>, czy na pewno chcesz kontynuować?: Naciśnij y.
Konsola generuje komunikaty podobne do następującego przykładu:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Wykonaj następujące kroki, aby usunąć całą grupę zasobów, w tym nowo utworzone wystąpienie usługi:
Znajdź grupę zasobów w witrynie Azure Portal. W menu nawigacji wybierz pozycję Grupy zasobów, a następnie wybierz nazwę grupy zasobów.
Na stronie Grupa zasobów wybierz pozycję Usuń. Wprowadź nazwę grupy zasobów w polu tekstowym, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
Wykonaj następujące kroki, aby usunąć całą grupę zasobów, w tym nowo utworzone wystąpienie usługi:
Znajdź grupę zasobów w witrynie Azure Portal. W menu nawigacji wybierz pozycję Grupy zasobów, a następnie wybierz nazwę grupy zasobów.
Na stronie Grupa zasobów wybierz pozycję Usuń. Wprowadź nazwę grupy zasobów w polu tekstowym, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
Użyj następującego polecenia, aby usunąć całą grupę zasobów, w tym nowo utworzoną usługę:
az group delete --name ${RESOURCE_GROUP}
7. Następne kroki
Aby uzyskać więcej informacji, zobacz następujące artykuły: