Inicio rápido: Creación de una aplicación de consola con Java y la API MongoDB en Azure Cosmos DBQuickstart: Create a console app with Java and the MongoDB API in Azure Cosmos DB

En este inicio rápido, usará la API de Azure Cosmos DB para Mongo DB y el SDK de Java para crear una aplicación web de consola.In this quickstart, you'll use the Azure Cosmos DB API for Mongo DB and Java SDK to create a console web app. Azure Cosmos DB le permite crear rápidamente bases de datos de documentos, clave-valor y grafos, y realizar consultas en ellas. Todas las bases de datos se beneficiarán de las funcionalidades de distribución global y escala horizontal de Cosmos DB.Azure Cosmos DB allows you to 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.

En este inicio rápido se muestra cómo crear una cuenta de Cosmos con la API de Azure Cosmos DB para MongoDB.This quickstart demonstrates how to create a Cosmos account with Azure Cosmos DB's API for MongoDB. Después, compilará e implementará una aplicación de consola compilada con el controlador Java de MongoDB.You'll then build and deploy a console app built using the MongoDB Java driver.

Requisitos previosPrerequisites

Antes de ejecutar este ejemplo, debe cumplir los siguientes requisitos previos:Before you can run this sample, you must have the following prerequisites:

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin.

También tiene la alternativa de probar gratis Azure Cosmos DB sin una suscripción de Azure, sin cargos y sin compromiso.Alternatively, you can Try Azure Cosmos DB for free without an Azure subscription, free of charge and commitments. O puede usar el Emulador de Azure Cosmos DB en este tutorial con una cadena de conexiónOr 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

Creación de una cuenta de base de datosCreate a database account

  1. En una nueva ventana, inicie sesión en Azure Portal.In a new window, sign in to the Azure portal.

  2. En el menú de la izquierda, seleccione Crear un recurso, luego en Bases de datos y, finalmente, en Azure Cosmos DB, seleccione Crear.In the left menu, select Create a resource, select Databases, and then under Azure Cosmos DB, select Create.

    Captura de pantalla de Azure Portal en la que se resaltan Más servicios y Azure Cosmos DB

  3. En la página Crear una cuenta de Azure Cosmos DB, especifique la configuración de la nueva cuenta de Azure Cosmos DB.In the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    ConfiguraciónSetting ValorValue DESCRIPCIÓNDescription
    SubscriptionSubscription Su suscripciónYour subscription Seleccione la suscripción de Azure que quiere usar para esta cuenta de Azure Cosmos DB.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    Grupo de recursosResource Group Crear nuevoCreate new

    A continuación, escriba el mismo nombre único que se proporcionó en el identificadorThen enter the same unique name as provided in ID
    Seleccione Crear nuevo.Select Create new. A continuación, escriba un nombre nuevo de grupo de recursos para la cuenta.Then enter a new resource-group name for your account. Para simplificar, utilice el mismo nombre del identificador.For simplicity, use the same name as your ID.
    Nombre de cuentaAccount Name Escriba un nombre único.Enter a unique name Escriba un nombre único para identificar la cuenta de Azure Cosmos DB.Enter a unique name to identify your Azure Cosmos DB account. Dado que documents.azure.com se anexa al identificador que se proporciona para crear el identificador URI, debe usar un identificador único.Because documents.azure.com is appended to the ID that you provide to create your URI, use a unique ID.

    El identificador solo debe contener letras minúsculas, números y el carácter de guion (-).The ID can use only lowercase letters, numbers, and the hyphen (-) character. Debe tener una longitud de entre 3 y 31 caracteres.It must be between 3 and 31 characters in length.
    APIAPI API de Azure Cosmos DB para MongoDBAzure Cosmos DB's API for MongoDB La API determina el tipo de cuenta que se va a crear.The API determines the type of account to create. Azure Cosmos DB proporciona cinco API: Core(SQL) para bases de datos de documentos, Gremlin para bases de datos de grafos, API MongoDB de Azure Cosmos DB para bases de datos de documentos, Azure Table y 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. Actualmente, debe crear una cuenta independiente para cada API.Currently, you must create a separate account for each API.

    Seleccione MongoDB, ya que en este artículo de inicio rápido va a crear una tabla que funciona con MongoDB.Select MongoDB because in this quickstart you are creating a table that works with the MongoDB.
    LocationLocation Seleccionar la región más cercana a los usuariosSelect the region closest to your users Seleccione una ubicación geográfica para hospedar la cuenta de Azure Cosmos DB.Select a geographic location to host your Azure Cosmos DB account. Use la ubicación más cercana a los usuarios para proporcionarles el acceso más rápido a los datos.Use the location that's closest to your users to give them the fastest access to the data.

    Seleccione Revisar y crear.Select Review+Create. Puede omitir las secciones Red y Etiquetas.You can skip the Network and Tags section.

    Página de la nueva cuenta de Azure Cosmos DB

  4. La cuenta tarda unos minutos en crearse.The account creation takes a few minutes. Espere a que el portal muestre la página ¡Enhorabuena! Su cuenta de Cosmos con compatibilidad de protocolo de conexión con MongoDB está lista.Wait for the portal to display the Congratulations! Your Cosmos account with wire protocol compatibility for MongoDB is ready page.

    El panel de las notificaciones de Azure Portal

Agregar una colecciónAdd a collection

Asígnele un nombre a la base de datos nueva (db) y a la nueva colección (coll).Name your new database, db, and your new collection, coll.

Ahora puede usar la herramienta Explorador de datos en Azure Portal para crear una base de datos y un contenedor.You can now use the Data Explorer tool in the Azure portal to create a database and container.

  1. Seleccione Data Explorer > Nuevo contenedor.Select Data Explorer > New Container.

    El área Agregar contenedor se muestra en el extremo derecho, pero es posible que haya que desplazarse hacia la derecha para verlo.The Add Container area is displayed on the far right, you may need to scroll right to see it.

    Explorador de datos de Azure Portal, panel Agregar contenedor

  2. En la página Agregar contenedor, especifique la configuración del nuevo contenedor.In the Add container page, enter the settings for the new container.

    ConfiguraciónSetting Valor sugeridoSuggested value DESCRIPCIÓNDescription
    Identificador de base de datosDatabase ID TareasTasks Escriba ToDoList como nombre de la nueva base de datos.Enter ToDoList as the name for the new database. Los nombres de base de datos tienen que tener entre 1 y 255 caracteres y no pueden contener /, \\, #, ? o espacios finales.Database names must contain from 1 through 255 characters, and they cannot contain /, \\, #, ?, or a trailing space. Seleccione la opción Provision database throughput (Aprovisionar rendimiento de la base de datos) que le permite compartir el rendimiento aprovisionado de la base de datos entre todos los contenedores de esta.Check the Provision database throughput option, it allows you to share the throughput provisioned to the database across all the containers within the database. Esta opción también le ayudará a reducir los costos.This option also helps with cost savings.
    RendimientoThroughput 400400 Deje el rendimiento en 400 unidades de solicitud por segundo (RU/s).Leave the throughput at 400 request units per second (RU/s). Si quiere reducir la latencia, puede escalar verticalmente el rendimiento más adelante.If you want to reduce latency, you can scale up the throughput later.
    ID de contenedorContainer ID ElementosItems Escriba Elementos como nombre del nuevo contenedor.Enter Items as the name for your new container. Los identificadores de contenedor tienen los mismos requisitos de caracteres que los nombres de las bases de datos.Container IDs have the same character requirements as database names.
    Clave de particiónPartition key /categoría/category El ejemplo que se describe en este artículo usa /category como clave de partición.The sample described in this article uses /category as the partition key.

    Además de la configuración anterior, puede agregar opcionalmente claves únicas para el contenedor.In addition to the preceding settings, you can optionally add Unique keys for the container. En este ejemplo vamos a dejar el campo en blanco.Let's leave the field empty in this example. Las claves únicas proporcionan a los desarrolladores la capacidad de agregar una capa de integridad de datos a la base de datos.Unique keys provide developers with the ability to add a layer of data integrity to the database. Mediante la creación de una directiva de clave única al crear un contenedor, se garantiza la unicidad de uno o varios valores por clave de partición.By creating a unique key policy while creating a container, you ensure the uniqueness of one or more values per partition key. Para más información, consulte el artículo Claves únicas en Azure Cosmos DB.To learn more, refer to the Unique keys in Azure Cosmos DB article.

    Seleccione Aceptar.Select OK. El Explorador de datos muestra la nueva base de datos y el contenedor.The Data Explorer displays the new database and container.

Clonación de la aplicación de ejemploClone the sample application

Ahora vamos a clonar una aplicación desde GitHub, establecer la cadena de conexión y ejecutarla.Now let's clone an app from GitHub, set the connection string, and run it. Verá lo fácil que es trabajar con datos mediante programación.You'll see how easy it is to work with data programmatically.

  1. Abra un símbolo del sistema, cree una carpeta nueva denominada ejemplos de GIT y, después, cierre el símbolo del sistema.Open a command prompt, create a new folder named git-samples, then close the command prompt.

    md "C:\git-samples"
    
  2. Abra una ventana de terminal de Git, como git bash y utilice el comando cd para cambiar a la nueva carpeta para instalar la aplicación de ejemplo.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. Ejecute el comando siguiente para clonar el repositorio de ejemplo.Run the following command to clone the sample repository. Este comando crea una copia de la aplicación de ejemplo en el equipo.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. A continuación, abra el código en su editor favorito.Then open the code in your favorite editor.

Revisión del códigoReview the code

Este paso es opcional.This step is optional. Si está interesado en aprender cómo se crean los recursos de base de datos en el código, puede revisar los siguientes fragmentos de código.If you're interested in learning how the database resources are created in the code, you can review the following snippets. En caso contrario, puede ir directamente a Actualización de la cadena de conexión.Otherwise, you can skip ahead to Update your connection string.

