Tutorial: Implantar um aplicativo no Azure Spring Apps e conectá-lo ao Banco de Dados do Azure para Servidor Flexível MySQL usando o Service Connector
Neste tutorial, você concluirá as seguintes tarefas usando o portal do Azure ou a CLI do Azure. Ambos os métodos são explicados nos procedimentos a seguir.
- Provisionar uma instância do Azure Spring Apps
- Criar e implantar aplicativos no Azure Spring Apps
- Integrar o Azure Spring Apps com o Banco de Dados do Azure para MySQL com o Service Connector
Aviso
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento requer um grau muito alto de confiança no aplicativo e acarreta riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.
Pré-requisitos
- Instalar o JDK 8 ou JDK 11
- Inscreva-se para uma assinatura do Azure
- Instale a CLI do Azure versão 2.0.67 ou superior e instale a extensão Azure Spring Apps com o comando:
az extension add --name spring
Provisionar uma instância do Azure Spring Apps
O procedimento a seguir usa a extensão da CLI do Azure para provisionar uma instância do Azure Spring Apps.
Atualize a CLI do Azure com a extensão Azure Spring Apps.
az extension update --name spring
Entre na CLI do Azure e escolha sua assinatura ativa.
az login az account list -o table az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
Crie um grupo de recursos para conter seu aplicativo e uma instância do serviço Azure Spring Apps.
az group create --name ServiceConnector-tutorial-mysqlf --location eastus
Crie uma instância do Azure Spring Apps. Seu nome deve ter entre 4 e 32 caracteres e só pode conter letras minúsculas, números e hífenes. O primeiro caractere do nome da instância do Azure Spring Apps deve ser uma letra e o último caractere deve ser uma letra ou um número.
az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
Criar um Banco de Dados do Azure para o Servidor Flexível MySQL
Crie uma instância do MySQL Flexible Server. No comando abaixo, substitua <admin-username>
e <admin-password>
por credenciais de sua escolha para criar um usuário administrador para o servidor flexível MySQL. O nome de usuário admin não pode ser azure_superuser, azure_pg_admin, admin, administrator, root, guest ou public. Não pode começar por pg_. A senha deve conter de 8 a 128 caracteres de três das seguintes categorias: letras maiúsculas em inglês, letras minúsculas em inglês, números e caracteres não alfanuméricos (por exemplo, !
, , #
%
). A palavra-passe não pode conter username
ficheiros .
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>
O servidor é criado com os seguintes valores padrão, a menos que você os substitua manualmente:
Definição | Valor predefinido | Descrição |
---|---|---|
server-name | Sistema gerado | Um nome exclusivo que identifica a sua Base de Dados do Azure para o servidor MySQL. |
sku-name | GP_Gen5_2 | O nome de SKU. Segue a convenção {pricing tier}_{compute generation}_{vCores} em taquigrafia. O padrão é um servidor Gen5 de uso geral com 2 vCores. Para mais informações sobre os preços, aceda à nossa página de preços. |
backup-retention | 7 | Quando tempo se deve reter uma cópia de segurança. A unidade é dias. |
geo-redundant-backup | Desativado | Se as cópias de segurança georredundantes devem estar ativadas para este servidor ou não. |
localização | westus2 | A localização do Azure para o servidor. |
ssl-enforcement | Ativado(a) | Se o SSL deve ser habilitado ou não para este servidor. |
storage-size | 5120 | A capacidade de armazenamento do servidor (a unidade é megabytes). |
versão | 5.7 | A versão principal do MySQL. |
Nota
Standard_B1ms SKU é usado por padrão. Consulte o Banco de Dados do Azure para obter os preços do MySQL para obter detalhes de preços.
Nota
Para obter mais informações sobre o az mysql flexible-server create
comando e seus parâmetros adicionais, consulte a documentação da CLI do Azure.
Criar e implementar a aplicação
Crie o aplicativo com o ponto de extremidade público atribuído. Se você selecionou Java versão 11 ao gerar o projeto Azure Spring Apps, inclua o
--runtime-version=Java_11
switch.az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
Execute o
az spring connection create
comando para conectar o aplicativo implantado no Azure Spring Apps ao banco de dados do MySQL Flexible Server. Substitua os espaços reservados abaixo por suas próprias informações.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>
Definição Descrição --resource-group
O nome do grupo de recursos que contém o aplicativo hospedado pelo Azure Spring Apps. --service
O nome do recurso Azure Spring Apps. --app
O nome do aplicativo hospedado pelo Azure Spring Apps que se conecta ao serviço de destino. --target-resource-group
O nome do grupo de recursos com a conta de armazenamento. --server
O servidor flexível MySQL ao qual você deseja se conectar --database
O nome do banco de dados criado anteriormente. --secret name
O nome de usuário do MySQL Flexible Server. --secret
A senha do MySQL Flexible Server. Nota
Se vir a mensagem de erro "A subscrição não está registada para utilizar Microsoft.ServiceLinker", execute
az provider register -n Microsoft.ServiceLinker
para registar o fornecedor de recursos do Service Connector e execute novamente o comando de ligação.Código de exemplo de clonagem
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
Crie o projeto usando o Maven.
cd serviceconnector-springcloud-mysql-springboot mvn clean package -DskipTests
Implante o arquivo JAR para o aplicativo
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
Consulte o status do aplicativo após a implantação com o seguinte comando.
az spring app list --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
Deverá ver o seguinte resultado:
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 - -
Próximos passos
Siga os tutoriais listados abaixo para saber mais sobre o Service Connector.