Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Nota
Os planos Basic, Standarde Enterprise entraram em um período de aposentadoria em 17 de março de 2025. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
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.
- 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-clouda 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
Descarregar 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-mtrSelecione 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-portalUse 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 o Identificador do Recurso do seu Espaço de Trabalho do Log Analytics e da 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-serviceefrontend: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 registo 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.jsonUse 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=17Use 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=17Use 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-orderUse 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-cartUse 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 trueUse 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.jsonUse 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.jsonUse 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.jsonUse 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.jsonUse 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 trueUse 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.
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: