Início rápido: implantar o seu primeiro aplicativo Web nos Aplicativos Spring do Azure.
Artigo
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
Esse início rápido mostra como implantar um aplicativo Web do Spring Boot nos Aplicativos Spring do Azure. O projeto de exemplo é um aplicativo ToDo simples para adicionar tarefas, marcar quando elas forem concluídas e excluí-las. A captura de tela a seguir mostra o aplicativo:
Esse aplicativo é um aplicativo Web típico de três camadas com as seguintes camadas:
Um aplicativo Web Spring de back-end que usa o Spring Data JPA para acessar um banco de dados relacional.
Um banco de dados relacional. Para localhost, o aplicativo usa o Mecanismo de Banco de Dados H2. Para os Aplicativos Spring do Azure, o aplicativo usa o Banco de Dados do Azure para PostgreSQL. Para obter mais informações sobre Banco de Dados do Azure para PostgreSQL, confira Documentação do Servidor Flexível.
O diagrama a seguir mostra a arquitetura do sistema:
Este artigo fornece as seguintes opções para implantação em Aplicativos Spring do Azure:
A opção do portal do Azure é a maneira mais fácil e rápida de criar recursos e implantar aplicativos com um único clique. Essa opção é adequada para os desenvolvedores do Spring que desejam implantar rapidamente aplicativos nos serviços de nuvem do Azure.
A opção do portal do Azure + plug-in do Maven fornece uma maneira mais convencional de criar recursos e implantar aplicativos passo a passo. Esta opção é adequada para os desenvolvedores do Spring que estão usando os serviços de nuvem do Azure pela primeira vez.
A opção do Azure Developer CLI é a maneira mais eficiente de criar recursos e implantar aplicativos automaticamente por meio de comandos simples. O Azure Developer CLI usa um modelo para provisionar os recursos do Azure necessários e implantar o código do aplicativo. Essa opção é adequada para os desenvolvedores do Spring que estão familiarizados com os serviços de nuvem do Azure.
Este artigo fornece as seguintes opções para implantação em Aplicativos Spring do Azure:
A opção do portal do Azure é a maneira mais fácil e rápida de criar recursos e implantar aplicativos com um único clique. Essa opção é adequada para os desenvolvedores do Spring que desejam implantar rapidamente aplicativos nos serviços de nuvem do Azure.
A opção do portal do Azure + plug-in do Maven fornece uma maneira mais convencional de criar recursos e implantar aplicativos passo a passo. Esta opção é adequada para os desenvolvedores do Spring que estão usando os serviços de nuvem do Azure pela primeira vez.
A opção CLI do Azure é uma ferramenta de linha de comando poderosa para gerenciar recursos do Azure. Essa opção é adequada para os desenvolvedores do Spring que estão familiarizados com os serviços de nuvem do Azure.
CLI do Azure versão 2.45.0 ou superior. Use o seguinte comando para instalar a extensão do Aplicativos Spring do Azure: az extension add --name spring
Se você estiver implantando a instância do plano Enterprise do Aplicativos Spring do Azure pela primeira vez na assinatura de destino, confira a seção Requisitos do plano Enterprise no Azure Marketplace.
O botão Implantar no Azure na próxima seção inicia uma experiência do portal do Azure que baixa um pacote JAR da página de versões do ASA-Samples-Web-Application no GitHub. Nenhuma etapa de preparação local é necessária.
Embora você use o portal do Azure nas etapas posteriores, é necessário usar a linha de comando do Bash para preparar o projeto localmente. Use as etapas a seguir para clonar e executar o aplicativo localmente:
Use o seguinte comando para clonar o projeto de exemplo do GitHub:
Use o seguinte comando para compilar o projeto de amostra pelo Maven:
cd ASA-Samples-Web-Application
./mvnw clean package
Use o seguinte comando para executar o aplicativo de exemplo:
java -jar web/target/simple-todo-web.jar
Acesse http://localhost:8080 no navegador para acessar o aplicativo.
3. Preparar o ambiente de nuvem
Os principais recursos necessários para executar esse exemplo são uma instância dos Aplicativos Spring do Azure e uma instância do Banco de Dados do Azure para PostgreSQL. Essa seção fornece as etapas para criar esses recursos.
Esta seção usa um botão Implantar no Azure para iniciar uma experiência de implantação no portal do Azure. Essa experiência usa um modelo do ARM para criar recursos do Azure.
3.1. Entre no Portal do Azure
Acesse o portal do Azure e insira suas credenciais para entrar no portal. A exibição padrão é o painel de serviço.
3.2. Criar recursos do Azure
Use as seguintes etapas para criar todos os recursos do Azure dos quais o aplicativo depende:
Selecione o botão Implantar no Azure para iniciar a experiência de implantação no portal do Azure:
Preencha o formulário na guia Noções básicas. Use a tabela a seguir como uma guia para concluir o formulário:
Configuração
Valor sugerido
Descrição
Assinatura
O nome da sua assinatura.
A assinatura do Azure que você deseja usar para o servidor. Caso você tenha várias assinaturas, escolha a assinatura na qual você deseja receber a cobrança do recurso.
Grupo de recursos
myresourcegroup
Um novo nome do grupo de recursos ou um existente de sua assinatura.
Região
A região mais próxima de seus usuários.
A região é usada para criar o grupo de recursos.
Senha do Administrador do SQL do Postgre
N/D
A senha do administrador do Servidor do PostgreSQL.
Senha do usuário do SQL do Postgre
N/D
A senha do usuário do aplicativo do PostgreSQL, que é usada no aplicativo.
Selecione Revisar e criar para revisar suas seleções. Em seguida, selecione Criar para implantar o aplicativo nos Aplicativos Spring do Azure.
Na barra de ferramentas, selecione o ícone (sino) Notificações para monitorar o processo de implantação. Após a conclusão da implantação, selecione Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página de Visão geral do serviço. Selecione Ir para o recurso para abrir a página Visão geral do serviço.
3.1. Entre no Portal do Azure
No portal do Azure, insira suas credenciais e entre no portal. A exibição padrão é o painel de serviço.
3.2. Criar uma instância do Azure Spring Apps
Use as etapas a seguir para criar a instância de serviço:
Selecione Criar um recurso no canto do portal do Azure.
Selecione Computação>Aplicativos Spring do Azure.
Preencha o formulário Básico com as seguintes informações:
Configuração
Valor sugerido
Descrição
Assinatura
O nome da sua assinatura.
A assinatura do Azure que você deseja usar para o servidor. Caso você tenha várias assinaturas, escolha a assinatura na qual você deseja receber a cobrança do recurso.
Grupo de recursos
myresourcegroup
Um novo nome do grupo de recursos ou um existente de sua assinatura.
Nome
myasa
Um nome exclusivo que identifica o serviço Aplicativos Spring do Azure. O nome deve ter entre 4 e 32 caracteres e pode conter apenas letras minúsculas, números e hifens. O primeiro caractere do nome do serviço deve ser uma letra e o último caractere deve ser uma letra ou um número.
Plano
Empresa
O plano de preços determina os recursos e o custo associados à sua instância.
Região
A região mais próxima de seus usuários.
A localização mais próxima dos usuários.
Com Redundância de Zona
Não selecionado
A opção para criar o serviço do Aplicativos Spring do Azure em uma zona de disponibilidade do Azure. Atualmente, não há suporte para esse recurso em todas as regiões.
Plano IP de software
Pago conforme o uso
Pague conforme o uso com o Aplicativos Spring do Azure.
Terms
Selecionadas
A caixa de seleção do contrato associada à Oferta do Marketplace. Você precisa selecionar essa caixa de seleção.
Implantar um projeto de exemplo
Não selecionado
A opção para usar o aplicativo de exemplo interno.
Selecione Revisar e criar para revisar suas seleções. Em seguida, selecione Criar para provisionar a instância dos Aplicativos Spring do Azure.
Na barra de ferramentas, selecione o ícone (sino) Notificações para monitorar o processo de implantação. Após a conclusão da implantação, selecione Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página de Visão geral do serviço.
Selecione Ir para o recurso para ir para a página Visão geral dos Aplicativos Spring do Azure.
3.3. Preparar a instância do PostgreSQL
Use as etapas a seguir para criar um servidor do Banco de Dados do Azure para PostgreSQL:
No portal do Azure, selecione Criar um recurso.
Selecione Banco de Dados>Servidor Flexível do Banco de Dados do Azure para PostgreSQL.
Preencha a guia Básico com as seguintes informações:
Nome do servidor: my-demo-pgsql
Região: Leste dos EUA
Versão do PostgreSQL: 14
Tipo de carga de trabalho: Desenvolvimento
Habilitar alta disponibilidade: não selecionado
Método de autenticação: somente autenticação PostgreSQL
Nome de usuário do administrador: myadmin
Senha e Confirmar senha: Insira uma senha.
Configure a guia Rede usando as seguintes informações:
Método de conectividade: Acesso público (endereços IP permitidos)
Permitir acesso público de qualquer serviço do Azure a este servidor: selecionado
Selecione Examinar + criar para examinar suas seleções e, em seguida, selecione Criar para provisionar o servidor. Essa operação poderá levar alguns minutos.
Acesse o servidor PostgreSQL no portal do Azure.
Selecione Bancos de Dados no menu de navegação para criar um banco de dados – por exemplo, ToDo.
3.4. Conectar a instância de aplicativo à instância do PostgreSQL
Use as etapas a seguir para conectar as instâncias de serviço:
Vá para a sua instância do Azure Spring Apps no portal do Azure.
No painel de navegação, abra Aplicativos e selecione Criar aplicativo.
Na página Criar aplicativo, como nome do aplicativo, use simple-todo-web e deixe todos os outros campos com os valores padrão.
Selecione Criar para concluir a criação do aplicativo e selecione o aplicativo para exibir os detalhes.
Selecione Conector de serviço no painel de navegação e selecione Criar para criar uma nova conexão de serviço.
Preencha a guia Básico com as seguintes informações:
Tipo de serviço: servidor flexível do BD para PostgreSQL
Nome da conexão: preenchido com um nome gerado automaticamente que você pode modificar.
Assinatura: Selecione sua assinatura.
Servidor flexível do PostgreSQL: my-demo-pgsql
Banco de dados PostgreSQL: selecione o banco de dados criado por você.
Tipo de cliente: SpringBoot
Configure a guia Próximo: autenticação com as seguintes informações:
Observação
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito nesse procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, exige um grau muito alto de confiança no aplicativo e traz riscos não presentes em outros fluxos. Use esse fluxo somente quando opções mais seguras, como identidades gerenciadas para conexões sem senha ou sem chave, não forem viáveis. Para operações de máquinas locais, prefira identidades de usuário para conexões sem senha ou sem chave.
Selecione o tipo de autenticação que você gostaria de usar entre o serviço de computação e o serviço de destino: selecione Cadeia de conexão.
Continuar com...: selecione Credenciais do banco de dados
Nome de usuário: myadmin
Senha: insira a senha.
Selecione Avançar: Rede. Use a opção padrão Configurar regras de firewall para habilitar o acesso ao serviço de destino.
Selecione Próximo: examinar e criar para examinar suas seleções e, em seguida, selecione Criar para criar a conexão.
3.1. Fornecer nomes para cada recurso
Crie variáveis para manter os nomes dos recursos usando os comandos a seguir. Substitua os espaços reservados pelos seus valores.
Observação
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito nesse procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, exige um grau muito alto de confiança no aplicativo e traz riscos não presentes em outros fluxos. Use esse fluxo somente quando opções mais seguras, como identidades gerenciadas para conexões sem senha ou sem chave, não forem viáveis. Para operações de máquinas locais, prefira identidades de usuário para conexões sem senha ou sem chave.
Use as etapas a seguir para criar um novo grupo de recursos.
Use o comando a seguir para entrar na CLI do Azure.
az login
Use o seguinte comando para definir o local padrão.
az configure --defaults location=${LOCATION}
Use o comando a seguir para listar todas as assinaturas disponíveis para determinar a ID da assinatura a ser usada.
az account list --output table
Use o comando a seguir para definir a assinatura padrão:
az account set --subscription <subscription-ID>
Use o comando a seguir para criar um grupo de recursos.
az group create --resource-group ${RESOURCE_GROUP}
Use o comando a seguir para definir o grupo de recursos recém-criado como grupo de recursos padrão.
az configure --defaults group=${RESOURCE_GROUP}
3.3. Criar uma instância do Azure Spring Apps
Os Aplicativos Spring do Azure são usados para hospedar o aplicativo Web Spring. Crie uma instância dos Aplicativos Spring do Azure e um aplicativo dentro dela.
Use o seguinte comando para criar uma instância de serviço dos Aplicativos Spring do Azure.
az spring create --name ${AZURE_SPRING_APPS_NAME} --sku enterprise
Use o seguinte comando para criar um aplicativo na instância dos Aplicativos Spring do Azure.
az spring app create \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--assign-endpoint true
3.4. Preparar a instância do PostgreSQL
O aplicativo Web Spring usa H2 para o banco de dados no localhost e Banco de Dados do Azure para PostgreSQL para o banco de dados no Azure.
Use o seguinte comando para criar uma instância do PostgreSQL:
Observação
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito nesse procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, exige um grau muito alto de confiança no aplicativo e traz riscos não presentes em outros fluxos. Use esse fluxo somente quando opções mais seguras, como identidades gerenciadas para conexões sem senha ou sem chave, não forem viáveis. Para operações de máquinas locais, prefira identidades de usuário para conexões sem senha ou sem chave.
Especificar 0.0.0.0 permite o acesso público de todos os recursos implantados no Azure para acessar o servidor.
3.5. Conectar a instância de aplicativo à instância do PostgreSQL
Depois que a instância de aplicativo e a instância do PostgreSQL forem criadas, a instância de aplicativo não poderá acessar a instância do PostgreSQL diretamente. Siga as etapas a seguir para permitir que o aplicativo se conecte à instância do PostgreSQL.
Use o comando a seguir para obter o nome de domínio totalmente qualificado da instância do PostgreSQL:
Use o comando a seguir para fornecer as propriedades de spring.datasource. ao aplicativo por meio de variáveis de ambiente:
Observação
A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito nesse procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, exige um grau muito alto de confiança no aplicativo e traz riscos não presentes em outros fluxos. Use esse fluxo somente quando opções mais seguras, como identidades gerenciadas para conexões sem senha ou sem chave, não forem viáveis. Para operações de máquinas locais, prefira identidades de usuário para conexões sem senha ou sem chave.
az spring app update \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--env SPRING_DATASOURCE_URL="jdbc:postgresql://${PSQL_FQDN}:5432/${POSTGRESQL_DB}?sslmode=require" \
SPRING_DATASOURCE_USERNAME="${POSTGRESQL_ADMIN_USERNAME}" \
SPRING_DATASOURCE_PASSWORD="${POSTGRESQL_ADMIN_PASSWORD}"
4. Implantar o aplicativo em Aplicativos Spring do Azure
O botão Implantar no Azure na seção anterior inicia uma experiência do portal do Azure que inclui a implantação do aplicativo, portanto, nada mais é necessário.
A lista a seguir descreve as interações de comando:
Selecione módulos filho para configurar: selecione o módulo a ser configurado e insira o número do módulo SimpleTodo Web.
Logon do OAuth2: autorize a entrada no Azure com base no protocolo OAuth2.
Selecionar assinatura: selecione o número da lista de assinaturas da instância dos Aplicativos Spring do Azure que você criou, que usa como padrão a primeira assinatura na lista. Se você usar o número padrão, pressione Enter diretamente.
Usar o Aplicativos Spring do Azure existente: pressione S para usar a instância existente do Aplicativos Spring do Azure.
Selecionar os Aplicativos Spring do Azure para implantação: selecione o número da instância dos Aplicativos Spring do Azure que você criou. Se você usar o número padrão, pressione Enter diretamente.
Expor o acesso público a este aplicativo: pressione S.
Confirme para salvar todas as configurações acima: pressione S. Se você pressionar n, a configuração não será salva nos arquivos POM.
Use o seguinte comando para implantar o aplicativo:
./mvnw azure-spring-apps:deploy
A lista a seguir descreve a interação de comando:
Logon do OAuth2: autorize a entrada no Azure com base no protocolo OAuth2.
Depois que o comando for executado, você poderá pelas mensagens de log que a implantação foi bem-sucedida:
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-15-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
A Url do aplicativo de saída é o ponto de extremidade para acessar o aplicativo todo.
Agora que o ambiente de nuvem está preparado, o aplicativo está pronto para ser implantado. Use o seguinte comando para implantar o aplicativo:
az spring app deploy \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--artifact-path web/target/simple-todo-web.jar
O botão Implantar no Azure na próxima seção inicia uma experiência do portal do Azure que baixa um pacote JAR da página de versões do ASA-Samples-Web-Application no GitHub. Nenhuma etapa de preparação local é necessária.
Embora você use o portal do Azure nas etapas posteriores, é necessário usar a linha de comando do Bash para preparar o projeto localmente. Use as etapas a seguir para clonar e executar o aplicativo localmente:
Use o seguinte comando para clonar o projeto de exemplo do GitHub:
Insira um novo nome de ambiente: forneça um nome de ambiente, que é usado como um sufixo para o grupo de recursos criado para manter todos os recursos do Azure. Esse nome deve ser exclusivo em sua assinatura do Azure.
O console gera mensagens semelhantes ao exemplo a seguir:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Preparar o ambiente de nuvem
Os principais recursos necessários para executar esse exemplo são uma instância dos Aplicativos Spring do Azure e uma instância do Banco de Dados do Azure para PostgreSQL. Essa seção fornece as etapas para criar esses recursos.
Esta seção usa um botão Implantar no Azure para iniciar uma experiência de implantação no portal do Azure. Essa experiência usa um modelo do ARM para criar recursos do Azure.
3.1. Entre no Portal do Azure
Acesse o portal do Azure e insira suas credenciais para entrar no portal. A exibição padrão é o painel de serviço.
3.2. Criar recursos do Azure
Use as seguintes etapas para criar todos os recursos do Azure dos quais o aplicativo depende:
Selecione o botão Implantar no Azure para iniciar a experiência de implantação no portal do Azure:
Preencha o formulário na guia Noções básicas. Use a tabela a seguir como uma guia para concluir o formulário:
Configuração
Valor sugerido
Descrição
Assinatura
O nome da sua assinatura.
A assinatura do Azure que você deseja usar para o servidor. Caso você tenha várias assinaturas, escolha a assinatura na qual você deseja receber a cobrança do recurso.
Grupo de recursos
myresourcegroup
Um novo nome do grupo de recursos ou um existente de sua assinatura.
Região
A região mais próxima de seus usuários.
A região é usada para criar o grupo de recursos.
Senha do Administrador do PostgreSQL
N/D
A senha do administrador do Servidor do PostgreSQL.
Senha do usuário do PostgreSQL
N/D
A senha do usuário do aplicativo do PostgreSQL, que é usada no aplicativo.
Selecione Revisar e criar para revisar suas seleções. Em seguida, selecione Criar para implantar o aplicativo nos Aplicativos Spring do Azure.
Na barra de ferramentas, selecione o ícone (sino) Notificações para monitorar o processo de implantação. Após a conclusão da implantação, selecione Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página de Visão geral do serviço. Selecione Ir para o recurso para abrir a página Visão geral do serviço.
Use as seguintes etapas para criar uma instância dos Aplicativos Spring do Azure e uma instância do Banco de Dados do Azure para PostgreSQL:
3.1. Entre no Portal do Azure
No portal do Azure, insira suas credenciais e entre no portal. A exibição padrão é o painel de serviço.
3.2. Criar uma instância do Azure Spring Apps
Use as etapas a seguir para criar uma instância de serviço:
Selecione Criar um recurso no canto do portal.
Selecione Computação>Aplicativos Spring do Azure.
Preencha o formulário na guia Noções básicas. Use a tabela a seguir como uma guia para concluir o formulário:
Configuração
Valor sugerido
Descrição
Assinatura
O nome da sua assinatura.
A assinatura do Azure que você deseja usar para o servidor. Caso você tenha várias assinaturas, escolha a assinatura na qual você deseja receber a cobrança do recurso.
Grupo de recursos
myresourcegroup
Um novo nome do grupo de recursos ou um existente de sua assinatura.
Nome
myasa
Um nome exclusivo que identifica o serviço Aplicativos Spring do Azure. O nome deve ter entre 4 e 32 caracteres e pode conter apenas letras minúsculas, números e hifens. O primeiro caractere do nome do serviço deve ser uma letra e o último caractere deve ser uma letra ou um número.
Plano
Consumo padrão e dedicado (versão prévia)
O plano de preços determina o recurso e o custo associados à sua instância.
Região
A região mais próxima de seus usuários.
A localização mais próxima dos usuários.
Ambiente de Aplicativos de Contêiner
myacaenv
O ambiente é um limite seguro em torno de um ou mais aplicativos de contêiner que podem se comunicar entre si e compartilhar uma rede virtual, registro em log e configuração do Dapr.
(Opcional) Preencha a guia Noções Básicas com as seguintes informações para criar o Ambiente de Aplicativos de Contêiner:
Nome do ambiente: myacaenv
Plano: Consumo
Redundância de zona: Desabilitada
Em seguida, selecione Criar para criar o Ambiente de Aplicativos de Contêiner.
Selecione Revisar e criar para revisar suas seleções. Em seguida, selecione Criar para provisionar a instância dos Aplicativos Spring do Azure.
Na barra de ferramentas, selecione o ícone (sino) Notificações para monitorar o processo de implantação. Após a conclusão da implantação, selecione Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página de Visão geral do serviço. Selecione Ir para o recurso para abrir a página Visão geral do serviço.
3.3. Preparar a instância do PostgreSQL
Use as etapas a seguir para criar um servidor do Banco de Dados do Azure para PostgreSQL:
No portal do Azure, selecione Criar um recurso.
Selecione Banco de Dados>Servidor Flexível do Banco de Dados do Azure para PostgreSQL.
Preencha a guia Básico com as seguintes informações:
Nome do servidor: my-demo-pgsql
Região: Leste dos EUA
Versão do PostgreSQL: 14
Tipo de carga de trabalho: Desenvolvimento
Habilitar alta disponibilidade: não selecionado
Método de autenticação: somente autenticação PostgreSQL
Nome de usuário do administrador: myadmin
Senha e Confirmar senha: Insira uma senha.
Configure a guia Rede usando as seguintes informações:
Método de conectividade: Acesso público (endereços IP permitidos)
Permitir acesso público de qualquer serviço do Azure a este servidor: selecionado
Selecione Examinar + criar para examinar suas seleções e, em seguida, selecione Criar para provisionar o servidor. Essa operação poderá levar alguns minutos.
Acesse o servidor PostgreSQL no portal do Azure.
Selecione Bancos de Dados no menu de navegação para criar um banco de dados – por exemplo, ToDo.
3.4. Conectar a instância de aplicativo à instância do PostgreSQL
Use as etapas a seguir para conectar as instâncias de serviço:
Vá para a sua instância do Azure Spring Apps no portal do Azure.
No painel de navegação, abra Aplicativos e selecione Criar aplicativo.
Na página Criar aplicativo, como nome do aplicativo, use simple-todo-web e, em seguida, selecione Usar aplicativo de exemplo de início rápido para criar o aplicativo.
Selecione Criar para concluir a criação do aplicativo e selecione o aplicativo para exibir seus detalhes.
Selecione Configuração no painel de navegação e configure a propriedade a seguir na guia Variáveis de ambiente:
Selecione Salvar para salvar as propriedades da conexão.
Use as seguintes etapas para criar uma instância dos Aplicativos Spring do Azure e uma instância do Banco de Dados do Azure para PostgreSQL:
Use o seguinte comando para entrar no Azure com OAuth2. Ignore esta etapa caso já esteja conectado.
azd auth login
O console gera mensagens semelhantes ao exemplo a seguir:
Logged in to Azure.
Use o seguinte comando para provisionar a infraestrutura do modelo para o Azure:
azd provision
A lista a seguir descreve as interações de comando:
Selecione uma Assinatura do Azure para usar: use as setas para mover, digite para filtrar e pressione ENTER.
Selecione um local do Azure para usar: use as setas para mover, digite para filtrar e pressione ENTER.
O console gera mensagens semelhantes ao exemplo a seguir:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Observação
Esse comando pode demorar algum tempo para ser concluído. Você verá um indicador de progresso ao provisionar recursos do Azure.
4. Implantar o aplicativo em Aplicativos Spring do Azure
O botão Implantar no Azure na seção anterior inicia uma experiência do portal do Microsoft Azure que inclui a implantação do aplicativo, portanto, nada mais é necessário.
A lista a seguir descreve as interações de comando:
Selecione módulos filho para configurar: selecione o módulo a ser configurado e insira o número do módulo SimpleTodo Web.
Logon do OAuth2: autorize a entrada no Azure com base no protocolo OAuth2.
Selecionar assinatura: selecione o número da lista de assinaturas da instância dos Aplicativos Spring do Azure que você criou, que usa como padrão a primeira assinatura na lista. Se você usar o número padrão, pressione Enter diretamente.
Usar o Aplicativos Spring do Azure existente: pressione S para usar a instância existente do Aplicativos Spring do Azure.
Selecionar os Aplicativos Spring do Azure para implantação: selecione o número da instância dos Aplicativos Spring do Azure que você criou. Se você usar o número padrão, pressione Enter diretamente.
Expor o acesso público a este aplicativo: pressione S.
Confirme para salvar todas as configurações acima: pressione S. Se você pressionar n, a configuração não será salva nos arquivos POM.
Use o seguinte comando para implantar o aplicativo:
./mvnw azure-spring-apps:deploy
A lista a seguir descreve a interação de comando:
Logon do OAuth2: autorize a entrada no Azure com base no protocolo OAuth2.
Depois que o comando for executado, você poderá pelas mensagens de log que a implantação foi bem-sucedida:
[INFO] Start updating app(simple-todo-web)...
[INFO] App(simple-todo-web) is successfully updated.
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web--default-xxxxxxx-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:NONE
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://simple-todo-web.<unique-identifier>.<region-name>.azurecontainerapps.io
A Url do aplicativo de saída é o ponto de extremidade para acessar o aplicativo todo.
Agora você pode implantar o aplicativo em Aplicativos Spring do Azure. Use as etapas a seguir para empacotar o aplicativo, provisionar os recursos do Azure exigidos pelo aplicativo Web e, em seguida, implantar em Aplicativos Spring do Azure:
Use o seguinte comando para empacotar uma cópia implantável do aplicativo:
azd package
O console gera mensagens semelhantes ao exemplo a seguir:
SUCCESS: Your application was packaged for Azure in xx seconds.
Use o seguinte comando para implantar o código do aplicativo nesses recursos recém-provisionados:
azd deploy
O console gera mensagens semelhantes ao exemplo a seguir:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://simple-todo-web.xxx.<your-azure-location>.azurecontainerapps.io
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
O Ponto de extremidade de saída é o ponto de extremidade para acessar o aplicativo todo.
Observação
O senhor também pode usar azd up para combinar os três comandos anteriores: azd provision (provisiona recursos do Azure), azd package (empacota uma cópia implantável do seu aplicativo) e azd deploy (implanta o código do aplicativo). Para obter mais informações, confira Azure-Samples/ASA-Samples-Web-Application.
O botão Implantar no Azure na próxima seção inicia uma experiência do portal do Azure que baixa um pacote JAR da página de versões do ASA-Samples-Web-Application no GitHub. Nenhuma etapa de preparação local é necessária.
Embora você use o portal do Azure nas etapas posteriores, é necessário usar a linha de comando do Bash para preparar o projeto localmente. Use as etapas a seguir para clonar e executar o aplicativo localmente:
Use o seguinte comando para clonar o projeto de exemplo do GitHub:
Insira um novo nome de ambiente: forneça um nome de ambiente, que é usado como um sufixo para o grupo de recursos criado para manter todos os recursos do Azure. Esse nome deve ser exclusivo em sua assinatura do Azure.
O console gera mensagens semelhantes ao exemplo a seguir:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Please enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Preparar o ambiente de nuvem
Os principais recursos necessários para executar esse exemplo são uma instância dos Aplicativos Spring do Azure e uma instância do Banco de Dados do Azure para PostgreSQL. Essa seção fornece as etapas para criar esses recursos.
Esta seção usa um botão Implantar no Azure para iniciar uma experiência de implantação no portal do Azure. Essa experiência usa um modelo do ARM para criar recursos do Azure.
3.1. Entre no Portal do Azure
Acesse o portal do Azure e insira suas credenciais para entrar no portal. A exibição padrão é o painel de serviço.
3.2. Criar recursos do Azure
Use as seguintes etapas para criar todos os recursos do Azure dos quais o aplicativo depende:
Selecione o botão Implantar no Azure para iniciar a experiência de implantação no portal do Azure:
Preencha o formulário na guia Noções básicas. Use a tabela a seguir como uma guia para concluir o formulário:
Configuração
Valor sugerido
Descrição
Assinatura
O nome da sua assinatura.
A assinatura do Azure que você deseja usar para o servidor. Caso você tenha várias assinaturas, escolha a assinatura na qual você deseja receber a cobrança do recurso.
Grupo de recursos
myresourcegroup
Um novo nome do grupo de recursos ou um existente de sua assinatura.
Região
A região mais próxima de seus usuários.
A região é usada para criar o grupo de recursos.
Senha do Administrador do SQL do Postgre
N/D
A senha do administrador do Servidor do PostgreSQL.
Senha do usuário do SQL do Postgre
N/D
A senha do usuário do aplicativo do PostgreSQL, que é usada no aplicativo.
Selecione Revisar e criar para revisar suas seleções. Em seguida, selecione Criar para implantar o aplicativo nos Aplicativos Spring do Azure.
Na barra de ferramentas, selecione o ícone (sino) Notificações para monitorar o processo de implantação. Após a conclusão da implantação, selecione Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página de Visão geral do serviço. Selecione Ir para o recurso para abrir a página Visão geral do serviço.
Use as seguintes etapas para criar uma instância dos Aplicativos Spring do Azure e uma instância do Banco de Dados do Azure para PostgreSQL:
3.1. Entre no Portal do Azure
Acesse o portal do Azure e insira suas credenciais para entrar no portal. A exibição padrão é o painel de serviço.
3.2. Criar uma instância do Azure Spring Apps
Use as etapas a seguir para criar uma instância de serviço:
Selecione Criar um recurso no canto do portal.
Selecione Computação>Aplicativos Spring do Azure.
Preencha o formulário na guia Noções básicas. Use a tabela a seguir como uma guia para concluir o formulário:
Configuração
Valor sugerido
Descrição
Assinatura
O nome da sua assinatura.
A assinatura do Azure que você deseja usar para o servidor. Caso você tenha várias assinaturas, escolha a assinatura na qual você deseja receber a cobrança do recurso.
Grupo de recursos
myresourcegroup
Um novo nome do grupo de recursos ou um existente de sua assinatura.
Nome
myasa
Um nome exclusivo que identifica o serviço Aplicativos Spring do Azure. O nome deve ter entre 4 e 32 caracteres e pode conter apenas letras minúsculas, números e hifens. O primeiro caractere do nome do serviço deve ser uma letra e o último caractere deve ser uma letra ou um número.
Plano
Basic
O plano de preços determina o recurso e o custo associados à sua instância.
Região
A região mais próxima de seus usuários.
A localização mais próxima dos usuários.
Com Redundância de Zona
Não selecionado
Crie seu serviço Aplicativos Spring do Azure em uma zona de disponibilidade do Azure. Atualmente, esse recurso tem suporte apenas em algumas regiões.
Selecione Revisar e criar para revisar suas seleções. Em seguida, selecione Criar para provisionar a instância dos Aplicativos Spring do Azure.
Na barra de ferramentas, selecione o ícone (sino) Notificações para monitorar o processo de implantação. Após a conclusão da implantação, selecione Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página de Visão geral do serviço. Selecione Ir para o recurso para abrir a página Visão geral do serviço.
3.3. Preparar a instância do PostgreSQL
Use as etapas a seguir para criar um servidor do Banco de Dados do Azure para PostgreSQL:
No portal do Azure, selecione Criar um recurso.
Selecione Banco de Dados>Servidor Flexível do Banco de Dados do Azure para PostgreSQL.
Preencha a guia Básico com as seguintes informações:
Nome do servidor: my-demo-pgsql
Região: Leste dos EUA
Versão do PostgreSQL: 14
Tipo de carga de trabalho: Desenvolvimento
Habilitar alta disponibilidade: não selecionado
Método de autenticação: somente autenticação PostgreSQL
Nome de usuário do administrador: myadmin
Senha e Confirmar senha: Insira uma senha.
Configure a guia Rede usando as seguintes informações:
Método de conectividade: Acesso público (endereços IP permitidos)
Permitir acesso público de qualquer serviço do Azure a este servidor: selecionado
Selecione Examinar + criar para examinar suas seleções e, em seguida, selecione Criar para provisionar o servidor. Essa operação poderá levar alguns minutos.
Acesse o servidor PostgreSQL no portal do Azure.
Selecione Bancos de Dados no menu de navegação para criar um banco de dados – por exemplo, ToDo.
3.4. Conectar a instância de aplicativo à instância do PostgreSQL
Use as etapas a seguir para conectar as instâncias de serviço:
Vá para a sua instância do Azure Spring Apps no portal do Azure.
No painel de navegação, abra o painel Aplicativos e selecione Criar Aplicativo.
Na página Criar aplicativo, como nome do aplicativo, use simple-todo-web e, como plataforma de runtime, selecione a Java 17.
Selecione Criar para concluir a criação do aplicativo e selecione o aplicativo para exibir os detalhes.
Selecione Conector de serviço no painel de navegação e selecione Criar para criar uma nova conexão de serviço.
Preencha a guia Básico com as seguintes informações:
Tipo de serviço: servidor flexível do BD para PostgreSQL
Nome da conexão: preenchido com um nome gerado automaticamente que você pode modificar.
Assinatura: Selecione sua assinatura.
Servidor flexível do PostgreSQL: my-demo-pgsql
Banco de dados PostgreSQL: selecione o banco de dados criado por você.
Tipo de cliente: SpringBoot
Configure a guia Próximo: autenticação com as seguintes informações:
Selecione o tipo de autenticação que você gostaria de usar entre o serviço de computação e o serviço de destino: selecione Cadeia de conexão.
Continuar com...: selecione Credenciais do banco de dados.
Nome de usuário: myadmin
Senha: insira a senha.
Selecione Avançar: Rede. Use a opção padrão Configurar regras de firewall para habilitar o acesso ao serviço de destino.
Selecione Próximo: examinar e criar para examinar suas seleções e, em seguida, selecione Criar para criar a conexão.
Use as seguintes etapas para criar uma instância dos Aplicativos Spring do Azure e uma instância do Banco de Dados do Azure para PostgreSQL:
Use o seguinte comando para fazer logon no Azure com o OAuth2. Ignore esta etapa se você já tiver feito logon.
azd auth login
O console gera mensagens semelhantes ao exemplo a seguir:
Logged in to Azure.
Use o seguinte comando para definir o modelo usando o plano padrão:
azd env set PLAN standard
Use o seguinte comando para provisionar a infraestrutura do modelo para o Azure:
azd provision
A lista a seguir descreve as interações de comando:
Selecione uma Assinatura do Azure para usar: use as setas para mover, digite para filtrar e pressione ENTER.
Selecione um local do Azure para usar: use as setas para mover, digite para filtrar e pressione ENTER.
O console gera mensagens semelhantes ao exemplo a seguir:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Observação
Esse comando pode demorar algum tempo para ser concluído. Você verá um indicador de progresso ao provisionar recursos do Azure.
4. Implantar o aplicativo em Aplicativos Spring do Azure
O botão Implantar no Azure na seção anterior inicia uma experiência do portal do Azure que inclui a implantação do aplicativo, portanto, nada mais é necessário.
Agora você pode implantar o aplicativo em Aplicativos Spring do Azure.
A lista a seguir descreve as interações de comando:
Selecione módulos filho para configurar: selecione o módulo a ser configurado e insira o número do módulo SimpleTodo Web.
Logon do OAuth2: autorize a entrada no Azure com base no protocolo OAuth2.
Selecionar assinatura: selecione o número da lista de assinaturas da instância dos Aplicativos Spring do Azure que você criou, que usa como padrão a primeira assinatura na lista. Se você usar o número padrão, pressione ENTER diretamente.
Selecione Aplicativos Spring do Azure: selecione o número da instância de Aplicativos Spring do Azure que você criou. Se você usar o número padrão, pressione ENTER diretamente.
Expor o acesso público a este aplicativo: pressione s.
Confirme para salvar todas as configurações acima (S/n): Pressione s. Se você pressionar n, a configuração não será salva nos arquivos POM.
Use o seguinte comando para implantar o aplicativo:
./mvnw azure-spring-apps:deploy
A lista a seguir descreve a interação de comando:
Logon do OAuth2: autorize a entrada no Azure com base no protocolo OAuth2.
Depois que o comando for executado, você poderá pelas mensagens de log que a implantação foi bem-sucedida:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
A Url do aplicativo de saída é o ponto de extremidade para acessar o aplicativo todo.
Agora você pode implantar o aplicativo em Aplicativos Spring do Azure. Use as etapas a seguir para empacotar o aplicativo, provisionar os recursos do Azure exigidos pelo aplicativo Web e, em seguida, implantar em Aplicativos Spring do Azure:
Use o seguinte comando para empacotar uma cópia implantável do aplicativo:
azd package
O console gera mensagens semelhantes ao exemplo a seguir:
SUCCESS: Your application was packaged for Azure in xx seconds.
Use o seguinte comando para implantar o código do aplicativo nesses recursos recém-provisionados:
azd deploy
O console gera mensagens semelhantes ao exemplo a seguir:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
O Ponto de extremidade de saída é o ponto de extremidade para acessar o aplicativo todo.
Observação
Você também pode usar azd up para combinar os três comandos anteriores: azd package (empacota uma cópia implantável do aplicativo), azd provision (provisiona recursos do Azure) e azd deploy (implanta o código do aplicativo). Para obter mais informações, confira Azure-Samples/ASA-Samples-Web-Application.
5. Validar o aplicativo Web
Agora você pode acessar o aplicativo implantado para ver se ele funciona.
Após a conclusão da implantação, encontre o URL do aplicativo nas saídas de implantação:
Acesse o aplicativo com a URL do aplicativo de saída. A página deve aparecer como você viu no localhost.
Verifique os detalhes de cada implantação de recurso, que são úteis para investigar quaisquer problemas de implantação.
Acesse o aplicativo com a URL do aplicativo de saída. A página deve aparecer como você viu no localhost.
Use as etapas a seguir para validar:
Após a conclusão da implantação, acesse o aplicativo com este URL: https://${AZURE_SPRING_APPS_NAME}-${APP_NAME}.azuremicroservices.io/. A página deve aparecer como você viu no localhost.
Para verificar o log do aplicativo a fim de investigar problemas de implantação, use o comando a seguir:
az spring app logs \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME}
Após a conclusão da implantação, localize o URL do aplicativo nas saídas de implantação:
Acesse o URL do aplicativo. A página deve aparecer como você viu no localhost.
Verifique os detalhes de cada implantação de recurso, que são úteis para investigar quaisquer problemas de implantação.
Acesse o aplicativo com a URL do aplicativo de saída. A página deve aparecer como você viu no localhost.
Acesse o aplicativo com o ponto de extremidade de saída. A página deve aparecer como você viu no localhost.
6. Limpar os recursos
Exclua os recursos que você criou neste artigo quando não precisar mais deles. Você pode excluir o grupo de recursos do Azure, que inclui todos os recursos no grupo de recursos.
Use as seguintes etapas para excluir todo o grupo de recursos, incluindo a instância de serviço recém-criada:
Encontre o grupo de recursos no portal do Azure. No menu de navegação, selecione Grupos de recursos e, em seguida, selecione o nome do seu grupo de recursos.
Na página do Grupo de recursos, selecione Excluir. Insira o nome do seu grupo de recursos na caixa de texto para confirmar a exclusão e selecione Excluir.
Use as seguintes etapas para excluir todo o grupo de recursos, incluindo a instância de serviço recém-criada:
Encontre o grupo de recursos no portal do Azure. No menu de navegação, selecione Grupos de recursos e, em seguida, selecione o nome do seu grupo de recursos.
Na página do Grupo de recursos, selecione Excluir. Insira o nome do seu grupo de recursos na caixa de texto para confirmar a exclusão e selecione Excluir.
Use o seguinte comando para excluir todos os recursos do Azure usados neste aplicativo de exemplo:
azd down
A lista a seguir descreve a interação de comando:
Total de recursos a serem excluídos: <resources-total>, tem certeza de que deseja continuar?: Pressione s.
O console gera mensagens semelhantes ao exemplo a seguir:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Use as seguintes etapas para excluir todo o grupo de recursos, incluindo a instância de serviço recém-criada:
Encontre o grupo de recursos no portal do Azure. No menu de navegação, selecione Grupos de recursos e, em seguida, selecione o nome do seu grupo de recursos.
Na página do Grupo de recursos, selecione Excluir. Insira o nome do seu grupo de recursos na caixa de texto para confirmar a exclusão e selecione Excluir.
Use as seguintes etapas para excluir todo o grupo de recursos, incluindo a instância de serviço recém-criada:
Encontre o grupo de recursos no portal do Azure. No menu de navegação, selecione Grupos de recursos e, em seguida, selecione o nome do seu grupo de recursos.
Na página do Grupo de recursos, selecione Excluir. Insira o nome do seu grupo de recursos na caixa de texto para confirmar a exclusão e selecione Excluir.
Use o comando a seguir para excluir todo o grupo de recursos, incluindo o serviço recém-criado: