Inicio rápido: Creación de una aplicación de consola con Java y Azure Cosmos DB for MongoDB

SE APLICA A: MongoDB

En este inicio rápido, se crea y administra una cuenta de Azure Cosmos DB for MongoDB desde Azure Portal, y se agregan datos mediante una aplicación del SDK de Java clonada desde GitHub. Azure Cosmos DB es un servicio de base de datos multimodelo que permite crear y consultar rápidamente bases de datos de documentos, tablas, claves-valores y grafos con funcionalidades de distribución global y escala horizontal.

Requisitos previos

Creación de una cuenta de base de datos

  1. En una nueva ventana del explorador, inicie sesión en Azure Portal.

  2. En el menú de la izquierda, seleccione Crear un recurso.

    Captura de pantalla de creación de un recurso en Azure Portal.

  3. En la página Nuevo, seleccione Bases de datos>Azure Cosmos DB.

    Captura de pantalla del de las bases de datos de Azure Portal

  4. En la página Seleccionar opción de API, seleccione Azure Cosmos DB for MongoDB>Crear.

    La API determina el tipo de cuenta que se va a crear. Seleccione Azure Cosmos DB for MongoDB, ya que va a crear una colección que funciona con MongoDB en este inicio rápido. Para más información, consulte Introducción a Azure Cosmos DB for MongoDB.

    Captura de pantalla del panel de selección de la opción de API.

  5. En la página Crear una cuenta de Azure Cosmos DB, especifique la configuración de la nueva cuenta de Azure Cosmos DB.

    Configuración valor Descripción
    Subscription Nombre de suscripción Seleccione la suscripción de Azure que quiere usar para esta cuenta de Azure Cosmos DB.
    Grupo de recursos Definición de un nombre de grupo de recursos Seleccione un grupo de recursos o seleccione Crear nuevo y escriba un nombre único para el grupo de recursos nuevo.
    Nombre de cuenta Escriba un nombre único. Escriba un nombre único para identificar la cuenta de Azure Cosmos DB. El URI de la cuenta será mongo.cosmos.azure.com y se anexará al nombre único de la cuenta.

    El nombre de la cuenta solo puede utilizar letras minúsculas, números y guiones (-), y debe tener entre 3 y 44 caracteres de longitud.
    Location Región más cercana a los usuarios Seleccione una ubicación geográfica para hospedar la cuenta de Azure Cosmos DB. Use la ubicación más cercana a los usuarios para que puedan acceder de la forma más rápida posible a los datos.
    Capacity mode (Modo de capacidad) Rendimiento aprovisionado o sin servidor Seleccione Provisioned throughput (Rendimiento aprovisionado) para crear una cuenta en modo de rendimiento aprovisionado. Seleccione Serverless (Sin servidor) para crear una cuenta en modo sin servidor.

    Nota: solo se admiten la versiones 4.2, 4.0 y 3.6 de la API para MongoDB en las cuentas sin servidor. Si elige la versión 3.2, se forzará la cuenta al modo de rendimiento aprovisionado.
    Aplicar el descuento del nivel Gratis de Azure Cosmos DB Aplicar o No aplicar Con el nivel Gratis de Azure Cosmos DB, recibirá los primeros 1000 RU/s y 25 GB de almacenamiento gratis en una cuenta. Más información acerca del nivel Gratis.
    Versión Elección de la versión de servidor necesaria Azure Cosmos DB for MongoDB es compatible con la versión 4.2, 4.0, 3.6 y 3.2 del servidor. Puede actualizar o degradar una cuenta después de crearla.

    Nota

    Puede tener una cuenta de Azure Cosmos DB de nivel Gratis por cada suscripción de Azure y debe optar por tenerla al crear la cuenta. Si no ve la opción para aplicar el descuento por nivel Gratis, significará que en otra cuenta de la suscripción ya se ha habilitado el nivel Gratis.

    Captura de pantalla de la página de nueva cuenta de Azure Cosmos DB.

  6. En la pestaña Distribución global, configure los detalles siguientes. Puede dejar los valores predeterminados para este inicio rápido:

    Configuración valor Descripción
    Redundancia geográfica Deshabilitar Habilite o deshabilite la distribución global en su cuenta. Para ello, debe emparejar su región con una región de par. Puede agregar más regiones a su cuenta más adelante.
    Escrituras en varias regiones Deshabilitar La funcionalidad de escrituras en varias regiones le permite aprovechar el rendimiento aprovisionado para sus bases de datos y contenedores de todo el mundo.

    Nota

    Las siguientes opciones no están disponibles si selecciona Serverless (Sin servidor) en Capacity mode (Modo de capacidad):

    • Aplicación de descuento por nivel Gratis
    • Redundancia geográfica
    • Escrituras en varias regiones
  7. Opcionalmente, puede configurar detalles adicionales en las pestañas siguientes:

    • Redes: configure el acceso desde una red virtual.
    • Directiva de copia de seguridad: configure una directiva de copia de seguridad periódica o continua.
    • Cifrado: use una clave administrada por el servicio o una clave administrada por el cliente.
    • Etiquetas: son pares nombre-valor que permiten categorizar los recursos y ver una facturación consolidada mediante la aplicación de la misma etiqueta en varios recursos y grupos de recursos.
  8. Seleccione Revisar + crear.

  9. La cuenta tarda unos minutos en crearse. Espere a que el portal muestre la página ¡Enhorabuena! La cuenta de Azure Cosmos DB for MongoDB está lista.

    Captura de pantalla del panel de notificaciones de Azure Portal.

