Guia de início rápido: implantar seu primeiro aplicativo Web no Azure Spring Apps
Artigo
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 guia de início rápido mostra como implantar um aplicativo Web Spring Boot no Azure Spring Apps. O projeto de exemplo é um aplicativo ToDo simples para adicionar tarefas, marcar quando elas estiverem concluídas e, em seguida, excluí-las. A captura de tela a seguir mostra o aplicativo:
Esta aplicação é uma típica aplicação Web de três camadas com as seguintes camadas:
Um aplicativo Web Spring backend 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 Azure Spring Apps, o aplicativo usa o Banco de Dados do Azure para PostgreSQL. Para obter mais informações sobre o Banco de Dados do Azure para PostgreSQL, consulte a 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 no Azure Spring Apps:
A opção de 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 desenvolvedores do Spring que desejam implantar rapidamente aplicativos nos serviços de nuvem do Azure.
A opção de plug-in do portal do Azure + Maven fornece uma maneira mais convencional de criar recursos e implantar aplicativos passo a passo. Essa opção é adequada para desenvolvedores do Spring que usam os serviços de nuvem do Azure pela primeira vez.
A opção CLI do Desenvolvedor do Azure é uma maneira mais eficiente de criar recursos e implantar aplicativos automaticamente por meio de comandos simples. A CLI do Desenvolvedor do Azure usa um modelo para provisionar os recursos do Azure necessários e implantar o código do aplicativo. Essa opção é adequada para 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 no Azure Spring Apps:
A opção de 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 desenvolvedores do Spring que desejam implantar rapidamente aplicativos nos serviços de nuvem do Azure.
A opção de plug-in do portal do Azure + Maven fornece uma maneira mais convencional de criar recursos e implantar aplicativos passo a passo. Essa opção é adequada para desenvolvedores do Spring que usam os serviços de nuvem do Azure pela primeira vez.
A opção CLI do Azure usa uma poderosa ferramenta de linha de comando para gerenciar recursos do Azure. Essa opção é adequada para desenvolvedores do Spring que estão familiarizados com os serviços de nuvem do Azure.
O botão Implantar no Azure na próxima seção inicia uma experiência de portal do Azure que baixa um pacote JAR da página de versões ASA-Samples-Web-Application no GitHub. Não são necessárias etapas de preparação locais.
Embora você use o portal do Azure em etapas posteriores, você deve usar a linha de comando Bash para preparar o projeto localmente. Use as seguintes etapas para clonar e executar o aplicativo localmente:
Use o seguinte comando para clonar o projeto de exemplo do GitHub:
Use o seguinte comando para criar o projeto de exemplo com o 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
Aceda ao http://localhost:8080 seu browser para aceder à aplicação.
3. Prepare o ambiente de nuvem
Os principais recursos necessários para executar este exemplo são uma instância do Azure Spring Apps e uma instância do Banco de Dados do Azure para PostgreSQL. Esta 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 ARM para criar recursos do Azure.
3.1. Inicie sessão no portal do Azure
Vá para o portal do Azure e insira suas credenciais para entrar no portal. A vista predefinida é o dashboard 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 seguinte 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 um guia para preencher o formulário:
Definição
Valor sugerido
Description
Subscrição
O nome da subscrição.
A subscrição do Azure que quer utilizar para o servidor. Se tiver várias subscrições, escolha a subscrição na qual pretende ser cobrado pelo recurso.
Grupo de recursos
myresourcegroup
Um nome de grupo de recursos novo ou um já existente na sua subscrição.
Região
A região mais próxima dos seus utilizadores.
A região é usada para criar o grupo de recursos.
Senha de administrador do Postgre SQL
N/A
A senha para o administrador do PostgreSQL Server.
Senha de usuário Postgre SQL
N/A
A senha para o usuário do aplicativo PostgreSQL, que é usado no aplicativo.
Selecione Rever e Criar para rever as suas seleções. Em seguida, selecione Criar para implantar o aplicativo no Azure Spring Apps.
Na barra de ferramentas, selecione o ícone Notificações (um sino) para monitorizar o processo de implementação. Após a conclusão da implantação, você pode selecionar Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página Visão geral do serviço. Selecione Ir para recurso para abrir a página Visão geral do serviço.
3.1. Inicie sessão no portal do Azure
Aceda ao portal do Azure, introduza as suas credenciais e inicie sessão no portal. A vista predefinida é o dashboard de serviço.
3.2. Criar uma instância do Azure Spring Apps
Use as seguintes etapas para criar a instância de serviço:
Selecione Criar um recurso no canto do portal do Azure.
Selecione Compute>Azure Spring Apps.
Preencha o formulário Básico com as seguintes informações:
Definição
Valor sugerido
Description
Subscrição
O nome da subscrição.
A subscrição do Azure que quer utilizar para o servidor. Se tiver várias subscrições, escolha a subscrição na qual pretende ser cobrado pelo recurso.
Grupo de recursos
myresourcegroup
Um nome de grupo de recursos novo ou um já existente na sua subscrição.
Nome
Miasa
Um nome exclusivo que identifica seu serviço Azure Spring Apps. O nome 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.
Planear
Enterprise
O plano de preços que determina o recurso e o custo associados à sua instância.
Região
A região mais próxima dos seus utilizadores.
A localização que esteja mais próxima dos seus utilizadores.
Zona redundante
não selecionado
A opção para criar seu serviço Azure Spring Apps em uma zona de disponibilidade do Azure. Atualmente, esse recurso não é suportado em todas as regiões.
Plano IP de software
Pay As You Go
Pague conforme o uso com o Azure Spring Apps.
Termos
Selecionado
A caixa de seleção do contrato associada à oferta do Marketplace. É necessário selecionar essa caixa de seleção.
Implantar projeto de exemplo
não selecionado
A opção para usar o aplicativo de exemplo interno.
Selecione Rever e Criar para rever as suas seleções. Em seguida, selecione Criar para provisionar a instância do Azure Spring Apps.
Na barra de ferramentas, selecione o ícone Notificações (um sino) para monitorizar o processo de implementação. Após a conclusão da implantação, você pode selecionar Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página Visão geral do serviço.
Selecione Ir para o recurso para ir para a página Visão Geral do Azure Spring Apps.
3.3. Preparar a instância do PostgreSQL
Use as seguintes etapas para criar um Banco de Dados do Azure para o servidor PostgreSQL:
No portal do Azure, selecione Criar um recurso.
Selecione Bancos de Dados>Banco de Dados do Azure para Servidor Flexível PostgreSQL.
Preencha a guia Noções básicas com as seguintes informações:
Nome do servidor: my-demo-pgsql
Região: East US
Versão do PostgreSQL: 14
Tipo de carga de trabalho: Desenvolvimento
Ativar alta disponibilidade: desselecionado
Método de autenticação: somente autenticação PostgreSQL
Nome de usuário do administrador: myadmin
Palavra-passe e Confirmar palavra-passe: Introduza uma palavra-passe.
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 no Azure a este servidor: selecionado
Selecione Rever + criar para rever as suas seleções e, em seguida, selecione Criar para provisionar o servidor. Esta operação pode demorar alguns minutos.
Aceda aos seu 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 do aplicativo à instância do PostgreSQL
Use as seguintes etapas para conectar suas instâncias de serviço:
Vá para 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, para o nome do aplicativo, use simple-todo-web e deixe todos os outros campos com seus valores padrão.
Selecione Criar para concluir a criação do aplicativo e, em seguida, selecione o aplicativo para exibir os detalhes.
Selecione Service Connector no painel de navegação e, em seguida, selecione Criar para criar uma nova conexão de serviço.
Preencha a guia Noções básicas com as seguintes informações:
Tipo de serviço: DB para servidor flexível PostgreSQL
Nome da conexão: preenchido com um nome gerado automaticamente que você pode modificar.
Subscrição: selecione a sua subscrição.
Servidor flexível PostgreSQL: my-demo-pgsql
Banco de dados PostgreSQL: Selecione o banco de dados que você criou.
Tipo de cliente: SpringBoot
Configure a guia Next: Authentication com as seguintes informações:
Nota
A Microsoft recomenda o uso do fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, requer 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áquina local, prefira identidades de usuário para conexões sem senha ou sem chave.
Selecione o tipo de autenticação que você deseja 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
Palavra-passe: Introduza a sua palavra-passe.
Selecione Next: Networking. Use a opção padrão Configurar regras de firewall para habilitar o acesso ao serviço de destino..
Selecione Seguinte: Rever e Criar para rever as suas seleções e, em seguida, selecione Criar para criar a ligação.
3.1. Fornecer nomes para cada recurso
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.
Nota
A Microsoft recomenda o uso do fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, requer 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áquina local, 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 comando a seguir 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 seguinte comando 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 o grupo de recursos padrão.
az configure --defaults group=${RESOURCE_GROUP}
3.3. Criar uma instância do Azure Spring Apps
O Azure Spring Apps é usado para hospedar o aplicativo Web Spring. Crie uma instância do Azure Spring Apps e um aplicativo dentro dela.
Use o comando a seguir para criar uma instância de serviço do Azure Spring Apps.
az spring create --name ${AZURE_SPRING_APPS_NAME} --sku enterprise
Use o comando a seguir para criar um aplicativo na instância do Azure Spring Apps.
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 em localhost e o 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:
Nota
A Microsoft recomenda o uso do fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, requer 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áquina local, prefira identidades de usuário para conexões sem senha ou sem chave.
A especificação 0.0.0.0 habilita o acesso público de quaisquer recursos implantados no Azure para acessar seu servidor.
3.5. Conectar a instância do aplicativo à instância do PostgreSQL
Depois que a instância do aplicativo e a instância do PostgreSQL são criadas, a instância do aplicativo não pode acessar a instância do PostgreSQL diretamente. Use as etapas a seguir para permitir que o aplicativo se conecte à instância do PostgreSQL.
Use o seguinte comando para obter o nome de domínio totalmente qualificado da instância do PostgreSQL:
Use o seguinte comando para fornecer as spring.datasource. propriedades ao aplicativo por meio de variáveis de ambiente:
Nota
A Microsoft recomenda o uso do fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento, como para bancos de dados, caches, mensagens ou serviços de IA, requer 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áquina local, 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}"
O botão Implantar no Azure na seção anterior inicia uma experiência de portal do Azure que inclui a implantação de aplicativos, 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 Web SimpleTodo.
Login OAuth2: você precisa autorizar o logon no Azure com base no protocolo OAuth2.
Selecionar assinatura: selecione o número da lista de assinaturas da instância do Azure Spring Apps que você criou, que assume como padrão a primeira assinatura na lista. Se você usar o número padrão, pressione Enter diretamente.
Usar aplicativos Azure Spring existentes no Azure: pressione y para usar a instância existente do Azure Spring Apps.
Selecione Azure Spring Apps para implantação: selecione o número da instância do Azure Spring Apps que você criou. Se você usar o número padrão, pressione Enter diretamente.
Exponha o acesso público para este aplicativo: pressione y.
Confirme para salvar todas as configurações acima: Pressione y. 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:
Login OAuth2: você precisa autorizar o logon no Azure com base no protocolo OAuth2.
Depois que o comando for executado, você poderá ver nas seguintes 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 todo aplicativo.
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 de portal do Azure que baixa um pacote JAR da página de versões ASA-Samples-Web-Application no GitHub. Não são necessárias etapas de preparação locais.
Embora você use o portal do Azure em etapas posteriores, você deve usar a linha de comando Bash para preparar o projeto localmente. Use as seguintes etapas 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 armazenar todos os recursos do Azure. Esse nome deve ser exclusivo em sua assinatura do Azure.
O console emite 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. Prepare o ambiente de nuvem
Os principais recursos necessários para executar este exemplo são uma instância do Azure Spring Apps e uma instância do Banco de Dados do Azure para PostgreSQL. Esta 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 ARM para criar recursos do Azure.
3.1. Inicie sessão no portal do Azure
Vá para o portal do Azure e insira suas credenciais para entrar no portal. A vista predefinida é o dashboard 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 seguinte 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 um guia para preencher o formulário:
Definição
Valor sugerido
Description
Subscrição
O nome da subscrição.
A subscrição do Azure que quer utilizar para o servidor. Se tiver várias subscrições, escolha a subscrição na qual pretende ser cobrado pelo recurso.
Grupo de recursos
myresourcegroup
Um nome de grupo de recursos novo ou um já existente na sua subscrição.
Região
A região mais próxima dos seus utilizadores.
A região é usada para criar o grupo de recursos.
Senha de administrador do PostgreSQL
N/A
A senha para o administrador do PostgreSQL Server.
Senha de usuário do PostgreSQL
N/A
A senha para o usuário do aplicativo PostgreSQL, que é usado no aplicativo.
Selecione Rever e Criar para rever as suas seleções. Em seguida, selecione Criar para implantar o aplicativo no Azure Spring Apps.
Na barra de ferramentas, selecione o ícone Notificações (um sino) para monitorizar o processo de implementação. Após a conclusão da implantação, você pode selecionar Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página Visão geral do serviço. Selecione Ir para recurso para abrir a página Visão geral do serviço.
Use as seguintes etapas para criar uma instância do Azure Spring Apps e uma instância do Banco de Dados do Azure para PostgreSQL:
3.1. Inicie sessão no portal do Azure
Aceda ao portal do Azure, introduza as suas credenciais e inicie sessão no portal. A vista predefinida é o dashboard de serviço.
3.2. Criar uma instância do Azure Spring Apps
Use as seguintes etapas para criar uma instância de serviço:
Selecione Criar um recurso no canto do portal.
Selecione Compute>Azure Spring Apps.
Preencha o formulário na guia Noções básicas . Use a tabela a seguir como um guia para preencher o formulário:
Definição
Valor sugerido
Description
Subscrição
O nome da subscrição.
A subscrição do Azure que quer utilizar para o servidor. Se tiver várias subscrições, escolha a subscrição na qual pretende ser cobrado pelo recurso.
Grupo de recursos
myresourcegroup
Um nome de grupo de recursos novo ou um já existente na sua subscrição.
Nome
Miasa
Um nome exclusivo que identifica seu serviço Azure Spring Apps. O nome 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.
Planear
Consumo padrão e dedicado (pré-visualização)
O plano de preços determina o recurso e o custo associados à sua instância.
Região
A região mais próxima dos seus utilizadores.
A localização que esteja mais próxima dos seus utilizadores.
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 de 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: Desativado
Em seguida, selecione Criar para criar o Ambiente de Aplicativos de Contêiner.
Selecione Rever e Criar para rever as suas seleções. Em seguida, selecione Criar para provisionar a instância do Azure Spring Apps.
Na barra de ferramentas, selecione o ícone Notificações (um sino) para monitorizar o processo de implementação. Após a conclusão da implantação, você pode selecionar Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página Visão geral do serviço. Selecione Ir para recurso para abrir a página Visão geral do serviço.
3.3. Preparar a instância do PostgreSQL
Use as seguintes etapas para criar um Banco de Dados do Azure para o servidor PostgreSQL:
No portal do Azure, selecione Criar um recurso.
Selecione Bancos de Dados>Banco de Dados do Azure para Servidor Flexível PostgreSQL.
Preencha a guia Noções básicas com as seguintes informações:
Nome do servidor: my-demo-pgsql
Região: East US
Versão do PostgreSQL: 14
Tipo de carga de trabalho: Desenvolvimento
Ativar alta disponibilidade: desselecionado
Método de autenticação: somente autenticação PostgreSQL
Nome de usuário do administrador: myadmin
Palavra-passe e Confirmar palavra-passe: Introduza uma palavra-passe.
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 no Azure a este servidor: selecionado
Selecione Rever + criar para rever as suas seleções e, em seguida, selecione Criar para provisionar o servidor. Esta operação pode demorar alguns minutos.
Aceda aos seu 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 do aplicativo à instância do PostgreSQL
Use as seguintes etapas para conectar suas instâncias de serviço:
Vá para 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, para o nome do aplicativo, use simple-todo-web e selecione Usar aplicativo de exemplo de início rápido para criar o aplicativo.
Selecione Criar para concluir a criação do aplicativo e, em seguida, selecione o aplicativo para exibir seus detalhes.
Selecione Configuração no painel de navegação e configure as seguintes propriedades na guia Variáveis de ambiente:
SPRING_DATASOURCE_PASSWORD: Introduza a sua palavra-passe.
Selecione Salvar para salvar as propriedades da conexão.
Use as seguintes etapas para criar uma instância do Azure Spring Apps e uma instância do Banco de Dados do Azure para PostgreSQL:
Use o comando a seguir para entrar no Azure com OAuth2. Ignore este passo se já tiver iniciado sessão.
azd auth login
O console emite mensagens semelhantes ao exemplo a seguir:
Logged in to Azure.
Use o seguinte comando para provisionar a infraestrutura do modelo no 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 emite 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
Nota
A conclusão deste comando poderá demorar algum tempo. Você vê um indicador de progresso à medida que provisiona recursos do Azure.
O botão Implantar no Azure na seção anterior inicia uma experiência de portal do Azure que inclui a implantação de aplicativos, 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 Web SimpleTodo.
Login OAuth2: você precisa autorizar o logon no Azure com base no protocolo OAuth2.
Selecionar assinatura: selecione o número da lista de assinaturas da instância do Azure Spring Apps que você criou, que assume como padrão a primeira assinatura na lista. Se você usar o número padrão, pressione Enter diretamente.
Usar aplicativos Azure Spring existentes no Azure: pressione y para usar a instância existente do Azure Spring Apps.
Selecione Azure Spring Apps para implantação: selecione o número da instância do Azure Spring Apps que você criou. Se você usar o número padrão, pressione Enter diretamente.
Exponha o acesso público para este aplicativo: pressione y.
Confirme para salvar todas as configurações acima: Pressione y. 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:
Login OAuth2: você precisa autorizar o logon no Azure com base no protocolo OAuth2.
Depois que o comando for executado, você poderá ver nas seguintes 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 todo aplicativo.
Agora você pode implantar o aplicativo no Azure Spring Apps. Use as etapas a seguir para empacotar o aplicativo, provisionar os recursos do Azure exigidos pelo aplicativo Web e implantar no Azure Spring Apps:
Use o seguinte comando para empacotar uma cópia implantável do seu aplicativo:
azd package
O console emite 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 emite 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 todo aplicativo.
Nota
Você 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 (implanta azd deploy o código do aplicativo). Para obter mais informações, consulte Azure-Samples/ASA-Samples-Web-Application.
O botão Implantar no Azure na próxima seção inicia uma experiência de portal do Azure que baixa um pacote JAR da página de versões ASA-Samples-Web-Application no GitHub. Não são necessárias etapas de preparação locais.
Embora você use o portal do Azure em etapas posteriores, você deve usar a linha de comando Bash para preparar o projeto localmente. Use as seguintes etapas 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 armazenar todos os recursos do Azure. Esse nome deve ser exclusivo em sua assinatura do Azure.
O console emite 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. Prepare o ambiente de nuvem
Os principais recursos necessários para executar este exemplo são uma instância do Azure Spring Apps e uma instância do Banco de Dados do Azure para PostgreSQL. Esta 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 ARM para criar recursos do Azure.
3.1. Inicie sessão no portal do Azure
Vá para o portal do Azure e insira suas credenciais para entrar no portal. A vista predefinida é o dashboard 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 seguinte 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 um guia para preencher o formulário:
Definição
Valor sugerido
Description
Subscrição
O nome da subscrição.
A subscrição do Azure que quer utilizar para o servidor. Se tiver várias subscrições, escolha a subscrição na qual pretende ser cobrado pelo recurso.
Grupo de recursos
myresourcegroup
Um nome de grupo de recursos novo ou um já existente na sua subscrição.
Região
A região mais próxima dos seus utilizadores.
A região é usada para criar o grupo de recursos.
Senha de administrador do Postgre SQL
N/A
A senha para o administrador do PostgreSQL Server.
Senha de usuário Postgre SQL
N/A
A senha para o usuário do aplicativo PostgreSQL, que é usado no aplicativo.
Selecione Rever e Criar para rever as suas seleções. Em seguida, selecione Criar para implantar o aplicativo no Azure Spring Apps.
Na barra de ferramentas, selecione o ícone Notificações (um sino) para monitorizar o processo de implementação. Após a conclusão da implantação, você pode selecionar Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página Visão geral do serviço. Selecione Ir para recurso para abrir a página Visão geral do serviço.
Use as seguintes etapas para criar uma instância do Azure Spring Apps e uma instância do Banco de Dados do Azure para PostgreSQL:
3.1. Inicie sessão no portal do Azure
Vá para o portal do Azure e insira suas credenciais para entrar no portal. A vista predefinida é o dashboard de serviço.
3.2. Criar uma instância do Azure Spring Apps
Use as seguintes etapas para criar uma instância de serviço:
Selecione Criar um recurso no canto do portal.
Selecione Compute>Azure Spring Apps.
Preencha o formulário na guia Noções básicas . Use a tabela a seguir como um guia para preencher o formulário:
Definição
Valor sugerido
Description
Subscrição
O nome da subscrição.
A subscrição do Azure que quer utilizar para o servidor. Se tiver várias subscrições, escolha a subscrição na qual pretende ser cobrado pelo recurso.
Grupo de recursos
myresourcegroup
Um nome de grupo de recursos novo ou um já existente na sua subscrição.
Nome
Miasa
Um nome exclusivo que identifica seu serviço Azure Spring Apps. O nome 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.
Planear
Básica
O plano de preços determina o recurso e o custo associados à sua instância.
Região
A região mais próxima dos seus utilizadores.
A localização que esteja mais próxima dos seus utilizadores.
Zona redundante
não selecionado
Se deseja criar seu serviço Azure Spring Apps em uma zona de disponibilidade do Azure. Atualmente, esse recurso é suportado apenas em algumas regiões.
Selecione Rever e Criar para rever as suas seleções. Em seguida, selecione Criar para provisionar a instância do Azure Spring Apps.
Na barra de ferramentas, selecione o ícone Notificações (um sino) para monitorizar o processo de implementação. Após a conclusão da implantação, você pode selecionar Fixar no painel, que cria um bloco para esse serviço no painel do portal do Azure como um atalho para a página Visão geral do serviço. Selecione Ir para recurso para abrir a página Visão geral do serviço.
3.3. Preparar a instância do PostgreSQL
Use as seguintes etapas para criar um Banco de Dados do Azure para o servidor PostgreSQL:
No portal do Azure, selecione Criar um recurso.
Selecione Bancos de Dados>Banco de Dados do Azure para Servidor Flexível PostgreSQL.
Preencha a guia Noções básicas com as seguintes informações:
Nome do servidor: my-demo-pgsql
Região: East US
Versão do PostgreSQL: 14
Tipo de carga de trabalho: Desenvolvimento
Ativar alta disponibilidade: desselecionado
Método de autenticação: somente autenticação PostgreSQL
Nome de usuário do administrador: myadmin
Palavra-passe e Confirmar palavra-passe: Introduza uma palavra-passe.
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 no Azure a este servidor: selecionado
Selecione Rever + criar para rever as suas seleções e, em seguida, selecione Criar para provisionar o servidor. Esta operação pode demorar alguns minutos.
Aceda aos seu 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 do aplicativo à instância do PostgreSQL
Use as seguintes etapas para conectar suas instâncias de serviço:
Vá para 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, para o nome do aplicativo, use simple-todo-web e para a plataforma de tempo de execução, selecione Java 17.
Selecione Criar para concluir a criação do aplicativo e selecione o aplicativo para exibir detalhes.
Selecione Service Connector no painel de navegação e, em seguida, selecione Criar para criar uma nova conexão de serviço.
Preencha a guia Noções básicas com as seguintes informações:
Tipo de serviço: DB para servidor flexível PostgreSQL
Nome da conexão: preenchido com um nome gerado automaticamente que você pode modificar.
Subscrição: selecione a sua subscrição.
Servidor flexível PostgreSQL: my-demo-pgsql
Banco de dados PostgreSQL: Selecione o banco de dados que você criou.
Tipo de cliente: SpringBoot
Configure a guia Next: Authentication com as seguintes informações:
Selecione o tipo de autenticação que você deseja usar entre o serviço de computação e o serviço de destino.: Selecione Cadeia de conexão.
Continue com...: Selecione Credenciais do banco de dados.
Nome de usuário: myadmin
Palavra-passe: Introduza a sua palavra-passe.
Selecione Next: Networking. Use a opção padrão Configurar regras de firewall para habilitar o acesso ao serviço de destino..
Selecione Seguinte: Rever e Criar para rever as suas seleções e, em seguida, selecione Criar para criar a ligação.
Use as seguintes etapas para criar uma instância do Azure Spring Apps e uma instância do Banco de Dados do Azure para PostgreSQL:
Use o comando a seguir para fazer logon no Azure com OAuth2. Ignore este passo se já tiver iniciado sessão.
azd auth login
O console emite mensagens semelhantes ao exemplo a seguir:
Logged in to Azure.
Use o seguinte comando para definir o modelo com o plano padrão :
azd env set PLAN standard
Use o seguinte comando para provisionar a infraestrutura do modelo no 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 emite 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
Nota
A conclusão deste comando poderá demorar algum tempo. Você vê um indicador de progresso à medida que provisiona recursos do Azure.
O botão Implantar no Azure na seção anterior inicia uma experiência de portal do Azure que inclui a implantação de aplicativos, portanto, nada mais é necessário.
Agora você pode implantar o aplicativo no Azure Spring Apps.
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 Web SimpleTodo.
Login OAuth2: autorize a entrada no Azure com base no protocolo OAuth2.
Selecionar assinatura: selecione o número da lista de assinaturas da instância do Azure Spring Apps que você criou, que assume como padrão a primeira assinatura na lista. Se você usar o número padrão, pressione ENTER diretamente.
Selecione Azure Spring Apps: selecione o número da instância do Azure Spring Apps que você criou. Se você usar o número padrão, pressione ENTER diretamente.
Expor o acesso público a este aplicativo?: Pressione y.
Confirme para salvar todas as configurações acima (S/n): Pressione y. 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:
Login OAuth2: você precisa autorizar o logon no Azure com base no protocolo OAuth2.
Depois que o comando for executado, você poderá ver nas seguintes 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 todo aplicativo.
Agora você pode implantar o aplicativo no Azure Spring Apps. Use as etapas a seguir para empacotar o aplicativo, provisionar os recursos do Azure exigidos pelo aplicativo Web e implantar no Azure Spring Apps:
Use o seguinte comando para empacotar uma cópia implantável do seu aplicativo:
azd package
O console emite 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 emite 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 todo aplicativo.
Nota
Você também pode usar azd up para combinar os três comandos anteriores: azd package (empacota uma cópia implantável do seu aplicativo), azd provision (provisiona recursos do Azure) e (implanta azd deploy o código do aplicativo). Para obter mais informações, consulte Azure-Samples/ASA-Samples-Web-Application.
5. Validar a aplicação Web
Agora você pode acessar o aplicativo implantado para ver se ele funciona.
Após a conclusão da implantação, você pode encontrar a 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 seguintes etapas para validar:
Após a conclusão da implantação, você poderá acessar o aplicativo com esta 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 para investigar qualquer problema de implantação, use o seguinte comando:
az spring app logs \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME}
Após a conclusão da implantação, localize a URL do aplicativo nas saídas de implantação:
Aceda ao URL da aplicação. 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
Certifique-se de excluir os recursos criados neste artigo quando não precisar mais deles. Pode eliminar 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:
Localize 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 Grupo de recursos , selecione Excluir. Introduza o nome do seu grupo de recursos na caixa de texto para confirmar a eliminação e, em seguida, selecione Eliminar.
Use as seguintes etapas para excluir todo o grupo de recursos, incluindo a instância de serviço recém-criada:
Localize 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 Grupo de recursos , selecione Excluir. Introduza o nome do seu grupo de recursos na caixa de texto para confirmar a eliminação e, em seguida, selecione Eliminar.
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 eliminar: <recursos-total>, tem a certeza de que pretende continuar?: Prima y.
O console emite 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:
Localize 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 Grupo de recursos , selecione Excluir. Introduza o nome do seu grupo de recursos na caixa de texto para confirmar a eliminação e, em seguida, selecione Eliminar.
Use as seguintes etapas para excluir todo o grupo de recursos, incluindo a instância de serviço recém-criada:
Localize 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 Grupo de recursos , selecione Excluir. Introduza o nome do seu grupo de recursos na caixa de texto para confirmar a eliminação e, em seguida, selecione Eliminar.
Use o seguinte comando para excluir todo o grupo de recursos, incluindo o serviço recém-criado: