Introdução ao Azure Spring Apps e ao MongoDB Atlas: um guia passo a passo
Maxime Beugnet5 min read • Published Jan 27, 2024 • Updated Jan 27, 2024
APLICATIVO COMPLETO
Avalie esse Tutorial
Abrace a fusão da cloud e do desenvolvimento de aplicativos modernos à medida que nos aprofundamos na integração do Azure Spring Apps e MongoDB. Neste tutorial, guiaremos você pelo processo de criação e implantação de um aplicativo Spring Boot na Azure, aproveitando os pontos fortes da plataforma Azure, a simplicidade do Spring Boot e os recursos do MongoDB.
Se você é um programador que se arrisca no cenário da nuvem ou procura refinar suas habilidades nativas na nuvem, este guia passo a passo fornece um roteiro conciso. Ao final dessa viagem, você terá um aplicativo Spring Boottotalmente funcional, em execução perfeitamente no Azure Spring Apps, com o MongoDB lidando com suas necessidades de armazenamento de dados e uma REST API pronta para interação. Vamos explorar a sinergia dessas tecnologias e impulsionar seus projetos nativos da nuvem.
- Java 17
- Maven 3.8.7
- Git (ou você pode baixar a pasta zip e descompactá-la localmente)
- Cluster MongoDB Atlas(a camada grátis M0 é suficiente para este tutorial). Se você não tiver um, pode criar um gratuitamente.
- Instale a CLI do Azure para poder implantar seu aplicativo Azure Spring.
Estou usando o Debian, então só precisei executar uma única linha de comando para instalar o Azure CLI. Leia a documentação do seu sistema operacional.
1 curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
Depois de instalado, você deverá ser capaz de executar este comando.
1 az --version
Ele deve retornar algo como isto.
1 azure-cli 2.56.0 2 3 core 2.56.0 4 telemetry 1.1.0 5 6 Extensions: 7 spring 1.19.2 8 9 Dependencies: 10 msal 1.24.0b2 11 azure-mgmt-resource 23.1.0b2 12 13 Python location '/opt/az/bin/python3' 14 Extensions directory '/home/polux/.azure/cliextensions' 15 16 Python (Linux) 3.11.5 (main, Jan 8 2024, 09:08:48) [GCC 12.2.0] 17 18 Legal docs and information: aka.ms/AzureCliLegal 19 20 21 Your CLI is up-to-date.
Observação: é normal que você ainda não tenha a extensão Spring. Vamos instalá-lo em um minuto.
Você pode entrar na sua conta do Azure usando o seguinte comando.
1 az login
Ele deve abrir um navegador da Web no qual você pode se autenticar no Azure. Então, o comando deve imprimir algo assim.
1 [ 2 { 3 "cloudName": "AzureCloud", 4 "homeTenantId": "<MY_TENANT_ID>", 5 "id": "<MY_SUBSCRIPTION_ID>", 6 "isDefault": true, 7 "managedByTenants": [], 8 "name": "MDB-DevRel", 9 "state": "Enabled", 10 "tenantId": "<MY_TENANT_ID>", 11 "user": { 12 "name": "maxime.beugnet@mongodb.com", 13 "type": "user" 14 } 15 } 16 ]
Depois de fazer login na sua conta do Azure, você pode digitar o seguinte comando para instalar a extensão Spring.
1 az extension add -n spring
Para começar, na página inicial do Azure, clique em
Create a resource
.
Em seguida, selecione Aplicativos do Azure Spring no marketplace.

Criar um novo aplicativo Azure Spring.

Agora, você pode selecionar sua assinatura e seu grupo de recursos. Crie um novo, se necessário. Você também pode criar um nome de serviço e selecionar a região.

Para as outras opções, você pode usar seu bom senso, dependendo da sua situação, mas aqui está o que eu fiz neste tutorial, que não se destina ao uso em produção...
- Noções básicas:
- Hospedagem: "Basic" (não para uso de produção, mas está bem para eu)
- Zona redundante: desabilitar
- Distribuir projeto de amostra: não
- Configurações de diagnóstico:
- Habilitado por padrão.
- Application Insights:
- Desativar (você provavelmente quer manter isso em produção)
- Rede:
- Implantar em sua própria rede virtual: Não
- Tags:
- Eu não adicionei nenhum
Aqui está meu
Review and create
resumo:
Quando estiver satisfeito, clique em
Create
e aguarde um minuto para que seu sistema esteja pronto para uso.Neste tutorial, estamos implantando este modeloJava, Spring Boot e MongoDB , disponível no Github. Se quiser saber mais sobre esse modelo, você pode ler meu artigo, mas em algumas palavras: É um aplicativoCRUD Spring simples que gerencia uma coleção
persons
, armazenada no MongoDB com uma REST API.- Clone ou baixe um zip deste repositório.
1 git clone git@github.com:mongodb-developer/java-spring-boot-mongodb-starter.git
1 cd java-spring-boot-mongodb-starter 2 mvn clean package
Se tudo correu como planejado, agora você deve ter um arquivo JAR disponível na sua pasta
target
denominadajava-spring-boot-mongodb-starter-1.0.0.jar
.No Azure, agora você pode clicar em
Go to resource
para acessar seu novo aplicativo Azure Spring.
Agora, podemos criar nosso primeiro microsserviço. Clique em
Create App
.
Insira um nome para seu aplicativo, selecione Java 17 e clique em
Create
.
Agora você pode acessar seu novo microsserviço.