Agregar una colección

Asigne un nombre a la nueva base de datos db y a la nueva colección coll.

Ahora puede usar la herramienta Explorador de datos en Azure Portal para crear una base de datos y un contenedor de API para MongoDB de Azure Cosmos DB.

  1. Seleccione Data Explorer>Nuevo contenedor.

    El área Agregar contenedor se muestra en el extremo derecho, pero es posible que haya que desplazarse hacia la derecha para verlo.

    Explorador de datos de Azure Portal, panel Agregar contenedor

  2. En la página Agregar contenedor, especifique la configuración del nuevo contenedor.

    Configuración Valor sugerido Descripción
    Identificador de base de datos db Escriba db como nombre de la nueva base de datos. Los nombres de base de datos tienen que tener entre 1 y 255 caracteres y no pueden contener /, \\, #, ? o espacios finales. 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. Esta opción también le ayudará a reducir los costos.
    Rendimiento 400 Deje el rendimiento en 400 unidades de solicitud por segundo (RU/s). Si quiere reducir la latencia, puede escalar verticalmente el rendimiento más adelante. También puede elegir el modo de escalabilidad automática, lo que le proporcionará un rango de unidades de solicitud que aumentará y disminuirá dinámicamente según sea necesario.
    Identificador de colección coll Escriba coll como nombre del nuevo contenedor. Los identificadores de contenedor tienen los mismos requisitos de caracteres que los nombres de las bases de datos.
    Capacidad de almacenamiento Fija (10 GB) Escriba Fija (10 GB) para esta aplicación. Si selecciona Ilimitada, tendrá que crear una instancia de Shard Key, que todos los elementos que se inserten requerirán.
    Clave de partición /_id El ejemplo que se describe en este artículo no usa una clave de partición, por lo que si se establece en /_id usará el campo de identificador generado automáticamente como clave de partición. Para más información sobre el particionamiento, que se conoce también como creación de particiones, consulte Creación de particiones en Azure Cosmos DB

    Seleccione Aceptar. El Explorador de datos muestra la base de datos y el contenedor nuevos.

Clonación de la aplicación de ejemplo

Ahora vamos a clonar una aplicación desde GitHub, establecer la cadena de conexión y ejecutarla. Verá lo fácil que es trabajar con datos mediante programación.

  1. Abra un símbolo del sistema, cree una carpeta nueva denominada ejemplos de GIT y, después, cierre el símbolo del sistema.

    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.

    cd "C:\git-samples"
    
  3. Ejecute el comando siguiente para clonar el repositorio de ejemplo. Este comando crea una copia de la aplicación de ejemplo en el equipo.

    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.

Revisión del código

Este paso es opcional. 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. En caso contrario, puede ir directamente a Actualización de la cadena de conexión.

Los fragmentos de código siguientes se han tomado del archivo Program.java.

Esta aplicación de consola usa el controlador Java de MongoDB.

  • Se inicializa DocumentClient.

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

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

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

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

Actualización de la cadena de conexión

Ahora vuelva a Azure Portal para obtener la información de la cadena de conexión y cópiela en la aplicación.

  1. En la cuenta de Azure Cosmos DB, seleccione Inicio rápido, Java y copie la cadena de conexión en el Portapapeles.

  2. Abra el archivo Program.java y reemplace el argumento del constructor MongoClientURI por la cadena de conexión. Ya ha actualizado la aplicación con toda la información que necesita para comunicarse con Azure Cosmos DB.

Ejecutar la aplicación de consola

  1. Ejecute mvn package en un terminal para instalar los paquetes necesarios.

  2. Ejecute mvn exec:java -D exec.mainClass=GetStarted.Program en un terminal para iniciar la aplicación de Java.

Ahora puede usar Robomongo / Studio 3T para consultar, modificar y trabajar con estos nuevos datos.

Revisión de los SLA en Azure Portal

Azure Portal supervisa el rendimiento, capacidad de almacenamiento, disponibilidad, latencia y coherencia de su cuenta de Azure Cosmos DB. 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. Este conjunto de métricas hace que la supervisión de los Acuerdos de Nivel de Servicio sea transparente.

Para revisar las métricas y los Acuerdos de Nivel de Servicio:

  1. Seleccione Métricas en el menú de navegación de la cuenta de Azure Cosmos DB.

  2. Seleccione una pestaña como Latencia y seleccione un período de tiempo a la derecha. Compare las líneas Real y SLA de los gráficos.

    Conjunto de métricas de Azure Cosmos DB

  3. Revise las métricas de las otras pestañas.

Limpieza de recursos

Cuando haya terminado tanto con la aplicación como con la cuenta de Azure Cosmos DB, puede eliminar los recursos de Azure que creó para no tener más gastos. Para eliminar los recursos:

  1. En la barra de búsqueda de Azure Portal, busque y seleccione Grupos de recursos.

  2. En la lista, seleccione el grupo de recursos que creó para este inicio rápido.

    Selección del grupo de recursos que se eliminará

  3. En la página Información general del grupo de recursos, seleccione Eliminar grupo de recursos.

    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.

Pasos siguientes

En este inicio rápido, ha aprendido a crear una cuenta de Azure Cosmos DB for MongoDB, a agregar una base de datos y un contenedor mediante el Explorador de datos, y a agregar datos mediante una aplicación de consola de Java. Ya puede importar datos adicionales en su base de datos de Azure Cosmos DB.

¿Intenta planear la capacidad de una migración a Azure Cosmos DB? Para ello, puede usar información sobre el clúster de bases de datos existente.