Inicio rápido: Creación de una aplicación Java para administrar los datos de Table API de Azure Cosmos DB
SE APLICA A:
Table API
En este inicio rápido se crea una cuenta de Azure Cosmos DB para Table API y se utiliza Data Explorer y una aplicación de Java clonada desde GitHub para crear tablas y entidades. 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
- Una cuenta de Azure con una suscripción activa. cree una de forma gratuita. O bien, pruebe gratis Azure Cosmos DB sin una suscripción de Azure. También puede usar el emulador de Azure Cosmos DB con el identificador URI
https://localhost:8081y la claveC2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==. - Java Development Kit (JDK) 8. Apunte su variable de entorno
JAVA_HOMEa la carpeta donde está instalado el JDK. - Un archivo binario de Maven.
- Git.
Creación de una cuenta de base de datos
Importante
Debe crear una nueva cuenta de Table API para trabajar con los SDK de Table API disponibles para el público general. Las cuentas de Table API creadas durante la versión preliminar no son compatibles con los SDK disponibles para el público general.
En una nueva ventana del explorador, inicie sesión en Azure Portal.
En el menú de la izquierda, seleccione Crear un recurso.
En la página Nuevo, seleccione Bases de datos > Azure Cosmos DB.
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 Value Descripción Suscripción Su suscripción Seleccione la suscripción de Azure que quiere usar para esta cuenta de Azure Cosmos DB. Grupo de recursos Seleccione Crear nuevo y, a continuación, Nombre de cuenta Seleccione Crear nuevo. Luego, escriba un nombre nuevo de grupo de recursos para la cuenta. Para simplificar, use el mismo nombre que el de la cuenta de Azure Cosmos DB. Nombre de cuenta Un nombre único Escriba un nombre único para identificar la cuenta de Azure Cosmos DB.
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.API Tabla La API determina el tipo de cuenta que se va a crear. Azure Cosmos DB proporciona cinco API: Core (SQL) para bases de datos de documentos, Gremlin para bases de datos de grafos, MongoDB para bases de datos de documentos, Azure Table y Cassandra. Debe crear una cuenta independiente para cada API.
Seleccione Tabla de Azure, ya que en este inicio rápido va a crear una tabla que funciona con Table API.
Más información acerca de Table API.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 proporcionarles el acceso más rápido 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. En las opciones Redundancia geográfica y Escrituras en varias regiones puede dejar sus valores en Deshabilitar para evitar gastos adicionales y omitir las secciones Red y Etiquetas.
Seleccione Revisar y crear. Una vez completada la validación, seleccione Crear para crear la cuenta.
La operación de creación de la cuenta tarda unos minutos. Verá el mensaje La implementación está en curso. Espere hasta que finalice la implementación y seleccione Ir al recurso.
Agregar una tabla
Ahora puede usar la herramienta Explorador de datos en Azure Portal para crear una base de datos y una tabla.
Seleccione Explorador de datos > Nueva tabla.
El área Agregar tabla se muestra en el extremo derecho, pero es posible que tenga que desplazarse hacia la derecha para verla.

En la página Agregar tabla, escriba la configuración de la nueva tabla.
Configuración Valor sugerido Descripción Id. de tabla sample-table Identificador de la nueva tabla. Los nombres de tabla tienen los mismos requisitos de caracteres que los identificadores de base de datos. Los nombres de bases de datos deben tener entre 1 y 255 caracteres y no pueden contener / \ # ?o un espacio al final.Throughput 400 RU Cambie el rendimiento a 400 unidades de solicitud por segundo (RU/s). Si quiere reducir la latencia, puede escalar verticalmente el rendimiento más adelante. Seleccione Aceptar.
El Explorador de datos muestra la nueva base de datos y la tabla.

Adición de datos de ejemplo
Ahora puede agregar datos a la nueva tabla mediante el Explorador de datos.
En el Explorador de datos, expanda sample-table y seleccione Entidades y, después, seleccione Agregar entidad.

Ahora agregue datos al cuadro de valores de PartitionKey y RowKey y seleccione Agregar entidad.

