Szybki start: integracja usługi Azure Spring Apps z usługą Azure Database for MySQL
Uwaga
Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.
Ten artykuł dotyczy: ✔️ Podstawowa/Standardowa ❌ Enterprise
Pet Clinic, jak wdrożono w domyślnej konfiguracji Szybki start: kompilowanie i wdrażanie aplikacji w usłudze Azure Spring Apps, używa bazy danych w pamięci (HSQLDB), która jest wypełniana danymi podczas uruchamiania. W tym przewodniku Szybki start wyjaśniono, jak aprowizować i przygotować wystąpienie usługi Azure Database for MySQL, a następnie skonfigurować aplikację Pet Clinic w usłudze Azure Spring Apps, aby używać jej jako trwałej bazy danych.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
Tworzenie wystąpienia usługi Azure Database for MySQL
Utwórz serwer elastyczny usługi Azure Database for MySQL przy użyciu polecenia az mysql flexible-server create . Zastąp symbole <database-name>
zastępcze , , <resource-group-name>
<MySQL-flexible-server-name>
, <admin-username>
i <admin-password>
nazwą nowej bazy danych, nazwą grupy zasobów, nazwą nowego serwera oraz nazwą użytkownika i hasłem administratora. Użyj cudzysłowów pojedynczych wokół wartości .admin-password
az mysql flexible-server create \
--resource-group <resource-group-name> \
--name <MySQL-flexible-server-name> \
--database-name <database-name> \
--public-access 0.0.0.0 \
--admin-user <admin-username> \
--admin-password '<admin-password>'
Uwaga
Jednostka Standard_B1ms
SKU jest używana domyślnie. Aby uzyskać szczegółowe informacje o cenach, zobacz Cennik usługi Azure Database for MySQL.
Napiwek
Hasło powinno mieć długość co najmniej ośmiu znaków i zawierać co najmniej jedną wielką literę w języku angielskim, jedną małą literę, jedną cyfrę i jeden znak inny niż alfanumeryczny (!, $, #, %itd.).
Połączenie aplikacji do bazy danych MySQL
Użyj usługi Połączenie or, aby połączyć aplikację hostowaną w usłudze Azure Spring Apps z bazą danych MySQL.
Uwaga
Funkcja powiązania usługi w usłudze Azure Spring Apps jest przestarzała na rzecz usługi Połączenie or.
Jeśli używasz Połączenie usługi po raz pierwszy, uruchom polecenie az provider register, aby zarejestrować dostawcę zasobów usługi Połączenie or.
az provider register --namespace Microsoft.ServiceLinker
Uruchom polecenie ,
az spring connection create
aby utworzyć połączenie usługi międzycustomers-service
aplikacją a bazą danych Azure MySQL. Zastąp symbole zastępcze dla następujących ustawień własnymi informacjami. Użyj pojedynczych cudzysłowów wokół wartości dla serwerasecret
MySQL .Ustawienie opis --connection
Nazwa połączenia identyfikującego połączenie między aplikacją a usługą docelową. --resource-group
Nazwa grupy zasobów, która zawiera aplikację hostowaną przez usługę Azure Spring Apps. --service
Nazwa zasobu usługi Azure Spring Apps. --app
Nazwa aplikacji hostowanej przez usługę Azure Spring Apps, która łączy się z usługą docelową. --target-resource-group
Nazwa grupy zasobów z kontem magazynu. --server
Serwer MySQL, z którym chcesz nawiązać połączenie --database
Nazwa utworzonej wcześniej bazy danych. --secret name= secret=
Nazwa użytkownika i hasło serwera MySQL. az spring connection create mysql-flexible \ --resource-group <Azure-Spring-Apps-resource-group-name> \ --service <Azure-Spring-Apps-resource-name> \ --app customers-service \ --connection <mysql-connection-name-for-app> \ --target-resource-group <mySQL-server-resource-group> \ --server <server-name> \ --database <database-name> \ --secret name=<username> secret='<secret>'
Napiwek
az spring
Jeśli polecenie nie jest rozpoznawane przez system, sprawdź, czy zainstalowano rozszerzenie Azure Spring Apps, uruchamiając polecenieaz extension add --name spring
.
Powtórz te kroki, aby utworzyć połączenia dla customers-service
aplikacji , vets-service
i visits-service
.
Sprawdzanie połączenia z bazą danych MySQL
Uruchom polecenie , az spring connection validate
aby wyświetlić stan połączenia między customers-service
aplikacją a bazą danych Azure MySQL. Zastąp symbole zastępcze własnymi informacjami.
az spring connection validate \
--resource-group <Azure-Spring-Apps-resource-group-name> \
--service <Azure-Spring-Apps-resource-name> \
--app customers-service \
--connection <mysql-connection-name-for-app> \
--output table
Zostaną wyświetlone następujące dane wyjściowe:
Name Result Description
------------------------------------ -------- -------------
Target resource existence validated. success
Target service firewall validated. success
Username and password validated. success
Napiwek
Aby uzyskać więcej szczegółowych informacji na temat połączenia między usługami, usuń --output table
je z powyższego polecenia.
Powtórz te instrukcje, aby zweryfikować połączenia dla customers-service
aplikacji , vets-service
i visits-service
.
Aktualizowanie aplikacji w celu korzystania z profilu MySQL
W poniższej sekcji wyjaśniono, jak zaktualizować aplikacje w celu nawiązania połączenia z bazą danych MySQL.
Użyj następującego polecenia, aby ustawić zmienną środowiskową, aby aktywować mysql
profil aplikacji customers-service
:
az spring app update \
--resource-group <Azure-Spring-Apps-resource-group-name> \
--service <Azure-Spring-Apps-resource-name> \
--name customers-service \
--env SPRING_PROFILES_ACTIVE=mysql
Powtórz te instrukcje, aby zaktualizować konfigurację aplikacji dla customers-service
aplikacji , vets-service
i visits-service
.
Weryfikowanie aplikacji
Aby zweryfikować usługę Pet Clinic i wysyłać zapytania o rekordy z bazy danych MySQL w celu potwierdzenia połączenia z bazą danych, postępuj zgodnie z instrukcjami w sekcji Weryfikowanie usług w przewodniku Szybki start: kompilowanie i wdrażanie aplikacji w usłudze Azure Spring Apps.
Czyszczenie zasobów
Jeśli planujesz kontynuować pracę z kolejnymi przewodnikami Szybki start i samouczkami, możesz pozostawić te zasoby na miejscu. Gdy grupa zasobów nie będzie już potrzebna, usuń grupę zasobów przy użyciu polecenia az group delete , które usuwa zasoby w grupie zasobów. Zastąp <resource-group>
ciąg nazwą grupy zasobów.
az group delete --name <resource-group>