Quickstart: Criar uma aplicação para consolas com a Java e a API MongoDB em Azure Cosmos DB

APLICA A: Azure Cosmos DB API para MongoDB

Neste quickstart, você cria e gere uma conta Azure Cosmos DB para MongoDB API a partir do portal Azure, e adiciona dados usando uma aplicação Java SDK clonada a partir de GitHub. Azure Cosmos DB é um serviço de base de dados multi-modelo que permite criar e consultar rapidamente documentos, tabelas, valor-chave e bases de dados de gráficos com capacidades de distribuição global e escala horizontal.

Pré-requisitos

Criar uma conta de base de dados

  1. Numa nova janela do browser, inicie sessão no portal do Azure.

  2. No menu esquerdo, selecione Criar um recurso.

    Screenshot de criar um recurso no portal Azure.

  3. Na página Nova, selecione Databases > Azure Cosmos DB.

    Screenshot do painel de bases de dados do portal Azure.

  4. Na página de opção Select API, selecione Azure Cosmos DB API para a Criação de MongoDB > .

    A API determina o tipo de conta a criar. Selecione Azure Cosmos DB API para MongoDB porque você vai criar uma coleção que funciona com a MongoDB neste arranque rápido. Para saber mais, consulte a visão geral da Azure Cosmos DB API para a MongoDB.

    Screenshot do painel de opções Select API.

  5. Na página De Conta DB Create Azure Cosmos, insira as definições para a nova conta DB da Azure Cosmos.

    Definição Valor Descrição
    Subscrição Nome da subscrição Selecione a subscrição do Azure que quer utilizar para esta conta do Azure Cosmos DB.
    Grupo de Recursos Nome do grupo de recursos Selecione um grupo de recursos ou selecione Criar novo e, em seguida, introduza um nome exclusivo para o novo grupo de recursos.
    Nome da Conta Introduza um nome exclusivo Introduza um nome exclusivo para identificar a sua conta do Azure Cosmos DB. A sua conta URI será mongo.cosmos.azure.com anexada ao seu nome de conta único.

    O nome da conta só pode usar letras minúsculas, números e hífens (-), e deve ter entre 3 e 44 caracteres de comprimento.
    Localização A região mais próxima dos seus utilizadores Selecione a localização geográfica para alojar a sua conta do Azure Cosmos DB. Utilize a localização mais próxima dos utilizadores para lhes dar o acesso mais rápido aos dados.
    Modo de capacidade Produção provisida ou sem servidor Selecione Provisão para criar uma conta no modo de produção previsto. Selecione Serverless para criar uma conta no modo sem servidor.

    Nota: Apenas as versões API 4 e 3.6 da MongoDB são suportadas por contas sem servidor. Escolher 3.2 como a versão forçará a conta no modo de produção previsto.
    Aplicar desconto de nível gratuito Azure Cosmos DB Aplicar ou não aplicar Com o nível livre Azure Cosmos DB, você receberá os primeiros 1000 RU/s e 25 GB de armazenamento gratuitamente numa conta. Saiba mais sobre o free tier.
    Versão Escolha a versão do servidor necessária A Azure Cosmos DB API para MongoDB é compatível com a versão 4.0, 3.6 e 3.2 do servidor. Pode atualizar ou desclassificar uma conta depois de criada.

    Nota

    Pode ter até uma conta DB Azure Cosmos de nível gratuito por subscrição Azure e deve optar pela criação da conta. Se não vir a opção de aplicar o desconto de nível livre, isto significa que outra conta na subscrição já foi ativada com nível gratuito.

    Screenshot da nova página de conta para Azure Cosmos DB.

  6. No separador Distribuição Global, configuure os seguintes detalhes. Pode deixar os valores predefinidos para efeitos deste arranque rápido:

    Definição Valor Descrição
    Redundância Geográfica Desativar Ativar ou desativar a distribuição global na sua conta, emparelhando a sua região com uma região de pares. Pode adicionar mais regiões à sua conta mais tarde.
    Escritas de várias regiões Desativar A capacidade de escrita multi-região permite-lhe tirar partido da produção prevista para as suas bases de dados e contentores em todo o mundo.

    Nota

    As seguintes opções não estão disponíveis se selecionar Serverless como o modo Capacidade:

    • Aplicar Desconto de Escalão Gratuito
    • Georredundância
    • Escritas de várias regiões
  7. Opcionalmente, pode configurar detalhes adicionais nos seguintes separadores:

    • Networking - Configurar o acesso a partir de uma rede virtual.
    • Política de Backup - Configurar uma política de backup periódica ou contínua.
    • Encriptação - Utilize uma chave gerida pelo serviço ou uma chave gerida pelo cliente.
    • Tags - Tags são pares de nome/valor que lhe permitem categorizar recursos e visualizar faturação consolidada aplicando a mesma etiqueta a múltiplos recursos e grupos de recursos.
  8. Selecione Rever + criar.

  9. A criação da conta demora alguns minutos. Espere que o portal exiba os Parabéns! A sua conta Azure Cosmos DB API para a conta MongoDB está pronta.

    Screenshot do painel de notificações do portal Azure.

