Início Rápido: Criar um aplicativo de console com Java e Azure Cosmos DB para MongoDB
APLICA-SE AO: MongoDB
Nesse início rápido, você cria e gerencia uma conta do Azure Cosmos DB para MongoDB no portal do Azure e adiciona dados usando um aplicativo Java SDK clonado do GitHub. O Azure Cosmos DB é um serviço de banco de dados multimodelo que permite criar e consultar rapidamente bancos de dados de documentos, tabelas, pares chave-valor e grafo com funcionalidades de escala horizontal e distribuição global.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente. Ou então experimente o Azure Cosmos DB gratuitamente sem uma assinatura do Azure. Use também o Emulador do Azure Cosmos DB com a cadeia de conexão
.mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true
. - JDK (Java Development Kit) versão 8.
- Maven. Ou então execute
apt-get install maven
para instalar o Maven. - Git.
Criar uma conta de banco de dados
Em uma nova janela do navegador, entre no Portal do Azure.
No menu esquerdo, selecione Criar um recurso.
Na página Novo, selecione Bancos de dados>Azure Cosmos DB.
Na página Selecionar opção de API, escolha Azure Cosmos DB for MongoDB>Criar.
A API determina o tipo de conta a ser criada. Selecione Azure Cosmos DB for MongoDB porque você criará uma coleção que funcione com o MongoDB neste guia de início rápido. Para saber mais, confira Visão geral do Azure Cosmos DB for MongoDB.
Na página Criar Conta do Azure Cosmos DB, insira as configurações da nova conta do Azure Cosmos DB.
Configuração Valor Descrição Subscription Nome da assinatura Selecione a assinatura do Azure que você deseja usar para essa conta do Azure Cosmos DB. Grupo de recursos Nome do grupo de recursos Selecione um grupo de recursos ou selecione Criar novo, então insira um nome exclusivo para o novo grupo de recursos. Nome da Conta Insira um nome exclusivo Insira um nome exclusivo para identificar a conta do Azure Cosmos DB. O URI da sua conta será mongo.cosmos.azure.com acrescentado ao nome da conta exclusivo.
O nome da conta só pode usar letras minúsculas, números e hifens (-) e precisa conter entre 3 e 44 caracteres.Location A região mais próxima dos usuários Selecione uma localização geográfica para hospedar a sua conta do Azure Cosmos DB. Use a localização mais próxima dos usuários para fornecer a eles acesso mais rápido aos dados. Modo de capacidade Taxa de transferência provisionada ou sem servidor Selecione Taxa de transferência provisionada para criar uma conta no modo taxa de transferência provisionada. Selecione Sem servidor para criar uma conta no modo sem servidor.
Observação: somente a API do MongoDB versões 4.2, 4.0 e 3.6 são compatíveis com contas sem servidor. Escolher 3.2 como a versão forçará a conta para o modo de taxa de transferência provisionada.Aplicar o desconto por nível gratuito do Azure Cosmos DB Aplicar ou Não aplicar Com o nível gratuito do Azure Cosmos DB, você receberá os primeiros 1000 RU/s e 25 GB de armazenamento gratuitamente em uma conta. Saiba mais sobre o nível gratuito. Versão Escolha a versão de servidor necessária O Azure Cosmos DB for MongoDB é compatível com as versões 4.2, 4.0, 3.6 e 3.2 do servidor. Você pode fazer upgrade ou downgrade de uma conta depois que ela é criada. Observação
Você pode ter no máximo uma conta do nível gratuito do Azure Cosmos DB por assinatura do Azure e deve aceitar ao criar a conta. Se você não vir a opção de aplicar o desconto por nível gratuito, significa que outra conta da assinatura já foi habilitada com o nível gratuito.
Na guia Distribuição global, configure os detalhes a seguir. Você pode deixar os valores padrão para a finalidade deste guia de início rápido:
Configuração Valor Descrição Redundância geográfica Desabilitar Habilite ou desabilite a distribuição global em sua conta emparelhando sua região com uma região de par. Você poderá adicionar mais regiões à sua conta posteriormente. Gravações de várias regiões Desabilitar A capacidade de gravação de várias regiões permite que você aproveite a taxa de transferência provisionada para seus bancos de dados e contêineres em todo o mundo. Observação
As seguintes opções não estarão disponíveis se você selecionar Sem servidor como Modo de capacidade:
- Aplicar desconto por nível gratuito
- Redundância geográfica
- Gravações de várias regiões
Opcionalmente, você pode configurar detalhes adicionais nas seguintes guias:
- Rede – configurar o acesso de uma rede virtual.
- Política de Backup – configurar a política de backup periódica ou contínua.
- Criptografia – use a chave gerenciada por serviço ou uma chave gerenciada pelo cliente.
- Marcas – marcas são pares nome/valor que permitem categorizar recursos e exibir a cobrança consolidada por meio da aplicação da mesma marca a vários recursos e grupos de recursos.
Selecione Examinar + criar.
A criação da conta leva alguns minutos. Aguarde até que o portal exiba a página Parabéns! A conta do Azure Cosmos DB for MongoDB está pronta.
Adicionar uma coleção
Nomeie o novo banco de dados db e a nova coleção coll.
Agora, você pode usar a ferramenta Data Explorer no portal do Azure para criar um banco de dados e um contêiner da API do Azure Cosmos DB para o MongoDB.
Selecione Data Explorer>Novo Contêiner.
A área Adicionar Contêiner é exibida à extrema direita; talvez seja necessário rolar a página para a direita para vê-la.
Na página Adicionar contêiner, insira as configurações do novo contêiner.
Configuração Valor sugerido Descrição ID do banco de dados db Digite db como o nome do novo banco de dados. Os nomes dos banco de dados devem conter de 1 a 255 caracteres e não podem conter /, \\, #, ?
nem um espaço à direita. Marque a opção Provisionar a produtividade do banco de dados; ela permite que você compartilhe a produtividade provisionada para o banco de dados em todos os contêineres no banco de dados. Essa opção também ajuda na economia de custo.Taxa de transferência 400 Deixe a taxa de transferência em 400 unidades de solicitação por segundo (RU/s). Se quiser reduzir a latência, você poderá escalar verticalmente a taxa de transferência mais tarde. Você também pode escolher o Modo de dimensionamento automático, que fornecerá uma gama de RU/s que aumentarão e diminuirão dinamicamente conforme necessário. ID da coleção coll Insira coll
como o nome do novo contêiner. As IDs do contêiner têm os mesmos requisitos de caractere dos nomes de bancos de dados.Capacidade de armazenamento Fixo (10 GB) Insira Fixo (10 GB) para este aplicativo. Se selecionar Ilimitado, você precisará criar uma Shard Key
, que todos os itens inseridos exigirão.Chave de fragmentação /_id O exemplo descrito neste artigo não usa uma Chave de fragmentação, portanto, defini-la como /_id usará o campo de ID gerado automaticamente como chave de fragmentação. Saiba mais sobre a fragmentação, também chamada de particionamento, em Particionamento no Azure Cosmos DB Selecione OK. O Data Explorer exibe o novo banco de dados e o contêiner.
Clonar o aplicativo de exemplo
Agora, clonaremos um aplicativo do GitHub, definiremos a cadeia de conexão e o executaremos. Você verá como é fácil trabalhar usando dados de forma programática.
Abra um prompt de comando, crie uma nova pasta chamada exemplos de git e feche o prompt de comando.
md "C:\git-samples"
Abra uma janela de terminal de git, como git bash, e use o comando
cd
para alterar para a nova pasta para instalar o aplicativo de exemplo.cd "C:\git-samples"
Execute o comando a seguir para clonar o repositório de exemplo. Este comando cria uma cópia do aplicativo de exemplo no seu computador.
git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-java-getting-started.git
Em seguida, abra o código em seu editor favorito.
Examine o código
Esta etapa é opcional. Se você estiver interessado em aprender como os recursos de banco de dados são criados no código, poderá examinar os snippets de código a seguir. Caso contrário, você poderá pular para Atualizar sua cadeia de conexão.
Todos os snippets de código a seguir foram obtidos do arquivo Program.java.
Este aplicativo de console usa o driver do Java MongoDB.
O DocumentClient é inicializado.
MongoClientURI uri = new MongoClientURI("FILLME");` MongoClient mongoClient = new MongoClient(uri);
Um novo banco de dados e uma nova coleção são criados.
MongoDatabase database = mongoClient.getDatabase("db"); MongoCollection<Document> collection = database.getCollection("coll");
Alguns documentos são inseridos usando
MongoCollection.insertOne
Document document = new Document("fruit", "apple") collection.insertOne(document);
Algumas consultas são executadas usando
MongoCollection.find
Document queryResult = collection.find(Filters.eq("fruit", "apple")).first(); System.out.println(queryResult.toJson());
Atualizar sua cadeia de conexão
Agora, volte ao portal do Azure para obter informações sobre a cadeia de conexão e copiá-las para o aplicativo.
Em sua conta do Azure Cosmos DB, selecione Início Rápido, selecione Java e, em seguida, copie a cadeia de conexão para a área de transferência.
Abra o arquivo Program.java, substitua o argumento para o construtor MongoClientURI pela cadeia de conexão. Agora, você atualizou o aplicativo com todas as informações necessárias para se comunicar com o Azure Cosmos DB.
Execute o aplicativo de console
Execute
mvn package
em um terminal para instalar os pacotes Java necessários.Execute
mvn exec:java -D exec.mainClass=GetStarted.Program
em um terminal para iniciar o aplicativo Java.
Agora você pode usar Robomongo / Studio 3T para consultar, modificar e trabalhar com esses novos dados.
Examinar SLAs no Portal do Azure
O portal do Azure monitora a taxa de transferência, armazenamento, disponibilidade, latência e consistência da sua conta do Azure Cosmos DB. Gráficos de métricas associados a um SLA (Contrato de Nível de Serviço) do Azure Cosmos DB mostram o valor do SLA em comparação com o desempenho real. Esse conjunto de métricas torna o monitoramento dos SLAs transparente.
Para examinar as métricas e os SLAs:
Selecione Métricas no menu de navegação da conta do Azure Cosmos DB.
Selecione uma guia, tal como Latência, e selecione um período à direita. Comparar as linhas Real e SLA dos gráficos.
Examine as métricas nas outras guias.
Limpar os recursos
Quando o aplicativo e a conta do Azure Cosmos DB estiverem prontos, você poderá excluir os recursos do Azure criados para não incorrer em mais cobranças. Para excluir os recursos:
Na barra de pesquisa do portal do Azure, procure e selecione Grupos de recursos.
Na lista, selecione o grupo de recursos criado neste início rápido.
Na página Visão geral do grupo de recursos, selecione Excluir grupo de recursos.
Na próxima janela, insira o nome do grupo de recursos a ser excluído e selecione Excluir.
Próximas etapas
Neste guia de início rápido, você aprendeu a criar uma conta do Azure Cosmos DB for MongoDB, adicionar um banco de dados e um contêiner usando o Data Explorer e adicionar dados usando um aplicativo de console Java. Agora, você pode importar dados adicionais para o banco de dados do Azure Cosmos DB.
Tentando fazer o planejamento da capacidade para uma migração para o Azure Cosmos DB? Você pode usar informações sobre o cluster de banco de dados existente para fazer isso.
- Se você sabe apenas o número de vCores e servidores no cluster de banco de dados existente, leia sobre como estimar unidades de solicitação com vCores ou vCPUs
- Se souber as taxas de solicitação típicas da carga de trabalho do banco de dados atual, leia sobre como estimar unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB