Início Rápido: Criar um aplicativo Web usando a API do Azure Cosmos DB para MongoDB e o SDK do JavaQuickstart: Build a web app using Azure Cosmos DB's API for MongoDB and Java SDK

O Azure Cosmos DB é o serviço de banco de dados multimodelo distribuído globalmente da Microsoft.Azure Cosmos DB is Microsoft’s globally distributed multi-model database service. É possível criar e consultar rapidamente bancos de dados de documentos, de chave/valor e de grafo, que se beneficiem das funcionalidades de escala horizontal e de distribuição global no núcleo do Cosmos DB.You can quickly create and query document, key/value and graph databases, all of which benefit from the global distribution and horizontal scale capabilities at the core of Cosmos DB.

Este início rápido demonstra como criar uma conta do Cosmos com a API do Azure Cosmos DB para MongoDB.This quickstart demonstrates how to create a Cosmos account with Azure Cosmos DB's API for MongoDB. Você compilará e implantará um aplicativo de console compilado usando o driver MongoDB Java.You'll then build and deploy a console app built using the MongoDB Java driver.

Pré-requisitosPrerequisites

Antes que possa executar esta amostra, você deverá ter os seguintes pré-requisitos:Before you can run this sample, you must have the following prerequisites:

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.If you don't have an Azure subscription, create a free account before you begin.

Como alternativa, você pode Experimentar o Azure Cosmos DB gratuitamente sem uma assinatura do Azure, gratuitamente e sem compromisso.Alternatively, you can Try Azure Cosmos DB for free without an Azure subscription, free of charge and commitments. Ou você pode usar o Emulador do Azure Cosmos DB neste tutorial com uma cadeia de conexão deOr you can use the Azure Cosmos DB Emulator for this tutorial with a connection string of

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true

Crie uma conta de banco de dadosCreate a database account

  1. Em uma nova janela, entre no portal do Azure.In a new window, sign in to the Azure portal.

  2. No menu à esquerda, selecione Criar um recurso, Bancos de dados e em Azure Cosmos DB, selecione Criar.In the left menu, select Create a resource, select Databases, and then under Azure Cosmos DB, select Create.

    Captura de tela do portal do Azure, realçando Mais Serviços e Azure Cosmos DB

  3. Na página Criar Conta do Azure Cosmos DB, insira as configurações da nova conta do Azure Cosmos DB.In the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    ConfiguraçãoSetting ValorValue DESCRIÇÃODescription
    SubscriptionSubscription Sua assinaturaYour subscription Selecione a assinatura do Azure que você deseja usar para essa conta do Azure Cosmos DB.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    Grupo de recursosResource Group Criar NovoCreate new

    Em seguida, insira o mesmo nome exclusivo fornecido na IDThen enter the same unique name as provided in ID
    Selecione Criar novo.Select Create new. Insira o novo nome do grupo de recursos para sua conta.Then enter a new resource-group name for your account. Para simplificar, use um nome igual à sua ID.For simplicity, use the same name as your ID.
    Nome da contaAccount Name Insira um nome exclusivoEnter a unique name Insira um nome exclusivo para identificar a conta do Azure Cosmos DB.Enter a unique name to identify your Azure Cosmos DB account. Como documents.Azure.com é acrescentado à ID que você fornece para criar o URI, use uma ID exclusiva.Because documents.azure.com is appended to the ID that you provide to create your URI, use a unique ID.

    A ID deve conter apenas letras minúsculas, números e o caractere de hífen (-).The ID can use only lowercase letters, numbers, and the hyphen (-) character. Ela precisa ter entre 3 e 31 caracteres.It must be between 3 and 31 characters in length.
    APIAPI API do Azure Cosmos DB para MongoDBAzure Cosmos DB's API for MongoDB A API determina o tipo de conta a ser criada.The API determines the type of account to create. O Azure Cosmos DB fornece cinco APIs: Core (SQL) para bancos de dados de documentos, Gremlin para o bancos de dados de grafos, API para MongoDB do Azure Cosmos DB para bancos de dados de documentos, Tabela do Azure e Cassandra.Azure Cosmos DB provides five APIs: Core (SQL) for document databases, Gremlin for graph databases, Azure Cosmos DB's API MongoDB for document databases, Azure Table, and Cassandra. No momento, você deve criar uma conta separada para cada API.Currently, you must create a separate account for each API.

    Selecione MongoDB, porque neste guia de início rápido você está criando uma tabela que funciona com o MongoDB.Select MongoDB because in this quickstart you are creating a table that works with the MongoDB.
    LocationLocation Selecione a região mais próxima de seus usuáriosSelect the region closest to your users Selecione uma localização geográfica para hospedar a sua conta do Azure Cosmos DB.Select a geographic location to host your Azure Cosmos DB account. Use o local mais próximo dos usuários para fornecer a eles acesso mais rápido aos dados.Use the location that's closest to your users to give them the fastest access to the data.

    Selecione Revisar + Criar.Select Review+Create. Você pode ignorar as seções Rede e Marcas.You can skip the Network and Tags section.

    A página da nova conta do Azure Cosmos DB

  4. A criação da conta leva alguns minutos.The account creation takes a few minutes. Aguarde até que o portal exiba a página Parabéns! Sua conta do Cosmos com a compatibilidade de protocolo de transmissão para o MongoDB está pronta.Wait for the portal to display the Congratulations! Your Cosmos account with wire protocol compatibility for MongoDB is ready page.

    O painel Notificações do portal do Azure