Adicionar uma coleção

Nomeie a sua nova base de dados db e o seu novo colônio de recolha.

Agora pode utilizar a ferramenta Data Explorer no portal Azure para criar um API da Azure Cosmos DB para a base de dados e contentor do MongoDB.

  1. Selecione data explorer > novo recipiente.

    A área do Recipiente Adicionar é apresentada na extrema direita, pode ser necessário deslocar-se para a frente para o ver.

    O Data Explorer no portal do Azure, painel Adicionar Contentor

  2. Na página do recipiente Adicionar, introduza as definições para o novo recipiente.

    Definição Valor sugerido Descrição
    ID da Base de Dados db Insira o db como o nome da nova base de dados. Os nomes da base de dados devem conter de 1 a 255 caracteres, não podendo conter /, \\, #, ? , ou um espaço de fuga. Consulte a opção de produção da base de dados Provision, que lhe permite partilhar o produto que está previsto na base de dados em todos os contentores da base de dados. Esta opção também ajuda na poupança de custos.
    Débito 400 Deixe a produção a 400 unidades de pedido por segundo (RU/s). Se pretender reduzir a latência, pode aumentar verticalmente o débito mais tarde. Também pode escolher o modo Autoscale,que lhe dará uma gama de RU/s que irão aumentar e diminuir de forma dinâmica, conforme necessário.
    ID da Coleção coll Insira coll como o nome do seu novo recipiente. Os IDs dos contentores têm os mesmos requisitos em termos de carateres que os nomes das bases de dados.
    Capacidade de armazenamento Fixo (10GB) Introduza Fixo (10GB) para esta aplicação. Se selecionar Unlimited, terá de criar um Shard Key , que todos os itens inseridos exigirão.
    Chave de fragmento /_id A amostra descrita neste artigo não utiliza uma chave de fragmentos, por isso, definindo-a para /_id utilizará o campo de ID gerado automaticamente como tecla de fragmento. Saiba mais sobre o fragmento, também conhecido como partição, em Partition in Azure Cosmos DB

    Selecione OK. O Data Explorer mostra a base de dados e o contentor novos.

Clonar a aplicação de exemplo

Agora vamos clonar uma aplicação de GitHub, definir a cadeia de ligação, e executá-la. Vai ver como é fácil trabalhar com dados programaticamente.

  1. Abra uma linha de comandos, crie uma nova pasta designada git-samples e, em seguida, feche a linha de comandos.

    md "C:\git-samples"
    
  2. Abra uma janela de terminal do git, como o git bash e utilize o comando cd para alterar para uma nova pasta e instalar a aplicação de exemplo.

    cd "C:\git-samples"
    
  3. Execute o seguinte comando para clonar o repositório de exemplo. Este comando cria uma cópia da aplicação 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 no seu editor favorito.