Ahora puede agregar más entidades a la tabla, editar las entidades o consultar los datos en el Explorador de datos. En el Explorador de datos también puede escalar el rendimiento y agregar procedimientos almacenados, funciones definidas por el usuario y desencadenadores a su tabla.
Clonación de la aplicación de ejemplo
Ahora vamos a clonar una aplicación de Table desde GitHub, establecer la cadena de conexión y ejecutarla. Verá lo fácil que es trabajar con datos mediante programación.
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"Abra una ventana de terminal de Git, como git bash y utilice el comando
cdpara cambiar a la nueva carpeta para instalar la aplicación de ejemplo.cd "C:\git-samples"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/storage-table-java-getting-started.git
Sugerencia
Puede encontrar un tutorial más detallado de código similar en el artículo del ejemplo de Table API de Cosmos DB.
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. De lo contrario, puede ir directamente a la sección Actualización de la cadena de conexión de este mismo documento.
En el siguiente código se muestra cómo crear una tabla en Azure Storage:
private static CloudTable createTable(CloudTableClient tableClient, String tableName) throws StorageException, RuntimeException, IOException, InvalidKeyException, IllegalArgumentException, URISyntaxException, IllegalStateException { // Create a new table CloudTable table = tableClient.getTableReference(tableName); try { if (table.createIfNotExists() == false) { throw new IllegalStateException(String.format("Table with name \"%s\" already exists.", tableName)); } } catch (StorageException s) { if (s.getCause() instanceof java.net.ConnectException) { System.out.println("Caught connection exception from the client. If running with the default configuration please make sure you have started the storage emulator."); } throw s; } return table; }El código siguiente muestra cómo insertar datos en la tabla:
private static void batchInsertOfCustomerEntities(CloudTable table) throws StorageException { // Create the batch operation TableBatchOperation batchOperation1 = new TableBatchOperation(); for (int i = 1; i <= 50; i++) { CustomerEntity entity = new CustomerEntity("Smith", String.format("%04d", i)); entity.setEmail(String.format("smith%04d@contoso.com", i)); entity.setHomePhoneNumber(String.format("425-555-%04d", i)); entity.setWorkPhoneNumber(String.format("425-556-%04d", i)); batchOperation1.insertOrMerge(entity); } // Execute the batch operation table.execute(batchOperation1); }El código siguiente muestra cómo consultar los datos de la tabla:
private static void partitionScan(CloudTable table, String partitionKey) throws StorageException { // Create the partition scan query TableQuery<CustomerEntity> partitionScanQuery = TableQuery.from(CustomerEntity.class).where( (TableQuery.generateFilterCondition("PartitionKey", QueryComparisons.EQUAL, partitionKey))); // Iterate through the results for (CustomerEntity entity : table.execute(partitionScanQuery)) { System.out.println(String.format("\tCustomer: %s,%s\t%s\t%s\t%s", entity.getPartitionKey(), entity.getRowKey(), entity.getEmail(), entity.getHomePhoneNumber(), entity. getWorkPhoneNumber())); } }El código siguiente muestra cómo eliminar los datos de la tabla:
System.out.print("\nDelete any tables that were created."); if (table1 != null && table1.deleteIfExists() == true) { System.out.println(String.format("\tSuccessfully deleted the table: %s", table1.getName())); } if (table2 != null && table2.deleteIfExists() == true) { System.out.println(String.format("\tSuccessfully deleted the table: %s", table2.getName())); }
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. Esto permite que la aplicación se comunique con la base de datos hospedada.
En la cuenta de Azure Cosmos DB, en Azure Portal, seleccione Cadena de conexión.
Utilice los botones de copia en el lado derecho para copiar la cadena de conexión principal (PRIMARY CONNECTION STRING).
Abra config.properties desde la carpeta C:\git-samples\storage-table-java-getting-started\src\main\resources.
Convierta en comentario la línea uno y quite la marca de comentario de la línea dos. Las dos primeras líneas tendrán ahora un aspecto similar al siguiente.
#StorageConnectionString = UseDevelopmentStorage=true StorageConnectionString = DefaultEndpointsProtocol=https;AccountName=[ACCOUNTNAME];AccountKey=[ACCOUNTKEY]Pegue la cadena de conexión principal (PRIMARY CONNECTION STRING) del portal en el valor de StorageConnectionString, en la línea 2.
Importante
Si el punto de conexión utiliza documents.azure.com, significa que tiene una cuenta en versión preliminar y que deberá crear una nueva cuenta de Table API para trabajar con el SDK de Table API disponible para el público general.
Guarde el archivo config.properties.
Ya ha actualizado la aplicación con toda la información que necesita para comunicarse con Azure Cosmos DB.
Ejecución la aplicación
En la ventana de terminal de Git, use
cdpara cambiar a la carpeta storage-table-java-getting-started.cd "C:\git-samples\storage-table-java-getting-started"En la ventana de terminal de Git, ejecute los siguientes comandos para ejecutar la aplicación de Java.
mvn compile exec:javaLa ventana de consola muestra los datos de tabla que se van a agregar a la nueva base de datos de tablas en Azure Cosmos DB.
Ahora puede volver al Explorador de datos y ver, 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 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:
Seleccione Métricas en el menú de navegación de la cuenta de Cosmos DB.
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.

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:
En la barra de búsqueda de Azure Portal, busque y seleccione Grupos de recursos.
En la lista, seleccione el grupo de recursos que creó para este inicio rápido.

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

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, a crear una tabla mediante el Explorador de datos y a ejecutar una aplicación de Java para agregar datos de tabla. Ahora ya puede consultar los datos mediante Table API.