Azure Cosmos DB for NoSQL: ejemplos del SDK de Java v4

SE APLICA A: NoSQL

Importante

Para más información sobre el SDK para Java v4, consulte Notas de la versión del SDK de Azure Cosmos DB para Java v4, el repositorio de Maven, las sugerencias de rendimiento del SDK de Azure Cosmos DB para Java v4 y la guía de solución de problemas del SDK de Azure Cosmos DB para Java v4. Si en la actualidad usa una versión anterior a v4, vea la guía Migración al SDK de Azure Cosmos DB para Java v4 a fin de obtener ayuda para actualizar a v4.

Importante

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Puede probar gratis Azure Cosmos DB sin una suscripción de Azure, de forma gratuita y sin compromiso. Como alternativa, puede crear una cuenta de nivel gratis de Azure Cosmos DB, con las primeras 1000 RU/s y 25 GB de almacenamiento de forma gratuita. También puede usar el emulador de Azure Cosmos DB con un identificador URI https://localhost:8081. Para obtener la clave que se va a usar con el emulador, consulte Autenticación de solicitudes.

En el repositorio de GitHub azure-cosmos-java-sql-api-samples se incluyen las aplicaciones de ejemplo más recientes que realizan operaciones CRUD y otras operaciones comunes en recursos de Azure Cosmos DB. Este artículo ofrece:

  • Vínculos para las tareas de cada uno de los archivos de proyecto de ejemplo de Java.
  • Vínculos al contenido de referencia de la API relacionada.

Requisitos previos

Necesita lo siguiente para poder ejecutar esta aplicación de ejemplo:

  • Java Development Kit 8
  • SDK de Azure Cosmos DB para Java v4

También puede usar Maven para obtener los archivos binarios más recientes del SDK de Microsoft Azure Cosmos DB para Java v4 para usarlos en el proyecto. Maven se encarga de agregar automáticamente las dependencias necesarias. En caso contrario, puede descargar directamente las dependencias que se enumeran en el archivo pom.xml y agregarlas a la ruta de acceso de la compilación.

<dependency>
	<groupId>com.azure</groupId>
	<artifactId>azure-cosmos</artifactId>
	<version>LATEST</version>
</dependency>

Ejecutar las aplicaciones de ejemplo

Clone el repositorio de ejemplo:

$ git clone https://github.com/Azure-Samples/azure-cosmos-java-sql-api-samples.git

$ cd azure-cosmos-java-sql-api-samples

Puede ejecutar los ejemplos mediante un IDE (Eclipse, IntelliJ o VS Code) o bien desde la línea de comandos mediante Maven.

Estas variables de entorno se deben establecer

ACCOUNT_HOST=your account hostname;ACCOUNT_KEY=your account primary key

con el fin de dar a los ejemplos acceso de lectura y escritura a su cuenta.

Para ejecutar un ejemplo, especifique su clase principal.

com.azure.cosmos.examples.sample.synchronicity.MainClass

donde sample. Synchronicity.MainClass puede ser

  • crudquickstart.sync.SampleCRUDQuickstart
  • crudquickstart.async.SampleCRUDQuickstartAsync
  • indexmanagement.sync.SampleIndexManagement
  • indexmanagement.async.SampleIndexManagementAsync
  • storedprocedure.sync.SampleStoredProcedure
  • storedprocedure.async.SampleStoredProcedureAsync
  • changefeed.SampleChangeFeedProcessor (Changefeed solo tiene un ejemplo asincrónico, ningún ejemplo sincrónico) , etc.

Nota:

Cada ejemplo es independiente, es decir, se configura a sí mismo y posteriormente se limpia solo. Los ejemplos emiten varias llamadas para crear un CosmosContainer o CosmosAsyncContainer. Cada vez que esto ocurre, se cobra a la suscripción una hora de uso de acuerdo con el nivel de rendimiento de la colección que se va a crear.

Ejemplos de base de datos

Los archivos de ejemplo CRUD de la base de datos para la sincronización y asincronización muestran cómo realizar las siguientes tareas. Para obtener información sobre las bases de datos de Azure Cosmos DB antes de ejecutar los siguientes ejemplos, consulte el artículo conceptual Uso de bases de datos, contenedores y elementos.

Tarea Referencia de API
Crear una base de datos CosmosClient.createDatabaseIfNotExists
CosmosAsyncClient.createDatabaseIfNotExists
Lectura de una base de datos por identificador CosmosClient.getDatabase
CosmosAsyncClient.getDatabase
Lectura de todas las bases de datos CosmosClient.readAllDatabases
CosmosAsyncClient.readAllDatabases
Eliminación de una base de datos CosmosDatabase.delete
CosmosAsyncDatabase.delete

Ejemplos de colección

Los archivos de ejemplo CRUD de la colección para la sincronización y asincronización muestran cómo realizar las siguientes tareas. Para información sobre las colecciones de Azure Cosmos DB antes de ejecutar los siguientes ejemplos, consulte el artículo conceptual Uso de bases de datos, contenedores y elementos.

Tarea Referencia de API
Creación de una colección CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Cambio de rendimiento configurado de una colección CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceProvisionedThroughput
Obtención de una colección por identificador CosmosDatabase.getContainer
CosmosAsyncDatabase.getContainer
Lectura de todas las colecciones de una base de datos CosmosDatabase.readAllContainers
CosmosAsyncDatabase.readAllContainers
Eliminación de una recopilación CosmosContainer.delete
CosmosAsyncContainer.delete

Ejemplos de la colección de escalado automático

Para obtener más información sobre el escalado automático antes de ejecutar estos ejemplos, eche un vistazo a estas instrucciones para habilitar el escalado automático en la cuenta y en las bases de datos y contenedores.

