Guia de início rápido: integrar com o Banco de Dados do Azure para PostgreSQL e o Cache do Azure para Redis
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a:❌ Basic/Standard ✔️ Enterprise
Este guia de início rápido mostra como provisionar e preparar um Banco de Dados do Azure para PostgreSQL e um Cache do Azure para Redis a serem usados com aplicativos executados no plano do Azure Spring Apps Enterprise.
Este artigo usa esses serviços para fins de demonstração. Você pode conectar seu aplicativo a qualquer serviço de suporte de sua escolha usando instruções semelhantes às da seção Criar conectores de serviço mais adiante neste artigo.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Compreenda e cumpra a secção Requisitos do plano Enterprise no Azure Marketplace.
- A CLI do Azure versão 2.45.0 ou superior.
- Git.
- JQ
- A extensão do plano do Azure Spring Apps Enterprise. Use o comando a seguir para remover versões anteriores e instalar a extensão de plano Enterprise mais recente. Se você instalou
spring-cloud
a extensão anteriormente, desinstale-a para evitar incompatibilidades de configuração e versão.az extension add --upgrade --name spring az extension remove --name spring-cloud
- Conclua as etapas em Criar e implantar aplicativos no Azure Spring Apps usando o plano Enterprise.
Serviços de prestação
Para adicionar persistência ao aplicativo, crie um Cache do Azure para Redis e um Banco de Dados do Azure para Servidor Flexível PostgreSQL.
As etapas a seguir descrevem como provisionar uma instância do Cache do Azure para Redis e um Banco de Dados do Azure para Servidor Flexível PostgreSQL usando a CLI do Azure.
Crie variáveis para manter os nomes dos recursos usando os comandos a seguir. Certifique-se de substituir os espaços reservados pelos seus próprios valores.
export REGION=<region> export RESOURCE_GROUP=<resource-group-name> export REDIS_CACHE_NAME=<redis-cache-name> export POSTGRES_SERVER_NAME=<postgres-server-name> export POSTGRES_USERNAME=<postgres-username> export POSTGRES_PASSWORD=<postgres-password> export AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME=<Azure-Spring-Apps-service-instance-name>
Use o seguinte comando para criar uma instância do Cache do Azure para Redis:
az redis create \ --resource-group ${RESOURCE_GROUP} \ --name ${REDIS_CACHE_NAME} \ --location ${REGION} \ --sku Basic \ --vm-size c0
Nota
A criação do Cache Redis leva aproximadamente 20 minutos.
Use o seguinte comando para criar um Banco de Dados do Azure para a instância do Servidor Flexível PostgreSQL:
az postgres flexible-server create \ --resource-group ${RESOURCE_GROUP} \ --name ${POSTGRES_SERVER_NAME} \ --location ${REGION} \ --admin-user ${POSTGRES_USERNAME} \ --admin-password ${POSTGRES_PASSWORD} \ --yes
Use o seguinte comando para permitir conexões de outros Serviços do Azure com o Servidor Flexível recém-criado:
az postgres flexible-server firewall-rule create \ --rule-name allAzureIPs \ --name ${POSTGRES_SERVER_NAME} \ --resource-group ${RESOURCE_GROUP} \ --start-ip-address 0.0.0.0 \ --end-ip-address 0.0.0.0
Use o seguinte comando para habilitar a
uuid-ossp
extensão para o Servidor Flexível recém-criado:az postgres flexible-server parameter set \ --resource-group ${RESOURCE_GROUP} \ --name azure.extensions \ --value uuid-ossp \ --server-name ${POSTGRES_SERVER_NAME}
Use o seguinte comando para criar um banco de dados para o aplicativo Order Service:
az postgres flexible-server db create \ --resource-group ${RESOURCE_GROUP} \ --server-name ${POSTGRES_SERVER_NAME} \ --database-name acmefit_order
Use o seguinte comando para criar um banco de dados para o aplicativo Serviço de Catálogo:
az postgres flexible-server db create \ --resource-group ${RESOURCE_GROUP} \ --server-name ${POSTGRES_SERVER_NAME} \ --database-name acmefit_catalog
Criar conectores de serviço
As etapas a seguir mostram como vincular aplicativos em execução no plano do Azure Spring Apps Enterprise a outros serviços do Azure usando os Conectores de Serviço.
Use o seguinte comando para criar um conector de serviço para o Banco de Dados do Azure para PostgreSQL para o aplicativo Order Service:
az spring connection create postgres-flexible \ --resource-group ${RESOURCE_GROUP} \ --target-resource-group ${RESOURCE_GROUP} \ --connection order_service_db \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --app order-service \ --deployment default \ --server ${POSTGRES_SERVER_NAME} \ --database acmefit_order \ --secret name=${POSTGRES_USERNAME} secret=${POSTGRES_PASSWORD} \ --client-type dotnet
Use o seguinte comando para criar um conector de serviço para o Banco de Dados do Azure para PostgreSQL para o aplicativo Serviço de Catálogo:
az spring connection create postgres-flexible \ --resource-group ${RESOURCE_GROUP} \ --target-resource-group ${RESOURCE_GROUP} \ --connection catalog_service_db \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --app catalog-service \ --deployment default \ --server ${POSTGRES_SERVER_NAME} \ --database acmefit_catalog \ --secret name=${POSTGRES_USERNAME} secret=${POSTGRES_PASSWORD} \ --client-type springboot
Use o seguinte comando para criar um conector de serviço para o Cache Redis do Azure para o aplicativo Cart Service:
az spring connection create redis \ --resource-group ${RESOURCE_GROUP} \ --target-resource-group ${RESOURCE_GROUP} \ --connection cart_service_cache \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --app cart-service \ --deployment default \ --server ${REDIS_CACHE_NAME} \ --database 0 \ --client-type java
Use o seguinte comando para recarregar o aplicativo Serviço de Catálogo para carregar as novas propriedades de conexão:
az spring app restart \ --resource-group ${RESOURCE_GROUP} \ --name catalog-service \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME}
Use o seguinte comando para recuperar as informações de conexão do banco de dados:
export POSTGRES_CONNECTION_STR=$(az spring connection show \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --deployment default \ --connection order_service_db \ --app order-service \ | jq '.configurations[0].value' -r)
Nota
Se você receber uma exceção de verificação SSL com o Nofsql 6.0, certifique-se de alterar o modo SSL de
Require
paraVerifyFull
. Para obter mais informações, consulte as Notas de versão do Npgsql 6.0.Use o seguinte comando para atualizar o aplicativo Order Service:
az spring app update \ --resource-group ${RESOURCE_GROUP} \ --name order-service \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --env "DatabaseProvider=Postgres" "ConnectionStrings__OrderContext=${POSTGRES_CONNECTION_STR}"
Use os seguintes comandos para recuperar informações de conexão do Redis e atualizar o aplicativo Cart Service:
export REDIS_CONN_STR=$(az spring connection show \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --deployment default \ --app cart-service \ --connection cart_service_cache | jq -r '.configurations[0].value') export GATEWAY_URL=$(az spring gateway show \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} | jq -r '.properties.url') az spring app update \ --resource-group ${RESOURCE_GROUP} \ --name cart-service \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --env "CART_PORT=8080" "REDIS_CONNECTIONSTRING=${REDIS_CONN_STR}" "AUTH_URL=https://${GATEWAY_URL}"
Aceda à aplicação
Recupere a URL do Spring Cloud Gateway e explore o aplicativo atualizado. Você pode usar a saída do seguinte comando para explorar o aplicativo:
export GATEWAY_URL=$(az spring gateway show \
--resource-group ${RESOURCE_GROUP} \
--service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} | jq -r '.properties.url')
echo "https://${GATEWAY_URL}"
Clean up resources (Limpar recursos)
Se você planeja continuar trabalhando com guias de início rápido e tutoriais subsequentes, convém deixar esses recursos no lugar. Quando não for mais necessário, exclua o grupo de recursos, que exclui os recursos do grupo de recursos. Para excluir o grupo de recursos usando a CLI do Azure, use os seguintes comandos:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Próximos passos
Continue para qualquer um dos seguintes inícios rápidos opcionais: