Guia de início rápido: criar e implantar aplicativos no Azure Spring Apps usando o plano Enterprise
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 criar e implantar aplicativos no Azure Spring Apps usando o plano Enterprise.
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.
- 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
Transferir a aplicação de exemplo
Use os seguintes comandos para baixar o exemplo:
git clone https://github.com/Azure-Samples/acme-fitness-store
cd acme-fitness-store
Provisionar uma instância de serviço
Use as etapas a seguir para provisionar uma instância de serviço do Azure Spring Apps.
Use o seguinte comando para entrar na CLI do Azure e escolher sua assinatura ativa:
az login az account list --output table az account set --subscription <subscription-ID>
Use o comando a seguir para aceitar os termos legais e as declarações de privacidade do plano Enterprise. Esta etapa é necessária somente se sua assinatura nunca tiver sido usada para criar uma instância do plano Enterprise do Azure Spring Apps.
az provider register --namespace Microsoft.SaaS az term accept \ --publisher vmware-inc \ --product azure-spring-cloud-vmware-tanzu-2 \ --plan asa-ent-hr-mtr
Selecione uma localização. Esta localização tem de ser uma localização que suporte o plano Azure Spring Apps Enterprise. Para obter mais informações, consulte as Perguntas frequentes do Azure Spring Apps.
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. O nome da sua instância de serviço do Azure Spring Apps deve ter entre 4 e 32 caracteres e pode conter apenas letras minúsculas, números e hífenes. O primeiro caractere do nome do serviço deve ser uma letra e o último caractere deve ser uma letra ou um número.
export LOCATION="<location>" export RESOURCE_GROUP="<resource-group-name>" export SERVICE_NAME="<Azure-Spring-Apps-service-instance-name>" export WORKSPACE_NAME="<workspace-name>"
Use o seguinte comando para criar um grupo de recursos:
az group create \ --name ${RESOURCE_GROUP} \ --location ${LOCATION}
Para obter mais informações sobre grupos de recursos, consulte O que é o Azure Resource Manager?.
Use o seguinte comando para criar uma instância de serviço do Azure Spring Apps:
az spring create \ --resource-group ${RESOURCE_GROUP} \ --name ${SERVICE_NAME} \ --sku enterprise \ --enable-application-configuration-service \ --enable-service-registry \ --enable-gateway \ --enable-api-portal
Use o seguinte comando para criar um Espaço de Trabalho do Log Analytics a ser usado para seu serviço Azure Spring Apps:
az monitor log-analytics workspace create \ --resource-group ${RESOURCE_GROUP} \ --workspace-name ${WORKSPACE_NAME} \ --location ${LOCATION}
Use os seguintes comandos para recuperar a ID do Recurso para seu Espaço de Trabalho do Log Analytics e a instância de serviço do Azure Spring Apps:
export LOG_ANALYTICS_RESOURCE_ID=$(az monitor log-analytics workspace show \ --resource-group ${RESOURCE_GROUP} \ --workspace-name ${WORKSPACE_NAME} \ --query id \ --output tsv) export AZURE_SPRING_APPS_RESOURCE_ID=$(az spring show \ --resource-group ${RESOURCE_GROUP} \ --name ${SERVICE_NAME} \ --query id \ --output tsv)
Use o seguinte comando para definir as configurações de diagnóstico para o Serviço Azure Spring Apps:
az monitor diagnostic-settings create \ --name "send-logs-and-metrics-to-log-analytics" \ --resource ${AZURE_SPRING_APPS_RESOURCE_ID} \ --workspace ${LOG_ANALYTICS_RESOURCE_ID} \ --logs '[ { "category": "ApplicationConsole", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } }, { "category": "SystemLogs", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } }, { "category": "IngressLogs", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } } ]' \ --metrics '[ { "category": "AllMetrics", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } } ]'
Use os seguintes comandos para criar aplicativos para
cart-service
,order-service
,payment-service
,catalog-service
efrontend
:az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name cart-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name order-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name payment-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name catalog-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name frontend \ --service ${SERVICE_NAME}
Externalizar a configuração com o Serviço de Configuração de Aplicativo
Use as etapas a seguir para configurar o Serviço de Configuração do Aplicativo.
Use o seguinte comando para criar um repositório de configuração para o Application Configuration Service:
az spring application-configuration-service git repo add \ --resource-group ${RESOURCE_GROUP} \ --name acme-fitness-store-config \ --service ${SERVICE_NAME} \ --label main \ --patterns "catalog/default,catalog/key-vault,identity/default,identity/key-vault,payment/default" \ --uri "https://github.com/Azure-Samples/acme-fitness-store-config"
Use os seguintes comandos para vincular aplicativos ao Serviço de Configuração de Aplicativo:
az spring application-configuration-service bind \ --resource-group ${RESOURCE_GROUP} \ --app payment-service \ --service ${SERVICE_NAME} az spring application-configuration-service bind \ --resource-group ${RESOURCE_GROUP} \ --app catalog-service \ --service ${SERVICE_NAME}
Ativar o registro e a descoberta do serviço
Para ativar o registro e a descoberta do serviço, use os seguintes comandos para vincular aplicativos ao Registro de Serviço:
az spring service-registry bind \
--resource-group ${RESOURCE_GROUP} \
--app payment-service \
--service ${SERVICE_NAME}
az spring service-registry bind \
--resource-group ${RESOURCE_GROUP} \
--app catalog-service \
--service ${SERVICE_NAME}
Implante aplicativos poliglotas com o Tanzu Build Service
Use as etapas a seguir para implantar e criar aplicativos. Para estas etapas, certifique-se de que o terminal está na pasta do projeto antes de executar quaisquer comandos.
Use o seguinte comando para criar um construtor personalizado no Tanzu Build Service:
az spring build-service builder create \ --resource-group ${RESOURCE_GROUP} \ --name quickstart-builder \ --service ${SERVICE_NAME} \ --builder-file azure-spring-apps-enterprise/resources/json/tbs/builder.json
Use o seguinte comando para criar e implantar o serviço de pagamento:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name payment-service \ --service ${SERVICE_NAME} \ --config-file-pattern payment/default \ --source-path apps/acme-payment \ --build-env BP_JVM_VERSION=17
Use o seguinte comando para criar e implantar o serviço de catálogo:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name catalog-service \ --service ${SERVICE_NAME} \ --config-file-pattern catalog/default \ --source-path apps/acme-catalog \ --build-env BP_JVM_VERSION=17
Use o seguinte comando para criar e implantar o serviço de pedido:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name order-service \ --service ${SERVICE_NAME} \ --builder quickstart-builder \ --source-path apps/acme-order
Use o seguinte comando para criar e implantar o serviço de carrinho:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name cart-service \ --service ${SERVICE_NAME} \ --builder quickstart-builder \ --env "CART_PORT=8080" \ --source-path apps/acme-cart
Use o seguinte comando para criar e implantar o aplicativo frontend:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name frontend \ --service ${SERVICE_NAME} \ --source-path apps/acme-shopping
Gorjeta
Para solucionar problemas de implantações, você pode usar o seguinte comando para obter streaming de logs em tempo real sempre que o aplicativo estiver em execução: az spring app logs --name <app name> --follow
.
Encaminhar solicitações para aplicativos com o Spring Cloud Gateway
Use as etapas a seguir para configurar o Spring Cloud Gateway e configurar rotas para aplicativos.
Use o seguinte comando para atribuir um ponto de extremidade ao Spring Cloud Gateway:
az spring gateway update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --assign-endpoint true
Use os seguintes comandos para configurar as informações da API do Spring Cloud Gateway:
export GATEWAY_URL=$(az spring gateway show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) az spring gateway update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --api-description "Fitness Store API" \ --api-title "Fitness Store" \ --api-version "v1.0" \ --server-url "https://${GATEWAY_URL}" \ --allowed-origins "*"
Use o seguinte comando para criar rotas para o serviço de carrinho:
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name cart-routes \ --service ${SERVICE_NAME} \ --app-name cart-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/cart-service.json
Use o seguinte comando para criar rotas para o serviço de pedido:
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name order-routes \ --service ${SERVICE_NAME} \ --app-name order-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/order-service.json
Use o seguinte comando para criar rotas para o serviço de catálogo:
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name catalog-routes \ --service ${SERVICE_NAME} \ --app-name catalog-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/catalog-service.json
Use o seguinte comando para criar rotas para o frontend:
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name frontend-routes \ --service ${SERVICE_NAME} \ --app-name frontend \ --routes-file azure-spring-apps-enterprise/resources/json/routes/frontend.json
Use os seguintes comandos para recuperar a URL do Spring Cloud Gateway:
export GATEWAY_URL=$(az spring gateway show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) echo "https://${GATEWAY_URL}"
Você pode abrir a URL de saída em um navegador para explorar o aplicativo implantado.
Navegue e experimente APIs com o API Portal
Use as etapas a seguir para configurar o API Portal.
Use o seguinte comando para atribuir um ponto de extremidade ao API Portal:
az spring api-portal update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --assign-endpoint true
Use os seguintes comandos para recuperar a URL do API Portal:
export PORTAL_URL=$(az spring api-portal show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) echo "https://${PORTAL_URL}"
Você pode abrir a URL de saída em um navegador para explorar as APIs do aplicativo.
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
Agora que você criou e implantou seu aplicativo com êxito, continue com qualquer um dos seguintes inícios rápidos opcionais: