Samouczek: wdrażanie aplikacji w usłudze Azure Spring Apps i łączenie jej z usługą Azure Database for MySQL — elastyczny serwer przy użyciu łącznika usługi
W tym samouczku wykonasz następujące zadania przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Obie metody zostały wyjaśnione w poniższych procedurach.
- Aprowizuj wystąpienie usługi Azure Spring Apps
- Tworzenie i wdrażanie aplikacji w usłudze Azure Spring Apps
- Integrowanie usługi Azure Spring Apps z usługą Azure Database for MySQL z łącznikiem usługi
Ostrzeżenie
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze wymaga bardzo wysokiego poziomu zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Tego przepływu należy używać tylko wtedy, gdy inne bezpieczniejsze przepływy, takie jak tożsamości zarządzane, nie są opłacalne.
Wymagania wstępne
- Instalowanie zestawu JDK 8 lub JDK 11
- Tworzenie konta w celu uzyskania subskrypcji platformy Azure
- Zainstaluj interfejs wiersza polecenia platformy Azure w wersji 2.0.67 lub nowszej i zainstaluj rozszerzenie Azure Spring Apps za pomocą polecenia :
az extension add --name spring
Aprowizuj wystąpienie usługi Azure Spring Apps
Poniższa procedura używa rozszerzenia interfejsu wiersza polecenia platformy Azure do aprowizowania wystąpienia usługi Azure Spring Apps.
Zaktualizuj interfejs wiersza polecenia platformy Azure za pomocą rozszerzenia Azure Spring Apps.
az extension update --name spring
Zaloguj się do interfejsu wiersza polecenia platformy Azure i wybierz aktywną subskrypcję.
az login az account list -o table az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
Utwórz grupę zasobów zawierającą aplikację i wystąpienie usługi Azure Spring Apps.
az group create --name ServiceConnector-tutorial-mysqlf --location eastus
Utwórz wystąpienie usługi Azure Spring Apps. Jego 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 wystąpienia usługi Azure Spring Apps musi być literą, a ostatni znak musi być literą lub cyfrą.
az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
Tworzenie elastycznego serwera usługi Azure Database for MySQL
Utwórz wystąpienie serwera elastycznego MySQL. W poniższym poleceniu zastąp <admin-username>
wartości i <admin-password>
poświadczeniami, aby utworzyć użytkownika administratora dla serwera elastycznego MySQL. Nazwa użytkownika administratora nie może być azure_superuser, azure_pg_admin, administrator, administrator, główny, gość lub publiczny. Nie może ona zaczynać się od pg_. Hasło musi zawierać od 8 do 128 znaków z trzech z następujących kategorii: wielkie litery angielskie, małe litery angielskie, cyfry i znaki inne niż alfanumeryczne (na przykład !
, , #
%
). Hasło nie może zawierać username
.
az mysql flexible-server create \
--resource-group ServiceConnector-tutorial-mysqlf \
--name mysqlf-server \
--database-name mysqlf-db \
--admin-user <admin-username> \
--admin-password <admin-password>
Serwer jest tworzony z następującymi wartościami domyślnymi, chyba że zostaną one ręcznie zastąpione:
Ustawienie | Wartość domyślna | Opis |
---|---|---|
nazwa-serwera | Wygenerowany przez system | Unikatowa nazwa, która identyfikuje serwer usługi Azure Database for MySQL. |
sku-name | GP_Gen5_2 | Nazwa jednostki SKU. Jest zgodna z konwencją {warstwa cenowa}_{generacja obliczeniowa}_{rdzenie wirtualne} w skrócie. Wartość domyślna to serwer Ogólnego przeznaczenia Gen5 z 2 rdzeniami wirtualnymi. Aby uzyskać więcej informacji na temat cen, przejdź do naszej strony cennika. |
backup-retention | 7 | Jak długo należy przechowywać kopię zapasową. Jednostka to dni. |
geo-redundant-backup | Disabled | Określa, czy dla tego serwera powinny być włączone kopie zapasowe geograficznie nadmiarowe. |
lokalizacja | westus2 | Lokalizacja platformy Azure dla serwera. |
ssl-enforcement | Włączona | Określa, czy protokół SSL powinien być włączony, czy nie dla tego serwera. |
storage-size | 5120 | Pojemność magazynu serwera (w megabajtach). |
version | 5.7 | Wersja główna MySQL. |
Uwaga
jednostka SKU Standard_B1ms jest używana domyślnie. Aby uzyskać szczegółowe informacje o cenach, zapoznaj się z cennikiem usługi Azure Database for MySQL.
Uwaga
Aby uzyskać więcej informacji na temat az mysql flexible-server create
polecenia i jego dodatkowych parametrów, zobacz dokumentację interfejsu wiersza polecenia platformy Azure.
Kompilowanie i wdrażanie aplikacji
Utwórz aplikację z przypisanym publicznym punktem końcowym. Jeśli podczas generowania projektu usługi Azure Spring Apps wybrano język Java w wersji 11, dołącz
--runtime-version=Java_11
przełącznik.az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
Uruchom polecenie , aby połączyć aplikację
az spring connection create
wdrożona w usłudze Azure Spring Apps z bazą danych serwera elastycznego MySQL. Zastąp symbole zastępcze poniżej własnymi informacjami.az spring connection create mysql-flexible \ --resource-group ServiceConnector-tutorial-mysqlf \ --service my-azure-spring \ --app hellospring \ --target-resource-group ServiceConnector-tutorial-mysqlf \ --server mysqlf-server \ --database mysqlf-db \ --secret name=<admin-username> secret=<admin-secret>
Ustawienie opis --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 elastyczny MySQL, z którym chcesz nawiązać połączenie --database
Nazwa utworzonej wcześniej bazy danych. --secret name
Nazwa użytkownika serwera elastycznego MySQL. --secret
Hasło serwera elastycznego MySQL. Uwaga
Jeśli zostanie wyświetlony komunikat o błędzie "Subskrypcja nie jest zarejestrowana do korzystania z microsoft.ServiceLinker", uruchom polecenie
az provider register -n Microsoft.ServiceLinker
, aby zarejestrować dostawcę zasobów łącznika usługi i ponownie uruchomić polecenie połączenia.Klonowanie przykładowego kodu
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
Skompiluj projekt przy użyciu narzędzia Maven.
cd serviceconnector-springcloud-mysql-springboot mvn clean package -DskipTests
Wdróż plik JAR dla aplikacji
target/demo-0.0.1-SNAPSHOT.jar
.az spring app deploy \ --name hellospring \ --service my-azure-spring \ --resource-group ServiceConnector-tutorial-mysqlf \ --artifact-path target/demo-0.0.1-SNAPSHOT.jar
Wykonaj zapytanie o stan aplikacji po wdrożeniu za pomocą następującego polecenia.
az spring app list --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
Powinny zostać wyświetlone następujące dane wyjściowe:
Name Location ResourceGroup Public Url Production Deployment Provisioning State CPU Memory Running Instance Registered Instance Persistent Storage Bind Service Registry Bind Application Configuration Service ----------- ---------- -------------------------------- --------------------------------------------------------- ----------------------- -------------------- ----- -------- ------------------ --------------------- -------------------- ----------------------- ---------------------------------------- hellospring eastus ServiceConnector-tutorial-mysqlf https://my-azure-spring-hellospring.azuremicroservices.io default Succeeded 1 1Gi 1/1 0/1 - -
Następne kroki
Postępuj zgodnie z samouczkami wymienionymi poniżej, aby dowiedzieć się więcej o łączniku usługi.