Los fragmentos de código siguientes se han tomado del archivo Program.java.The following snippets are all taken from the Program.java file.

  • Se inicializa DocumentClient.The DocumentClient is initialized.

    MongoClientURI uri = new MongoClientURI("FILLME");`
    
    MongoClient mongoClient = new MongoClient(uri);            
    
  • Se crean una base de datos y una colección.A new database and collection are created.

    MongoDatabase database = mongoClient.getDatabase("db");
    
    MongoCollection<Document> collection = database.getCollection("coll");
    
  • Se insertan algunos documentos mediante MongoCollection.insertOne.Some documents are inserted using MongoCollection.insertOne

    Document document = new Document("fruit", "apple")
    collection.insertOne(document);
    
  • Se realizan algunas consultas mediante MongoCollection.find.Some queries are performed using MongoCollection.find

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

Actualización de la cadena de conexiónUpdate your connection string

Ahora vuelva a Azure Portal para obtener la información de la cadena de conexión y cópiela en la aplicación.Now go back to the Azure portal to get your connection string information and copy it into the app.

  1. En la cuenta, seleccione Inicio rápido, elija Java y copie la cadena de conexión en el Portapapeles.From the Account, select Quick Start, select Java, then copy the connection string to your clipboard.

  2. Abra el archivo Program.java y reemplace el argumento del constructor MongoClientURI por la cadena de conexión.Open the Program.java file, replace the argument to the MongoClientURI constructor with the connection string. Ya ha actualizado la aplicación con toda la información que necesita para comunicarse con Azure Cosmos DB.You've now updated your app with all the info it needs to communicate with Azure Cosmos DB.

Ejecutar la aplicación de consolaRun the console app

  1. Ejecute mvn package en un terminal para instalar los módulos npm necesarios.Run mvn package in a terminal to install required npm modules

  2. Ejecute mvn exec:java -D exec.mainClass=GetStarted.Program en un terminal para iniciar la aplicación de Java.Run mvn exec:java -D exec.mainClass=GetStarted.Program in a terminal to start your Java application.

Ahora puede usar Robomongo / Studio 3T para consultar, modificar y trabajar con estos nuevos datos.You can now use Robomongo / Studio 3T to query, modify, and work with this new data.

Revisión de los SLA en Azure PortalReview SLAs in the Azure portal

Azure Portal supervisa el rendimiento, capacidad de almacenamiento, disponibilidad, latencia y coherencia de su cuenta de Cosmos DB.The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. Los gráficos de las métricas asociadas con un Acuerdo de Nivel de Servicio (SLA) de Azure Cosmos DB muestran el rendimiento real en comparación con el valor de este acuerdo.Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. Este conjunto de métricas hace que la supervisión de los Acuerdos de Nivel de Servicio sea transparente.This suite of metrics makes monitoring your SLAs transparent.

Para revisar las métricas y los Acuerdos de Nivel de Servicio:To review metrics and SLAs:

  1. Seleccione Métricas en el menú de navegación de la cuenta de Cosmos DB.Select Metrics in your Cosmos DB account's navigation menu.

  2. Seleccione una pestaña como Latencia y seleccione un período de tiempo a la derecha.Select a tab such as Latency, and select a timeframe on the right. Compare las líneas Real y SLA de los gráficos.Compare the Actual and SLA lines on the charts.

    Conjunto de métricas de Azure Cosmos DB

  3. Revise las métricas de las otras pestañas.Review the metrics on the other tabs.

Limpieza de recursosClean up resources

Cuando haya terminado tanto con la aplicación web como con la cuenta de Azure Cosmos DB, puede eliminar los recursos de Azure que creó para no tener más gastos.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 eliminar los recursos:To delete the resources:

  1. En Azure Portal, seleccione Grupos de recursos a la izquierda del todo.In the Azure portal, select Resource groups on the far left. Si el menú de la izquierda está contraído, seleccione el botón Expandir para expandirlo.If the left menu is collapsed, select Expand button to expand it.

  2. Seleccione el grupo de recursos que creó para este inicio rápido.Select the resource group you created for this quickstart.

    Selección del grupo de recursos que se eliminará

  3. En la nueva ventana, seleccione Eliminar grupo de recursos.In the new window, select Delete resource group.

    Eliminar el grupo de recursos

  4. En la ventana siguiente, escriba el nombre del grupo de recursos que desea eliminar y, después, seleccione Eliminar.In the next window, enter the name of the resource group to delete, and then select Delete.

Pasos siguientesNext steps

En este inicio rápido, ha aprendido a crear una cuenta de Cosmos, crear una colección y ejecutar una aplicación de consola.In this quickstart, you've learned how to create a Cosmos account, create a collection and run a console app. Ahora puede importar datos adicionales en la base de datos de Cosmos.You can now import additional data to your Cosmos database.