No nosso projeto Java, nosso
application.properties
arquivo contém o seguinte:1 spring.data.mongodb.uri=${MONGODB_URI:mongodb://localhost}
Isso significa que nosso aplicativo Spring tentará encontrar um URI MongoDB na variável de ambiente
MONGODB_URI
primeiro e assumirá como padrão mongodb://localhost
se não existir.Como queremos conectar nosso microsserviço ao nosso cluster no MongoDB Atlas, temos que definir essa variável de ambiente corretamente.
1 mongodb+srv://user:password@free.ab12c.mongodb.net/?retryWrites=true&w=majority
- Crie uma nova variável de ambiente em sua configuração.

Observação: se você não tiver um usuário de banco de dados, é hora de criar um e usar o login e a senha na string de conexão.
Os clusters do MongoDB Atlas aceitam somente conexões TCP de endereços IP conhecidos.
Como nosso aplicativo Spring tentará se conectar ao nosso cluster MongoDB, precisamos adicionar o endereço IP do nosso microsserviço na lista Atlas Network Access.
- Recupere o endereço IP de saída na guia
Networking
do nosso aplicativo Azure Spring.

- Adicione este endereço IP à lista de acesso de rede no Atlas.

Agora podemos implantar nosso arquivo JAR!
Clique na guia
Apps
e Deploy app
.
Você verá as instruções para implantar seu aplicativo.

- Temos que definir nosso
Subscription ID
:
1 az account set -s <SUBSCRIPTION_ID>
- Podemos implantar!
1 az spring app deploy -s mongodb-spring-apps -g MaximeSpringApps -n mongodb-persons-app --artifact-path target/java-spring-boot-mongodb-starter-1.0.0.jar
Se tudo correu bem, você verá alguns registros informando que o aplicativo Spring foi iniciado com sucesso e conectou-se ao nosso MongoDB Atlas cluster.

Finalmente, precisamos atribuir um endpoint ao nosso serviço para começar a discutir com a REST API.

Recupere o endpoint para testar a REST API. Para Mim, é:

1 https://mongodb-spring-apps-mongodb-persons-app.azuremicroservices.io
Você pode criar um
person
usando o seguinte comandocURL
. Não se esqueça de alterar o endpoint.1 curl -X 'POST' \ 2 'https://mongodb-spring-apps-mongodb-persons-app.azuremicroservices.io/api/person' \ 3 -H 'accept: */*' \ 4 -H 'Content-Type: application/json' \ 5 -d '{ 6 "firstName": "Maxime", 7 "lastName": "Beugnet", 8 "age": 35, 9 "address": { 10 "number": 123, 11 "street": "rue de la Paix", 12 "postcode": "75000", 13 "city": "Paris", 14 "country": "France" 15 }, 16 "insurance": true, 17 "cars": [ 18 { 19 "brand": "Peugeot", 20 "model": "3008", 21 "maxSpeedKmH": 280 22 } 23 ] 24 }'
Você pode recuperar as pessoas do cluster do MongoDB no Atlas usando o seguinte comando
cURL
.1 curl "https://mongodb-spring-apps-mongodb-persons-app.azuremicroservices.io/api/persons"
O que deve imprimir algo como isto.
1 [ 2 { 3 "id": "65adc7d0a227f7388c594704", 4 "firstName": "Maxime", 5 "lastName": "Beugnet", 6 "age": 35, 7 "address": { 8 "number": 123, 9 "street": "rue de la Paix", 10 "postcode": "75000", 11 "city": "Paris", 12 "country": "France" 13 }, 14 "createdAt": "2024-01-22T01:55:23.093+00:00", 15 "insurance": true, 16 "cars": [ 17 { 18 "brand": "Peugeot", 19 "model": "3008", 20 "maxSpeedKmH": 280.0 21 } 22 ] 23 } 24 ]
Em nosso cluster MongoDB Atlas, podemos confirmar que os dados foram salvos corretamente.

1 https://<YOUR_ENDPOINT>/swagger-ui/index.html

E isso é um wrap! Você navegou sem problemas nos domínios do Azure Spring Apps e do MongoDB, criando um aplicativo dinâmico do Spring Boot no Azure Cloud. Seu microsserviço está ativo, a REST API está pronta e o MongoDB está gerenciando perfeitamente seus dados.
Considere criar um cluster gratuito do Atlas e comece a explorar todos os recursos que o MongoDB Atlas tem a oferecer.
Tem dúvidas ou está ansioso para compartilhar seu sucesso? Acesse o MongoDB Community – somos todos ouvidos e prontos para ajudar!
Parabéns por sua implantação bem-sucedida e que venham os empreendimentos empolgantes que estão por vir! Feliz codificação! 🚀