Adicionar uma coleçãoAdd a collection

Nomeie o novo banco de dados, db e sua nova coleção, coll.Name your new database, db, and your new collection, coll.

Agora, você pode usar a ferramenta Data Explorer no portal do Azure para criar um banco de dados e um contêiner.You can now use the Data Explorer tool in the Azure portal to create a database and container.

  1. Selecione Data Explorer > Novo Contêiner.Select Data Explorer > New Container.

    A área Adicionar Contêiner é exibida à extrema direita; talvez seja necessário rolar a página para a direita para vê-la.The Add Container area is displayed on the far right, you may need to scroll right to see it.

    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.In the Add container page, enter the settings for the new container.

    ConfiguraçãoSetting Valor sugeridoSuggested value DESCRIÇÃODescription
    ID do banco de dadosDatabase ID TarefasTasks Insira ToDoList como o nome para o novo banco de dados.Enter ToDoList as the name for the new database. Os nomes dos banco de dados devem conter de 1 a 255 caracteres e não podem conter /, \\, #, ? nem um espaço à direita.Database names must contain from 1 through 255 characters, and they cannot contain /, \\, #, ?, or a trailing space. 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.Check the Provision database throughput option, it allows you to share the throughput provisioned to the database across all the containers within the database. Essa opção também ajuda na economia de custo.This option also helps with cost savings.
    Taxa de transferênciaThroughput 400400 Deixe a taxa de transferência em 400 unidades de solicitação por segundo (RU/s).Leave the throughput at 400 request units per second (RU/s). Se quiser reduzir a latência, você poderá escalar verticalmente a taxa de transferência mais tarde.If you want to reduce latency, you can scale up the throughput later.
    ID do contêinerContainer ID ItensItems Insira Itens como o nome do novo contêiner.Enter Items as the name for your new container. As IDs do contêiner têm os mesmos requisitos de caractere dos nomes de bancos de dados.Container IDs have the same character requirements as database names.
    Chave de partiçãoPartition key /category/category O exemplo descrito neste artigo usa /category como a chave de partição.The sample described in this article uses /category as the partition key.

    Além das configurações anteriores, opcionalmente, você pode adicionar Chaves exclusivas ao contêiner.In addition to the preceding settings, you can optionally add Unique keys for the container. Vamos deixar o campo vazio neste exemplo.Let's leave the field empty in this example. As chaves exclusivas oferecem aos desenvolvedores a capacidade de adicionar uma camada de integridade dos dados ao seu banco de dados.Unique keys provide developers with the ability to add a layer of data integrity to the database. Ao criar uma política de chave exclusiva durante a criação de um contêiner, você garante a exclusividade de um ou mais valores por chave de partição.By creating a unique key policy while creating a container, you ensure the uniqueness of one or more values per partition key. Para obter mais informações, consulte o artigo Chaves exclusivas no Azure Cosmos DB.To learn more, refer to the Unique keys in Azure Cosmos DB article.

    Selecione OK.Select OK. O Data Explorer exibe o novo banco de dados e o contêiner.The Data Explorer displays the new database and container.

Clonar o aplicativo de exemploClone the sample application

Agora, clonaremos um aplicativo do GitHub, definiremos a cadeia de conexão e o executaremos.Now let's clone an app from GitHub, set the connection string, and run it. Você verá como é fácil trabalhar usando dados de forma programática.You'll see how easy it is to work with data programmatically.

  1. Abra um prompt de comando, crie uma nova pasta chamada exemplos de git e feche o prompt de comando.Open a command prompt, create a new folder named git-samples, then close the command prompt.

    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.Open a git terminal window, such as git bash, and use the cd command to change to the new folder to install the sample app.

    cd "C:\git-samples"
    
  3. Execute o comando a seguir para clonar o repositório de exemplo.Run the following command to clone the sample repository. Este comando cria uma cópia do aplicativo de exemplo no seu computador.This command creates a copy of the sample app on your computer.

    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.Then open the code in your favorite editor.

Examine o códigoReview the code