Rever o código

Este passo é opcional. Se estiver interessado em aprender de que forma os recursos da base de dados são criados no código, pode consultar os seguintes fragmentos. Caso contrário, pode avançar diretamente para Update your connection string (Atualizar a cadeia de ligação).

Os seguintes excertos são todos retirados do ficheiro .java Programa.

Esta aplicação de consola utiliza o controlador MongoDB Java.

  • O DocumentClient é inicializado.

    MongoClientURI uri = new MongoClientURI("FILLME");`
    
    MongoClient mongoClient = new MongoClient(uri);            
    
  • São criadas uma base de dados e uma coleção novas.

    MongoDatabase database = mongoClient.getDatabase("db");
    
    MongoCollection<Document> collection = database.getCollection("coll");
    
  • São inseridos alguns documentos com MongoCollection.insertOne

    Document document = new Document("fruit", "apple")
    collection.insertOne(document);
    
  • São executadas algumas consultas com MongoCollection.find

    Document queryResult = collection.find(Filters.eq("fruit", "apple")).first();
    System.out.println(queryResult.toJson());       
    

Atualizar a cadeia de ligação

Agora, regresse ao portal do Azure para obter as informações da cadeia de ligação e copie-as para a aplicação.

  1. Na sua conta DB Azure Cosmos, selecione Quick Start, selecione Java e, em seguida, copie a cadeia de ligação para a sua área de transferência.

  2. Abra o ficheiro program.java, substitua o argumento do construtor MongoClientURI pela cadeia de ligação. Atualizou agora a sua aplicação com todas as informações necessárias para comunicar com o Azure Cosmos DB.

Executar a aplicação de consola

  1. Execute mvn package num terminal para instalar os módulos npm necessários

  2. Execute mvn exec:java -D exec.mainClass=GetStarted.Program num terminal para iniciar a aplicação Java.

Agora pode utilizar o Robomongo / Studio 3T para consultar, modificar e trabalhar com estes novos dados.

Rever os SLAs no portal do Azure

O portal Azure monitoriza a sua conta Cosmos DB, armazenamento, disponibilidade, latência e consistência. Gráficos para métricas associadas a um Acordo de Nível de Serviço DB da Azure Cosmos (SLA) mostram o valor SLA em comparação com o desempenho real. Este conjunto de métricas torna transparente a monitorização dos seus SLAs.

Para rever métricas e SLAs:

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

  2. Selecione um separador como Latência e selecione um prazo à direita. Compare as linhas Atual e SLA nas tabelas.

    Conjunto de métricas do Azure Cosmos DB

  3. Reveja as métricas nas outras abas.

Limpar os recursos

Quando terminar a sua app e a conta DB da Azure Cosmos, pode apagar os recursos Azure que criou para não incorrer em mais encargos. Para eliminar os recursos:

  1. Na barra de pesquisa do portal Azure, procure e selecione grupos de Recursos.

  2. A partir da lista, selecione o grupo de recursos que criou para este arranque rápido.

    Selecione o grupo de recursos para eliminar

  3. Na página de visão geral do grupo de recursos, selecione Eliminar o grupo de recursos.

    Eliminar o grupo de recursos

  4. Na janela seguinte, insira o nome do grupo de recursos para eliminar e, em seguida, selecione Delete.

Passos seguintes

Neste quickstart, aprendeu a criar um API DB API Azure Cosmos para a conta DB da Mongo, adicionar uma base de dados e um contentor usando o Data Explorer e adicionar dados através de uma aplicação de consola Java. Pode agora importar dados adicionais para a sua base de dados Cosmos.

A tentar planear a capacidade de uma migração para a Azure Cosmos DB? Pode utilizar informações sobre o seu cluster de base de dados existente para o planeamento de capacidades.

Import MongoDB data into Azure Cosmos DB (Importar dados do MongoDB para o Azure Cosmos DB)