Samouczek: wdrażanie aplikacji w usłudze Azure Spring Apps i łączenie jej z serwerem elastycznym Azure Database for MySQL przy użyciu łącznika usługi
W tym samouczku wykonasz następujące zadania przy użyciu 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 za pomocą łącznika usługi
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 zawierać 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 serwera elastycznego Azure Database for MySQL
Utwórz wystąpienie serwera elastycznego MySQL. W poniższym poleceniu zastąp <admin-username>
ciąg 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żna rozpocząć 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 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. |
location | westus2 | Lokalizacja platformy Azure dla serwera. |
ssl-enforcement | Enabled (Włączony) | Niezależnie od tego, czy protokół SSL powinien być włączony, czy nie dla tego serwera. |
storage-size | 5120 | Pojemność magazynu serwera (w megabajtach). |
Wersja | 5.7 | Wersja główna MySQL. |
Uwaga
jednostka SKU Standard_B1ms jest domyślnie używana. Aby uzyskać szczegółowe informacje o cenach, zapoznaj się z Azure Database for MySQL cennikiem.
Uwaga
Aby uzyskać więcej informacji na temat polecenia i jego dodatkowych parametrów, zobacz dokumentację interfejsu az mysql flexible-server create
wiersza polecenia platformy Azure.
Kompilowanie i wdrażanie aplikacji
Utwórz aplikację z przypisanym publicznym punktem końcowym. W przypadku wybrania języka Java w wersji 11 podczas generowania projektu usługi Azure Spring Apps 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 poniższe symbole zastępcze 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 programu 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.