Esta etapa é opcional.This step is optional. 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.If you're interested in learning how the database resources are created in the code, you can review the following snippets. Caso contrário, você poderá pular para Atualizar sua cadeia de conexão.Otherwise, you can skip ahead to Update your connection string.

Todos os snippets de código a seguir são retirados do arquivo Program.java.The following snippets are all taken from the Program.java file.

  • O DocumentClient é inicializado.The DocumentClient is initialized.

    MongoClientURI uri = new MongoClientURI("FILLME");`
    
    MongoClient mongoClient = new MongoClient(uri);            
    
  • Um novo banco de dados e uma nova coleção são criados.A new database and collection are created.

    MongoDatabase database = mongoClient.getDatabase("db");
    
    MongoCollection<Document> collection = database.getCollection("coll");
    
  • Alguns documentos são inseridos usando MongoCollection.insertOneSome documents are inserted using MongoCollection.insertOne

    Document document = new Document("fruit", "apple")
    collection.insertOne(document);
    
  • Algumas consultas são executadas usando MongoCollection.findSome queries are performed using MongoCollection.find

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

Atualizar sua cadeia de conexãoUpdate your connection string

Agora, volte ao portal do Azure para obter informações sobre a cadeia de conexão e copiá-las para o aplicativo.Now go back to the Azure portal to get your connection string information and copy it into the app.

  1. Da conta, selecione Início Rápido, selecione Java e copie a cadeia de conexão para a área de transferênciaFrom the Account, select Quick Start, select Java, then copy the connection string to your clipboard

  2. Abra o arquivo Program.java, substitua o argumento para o construtor MongoClientURI pela cadeia de conexão.Open the Program.java file, replace the argument to the MongoClientURI constructor with the connection string. Agora, você atualizou o aplicativo com todas as informações necessárias para se comunicar com o Azure Cosmos DB.You've now updated your app with all the info it needs to communicate with Azure Cosmos DB.

Execute o aplicativo de consoleRun the console app

  1. Executar mvn package em um terminal para instalar os módulos npm necessáriosRun mvn package in a terminal to install required npm modules

  2. Execute mvn exec:java -D exec.mainClass=GetStarted.Program em um terminal para iniciar o aplicativo Java.Run mvn exec:java -D exec.mainClass=GetStarted.Program in a terminal to start your Java application.

Agora você pode usar Robomongo / Studio 3T para consultar, modificar e trabalhar com esses novos dados.You can now use Robomongo / Studio 3T to query, modify, and work with this new data.

Examinar SLAs no Portal do AzureReview SLAs in the Azure portal

O portal do Azure monitora a taxa de transferência, armazenamento, disponibilidade, latência e consistência da conta do Cosmos DB.The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. 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.Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. Esse conjunto de métricas torna o monitoramento dos SLAs transparente.This suite of metrics makes monitoring your SLAs transparent.

Para examinar as métricas e os SLAs:To review metrics and SLAs:

  1. Selecione Métricas no menu de navegação da sua conta do Cosmos DB.Select Metrics in your Cosmos DB account's navigation menu.

  2. Selecione uma guia, tal como Latência, e selecione um período à direita.Select a tab such as Latency, and select a timeframe on the right. Comparar as linhas Real e SLA dos gráficos.Compare the Actual and SLA lines on the charts.

    Pacote de métricas do Azure Cosmos DB

  3. Examine as métricas nas outras guias.Review the metrics on the other tabs.

Limpar recursosClean up resources

Quando você concluir seu aplicativo Web e a conta do Azure Cosmos DB, poderá excluir os recursos do Azure criados para não incorrer em mais cobranças.When you're done with your web app and Azure Cosmos DB account, you can delete the Azure resources you created so you don't incur more charges. Para excluir os recursos:To delete the resources:

  1. No portal do Azure, selecione Grupos de recursos no canto esquerdo.In the Azure portal, select Resource groups on the far left. Se o menu esquerdo estiver recolhido, selecione Expandir botão para expandi-lo.If the left menu is collapsed, select Expand button to expand it.

  2. Selecione o grupo de recursos que você criou para este início rápido.Select the resource group you created for this quickstart.

    Métricas no portal do Azure

  3. Na nova janela, selecione Excluir grupo de recursos.In the new window, select Delete resource group.

    Métricas no portal do Azure

  4. Na próxima janela, insira o nome do grupo de recursos a ser excluído e selecione Excluir.In the next window, enter the name of the resource group to delete, and then select Delete.

Próximas etapasNext steps

Neste início rápido, você aprendeu como criar uma conta do Cosmos, criar uma coleção e executar um aplicativo de console.In this quickstart, you've learned how to create a Cosmos account, create a collection and run a console app. Agora você pode importar dados adicionais para o banco de dados Cosmos.You can now import additional data to your Cosmos database.