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

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.

  1. Zaktualizuj interfejs wiersza polecenia platformy Azure za pomocą rozszerzenia Azure Spring Apps.

    az extension update --name spring
    
  2. 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>
    
  3. 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
    
  4. 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 createwiersza polecenia platformy Azure.

Kompilowanie i wdrażanie aplikacji

  1. 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
    
  2. 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.

  3. Klonowanie przykładowego kodu

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
    
  4. Skompiluj projekt przy użyciu narzędzia Maven.

    cd serviceconnector-springcloud-mysql-springboot
    mvn clean package -DskipTests 
    
  5. 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
    
  6. 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.