Udostępnij za pośrednictwem


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

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 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

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

  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.