Los archivos de ejemplo de escalabilidad automática de la base de datos para la sincronización y asincronización muestran cómo realizar la siguiente tarea.

Tarea Referencia de API
Crear una base de datos con el rendimiento máximo de escalado automático especificado CosmosClient.createDatabase
CosmosAsyncClient.createDatabase

Los archivos de ejemplo de escalabilidad automática de la colección para la sincronización y asincronización muestran cómo realizar las siguientes tareas.

Tarea Referencia de API
Crear una colección con el rendimiento máximo de escalado automático especificado CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Cambiar el rendimiento máximo de escalado automático configurado de una colección CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceThroughput
Lectura de la configuración del rendimiento de escalado automático de una colección CosmosContainer.readThroughput
CosmosAsyncContainer.readThroughput

Ejemplos de colección de almacenamiento analítico

Los archivos de ejemplo CRUD del almacenamiento analítico para la sincronización y asincronización muestran cómo realizar las siguientes tareas. Para información sobre las colecciones de Azure Cosmos DB antes de ejecutar los ejemplos siguientes, lea acerca de Synapse y Analytical Store de Azure Cosmos DB.

Tarea Referencia de API
Creación de una colección CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists

Ejemplos de elementos

Los archivos de ejemplo CRUD de documento para la sincronización y asincronización muestran cómo realizar las siguientes tareas. Para información sobre los documentos de Azure Cosmos DB antes de ejecutar los ejemplos siguientes, consulte el artículo conceptual Uso de bases de datos, contenedores y elementos.

Nota:

Debe especificar una clave de partición al realizar operaciones en un elemento específico.

Tarea Referencia de API
Creación de un documento CosmosContainer.createItem
CosmosAsyncContainer.createItem
Lectura de un documento por identificador CosmosContainer.readItem
CosmosAsyncContainer.readItem
Consulta de documentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Sustitución de un documento CosmosContainer.replaceItem
CosmosAsyncContainer.replaceItem
Aplicación de upsert a un documento CosmosContainer.upsertItem
CosmosAsyncContainer.upsertItem
Eliminar un documento CosmosContainer.deleteItem
CosmosAsyncContainer.deleteItem
Reemplazo de un documento con la comprobación de ETag condicional CosmosItemRequestOptions.setIfMatchETag (sincronización)
CosmosItemRequestOptions.setIfMatchETag (asincronización)
Lectura de documento únicamente si ha cambiado CosmosItemRequestOptions.setIfNoneMatchETag (sincronización)
CosmosItemRequestOptions.setIfNoneMatchETag (asincronización)
Actualización parcial de documentos CosmosContainer.patchItem
Actualización masiva de documentos Ejemplos por lotes
Lote transaccional ejemplos por lotes

Ejemplos de indización

El archivo de ejemplos de CRUD de colección muestra cómo realizar las siguientes tareas. Para información sobre la indexación en Azure Cosmos DB antes de ejecutar los ejemplos siguientes, consulte los artículos conceptuales sobre las directivas de indexación, los tipos de indexación y las rutas de acceso de indexación.

Tarea Referencia de API
Inclusión de las rutas de acceso de documentos especificados en el índice IndexingPolicy.IncludedPaths
Exclusión de las rutas de acceso de documentos especificados del índice IndexingPolicy.ExcludedPaths
Creación de un índice compuesto IndexingPolicy.setCompositeIndexes
CompositePath
Creación de un índice geoespacial IndexingPolicy.setSpatialIndexes
SpatialSpec
SpatialType

Para más información sobre la indexación, consulte Directivas de indexación de Azure Cosmos DB.

Ejemplos de consultas

Los archivos de ejemplo de consultas para la sincronización y asincronización muestran cómo realizar las siguientes tareas mediante la gramática de consultas SQL. Para más información sobre la referencia de consultas SQL en Azure Cosmos DB antes de ejecutar los ejemplos siguientes, consulte los ejemplos de consultas SQL para Azure Cosmos DB.

Tarea Referencia de API
Consulta de todos los documentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta de igualdad mediante == CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta de desigualdad mediante != y NOT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta mediante operadores de intervalo como >, <, >=, <= CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta con operadores de intervalo en cadenas CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta con ORDER BY CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Query with DISTINCT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta con funciones de agregado CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Uso de subdocumentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta con Joins dentro de documentos CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta con operadores de cadena, matemáticos y de matriz CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta con SQL con parámetros mediante SqlQuerySpec CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta con paginación explícita CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Consulta de colecciones particionadas en paralelo CosmosContainer.queryItems
CosmosAsyncContainer.queryItems

Ejemplos de cambio de fuentes

En el archivo del ejemplo para cambiar la fuente de cambios se muestra cómo realizar las siguientes tareas. Para más información sobre la fuente de cambios de Azure Cosmos DB antes de ejecutar los ejemplos siguientes, consulte Lectura de la fuente de cambios de Azure Cosmos DB y Procesador de fuente de cambios.

Tarea Referencia de API
Funcionalidad básica de fuente de cambios ChangeFeedProcessor.changeFeedProcessorBuilder
Lectura de la fuente de cambios desde el principio ChangeFeedProcessorOptions.setStartFromBeginning()

Ejemplos de programación en el servidor

El archivo de ejemplo de procedimiento almacenado muestra cómo realizar las siguientes tareas. Para más información sobre la programación del lado servidor en Azure Cosmos DB antes de ejecutar los ejemplos siguientes, consulte Procedimientos almacenados, desencadenadores y funciones definidas por el usuario.

Tarea Referencia de API
Creación de un procedimiento almacenado CosmosScripts.createStoredProcedure
Ejecutar un procedimiento almacenado CosmosStoredProcedure.execute
Eliminar un procedimiento almacenado CosmosStoredProcedure.delete

Pasos siguientes

¿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.