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

Criar uma conta de banco de dados

  1. Em uma nova janela do navegador, entre no Portal do Azure.

  2. No menu esquerdo, selecione Criar um recurso.

    Captura de tela da criação de um recurso no portal do Azure.

  3. Na página Novo, selecione Bancos de dados>Azure Cosmos DB.

    Captura de tela do painel Bancos de Dados do portal do Azure.

  4. 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.

    Captura de tela do painel Selecionar opção de API.

  5. 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.

    Captura de tela da página da nova conta do Azure Cosmos DB.

  6. 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
  7. 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.
  8. Selecione Examinar + criar.

  9. 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.

    Captura de tela do painel de Notificações do portal do Azure.

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.

  1. 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.

    O Data Explorer do portal do Azure, painel Adicionar Contêiner

  2. 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.

  1. Abra um prompt de comando, crie uma nova pasta chamada exemplos de git e feche o prompt de comando.

    md "C:\git-samples"
    
  2. 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"
    
  3. 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
    
  4. 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.

  1. 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.

  2. 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

  1. Execute mvn package em um terminal para instalar os pacotes Java necessários.

  2. 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:

  1. Selecione Métricas no menu de navegação da conta do Azure Cosmos DB.

  2. Selecione uma guia, tal como Latência, e selecione um período à direita. Comparar as linhas Real e SLA dos gráficos.

    Pacote de métricas do Azure Cosmos DB

  3. 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:

  1. Na barra de pesquisa do portal do Azure, procure e selecione Grupos de recursos.

  2. Na lista, selecione o grupo de recursos criado neste início rápido.

    Selecione o grupo de recursos a excluir

  3. Na página Visão geral do grupo de recursos, selecione Excluir grupo de recursos.

    Exclua o grupo de recursos

  4. 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.