CosmosAsyncContainer Clase

  • java.lang.Object
    • com.azure.cosmos.CosmosAsyncContainer

public class CosmosAsyncContainer

Proporciona métodos para leer, eliminar y reemplazar contenedores existentes. Proporciona métodos para interactuar con recursos secundarios (elementos, scripts, conflictos)

Resumen del método

Modificador y tipo Método y descripción
Mono<CosmosItemResponse<T>> createItem(T item)

Crea un elemento.

Mono<CosmosItemResponse<T>> createItem(T item, CosmosItemRequestOptions options)

Crea un elemento de Cosmos.

Mono<CosmosItemResponse<T>> createItem(T item, PartitionKey partitionKey, CosmosItemRequestOptions options)

Crea un elemento.

Mono<CosmosItemResponse<Object>> deleteItem(T item, CosmosItemRequestOptions options)

Elimina el elemento.

Mono<CosmosItemResponse<T>> patchItem(String itemId, PartitionKey partitionKey, CosmosPatchOperations cosmosPatchOperations, CosmosPatchItemRequestOptions options, Class<T> itemType)

Ejecute una actualización parcial que modifique propiedades o campos específicos del elemento sin reemplazar todo el elemento.

Mono<CosmosItemResponse<T>> patchItem(String itemId, PartitionKey partitionKey, CosmosPatchOperations cosmosPatchOperations, Class<T> itemType)

Ejecute una actualización parcial que modifique propiedades o campos específicos del elemento sin reemplazar todo el elemento.

CosmosPagedFlux<T> queryChangeFeed(CosmosChangeFeedRequestOptions options, Class<T> classType)

Consulte los elementos de la fuente de cambios del contenedor actual mediante CosmosChangeFeedRequestOptions.

CosmosPagedFlux<T> queryItems(SqlQuerySpec querySpec, CosmosQueryRequestOptions options, Class<T> classType)

Consulte los elementos del contenedor actual mediante y SqlQuerySpecCosmosQueryRequestOptions.

CosmosPagedFlux<T> queryItems(SqlQuerySpec querySpec, Class<T> classType)

Consulte los elementos del contenedor actual mediante .SqlQuerySpec

CosmosPagedFlux<T> queryItems(String query, CosmosQueryRequestOptions options, Class<T> classType)

Consulte los elementos del contenedor actual mediante una cadena.

CosmosPagedFlux<T> queryItems(String query, Class<T> classType)

Consulte los elementos del contenedor actual.

CosmosPagedFlux<T> readAllItems(PartitionKey partitionKey, CosmosQueryRequestOptions options, Class<T> classType)

Lee todos los elementos de una partición lógica.

CosmosPagedFlux<T> readAllItems(PartitionKey partitionKey, Class<T> classType)

Lee todos los elementos de una partición lógica.

Mono<CosmosItemResponse<T>> readItem(String itemId, PartitionKey partitionKey, CosmosItemRequestOptions options, Class<T> itemType)

Lee un elemento por identificador de elementomediante un configurado CosmosItemRequestOptions.

Mono<CosmosItemResponse<T>> readItem(String itemId, PartitionKey partitionKey, Class<T> itemType)

Lee un elemento por identificador de elemento.

Mono<FeedResponse<T>> readMany(List<CosmosItemIdentity> itemIdentityList, Class<T> classType)

Lee muchos documentos.

Mono<FeedResponse<T>> readMany(List<CosmosItemIdentity> itemIdentityList, String sessionToken, Class<T> classType)

Lee muchos documentos.

Mono<CosmosItemResponse<T>> replaceItem(T item, String itemId, PartitionKey partitionKey)

Reemplaza un elemento existente en un contenedor por un nuevo elemento.

Mono<CosmosItemResponse<T>> replaceItem(T item, String itemId, PartitionKey partitionKey, CosmosItemRequestOptions options)

Reemplaza un elemento existente en un contenedor por un nuevo elemento.

Mono<CosmosItemResponse<T>> upsertItem(T item)

Upserts un elemento.

Mono<CosmosItemResponse<T>> upsertItem(T item, CosmosItemRequestOptions options)

Upserts un elemento.

Mono<CosmosItemResponse<T>> upsertItem(T item, PartitionKey partitionKey, CosmosItemRequestOptions options)

Upserts un elemento.

Flux<CosmosBulkOperationResponse<TContext>> executeBulkOperations(Flux<CosmosItemOperation> operations)

Ejecuta el flujo de operaciones en masa.

Flux<CosmosBulkOperationResponse<TContext>> executeBulkOperations(Flux<CosmosItemOperation> operations, CosmosBulkExecutionOptions bulkOptions)

Ejecuta el flujo de operaciones en masa.

Mono<CosmosContainerResponse> delete()

Elimina el contenedor actual.

Mono<CosmosContainerResponse> delete(CosmosContainerRequestOptions options)

Elimina el contenedor.

Mono<CosmosItemResponse<Object>> deleteAllItemsByPartitionKey(PartitionKey partitionKey, CosmosItemRequestOptions options)

Elimina todos los elementos del contenedor con el valor de clave de particiónespecificado.

Mono<CosmosItemResponse<Object>> deleteItem(String itemId, PartitionKey partitionKey)

Elimina un elemento.

Mono<CosmosItemResponse<Object>> deleteItem(String itemId, PartitionKey partitionKey, CosmosItemRequestOptions options)

Elimina el elemento.

void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

Habilite el grupo de control de rendimiento con el modo de control global.

void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

Habilite el grupo de control de rendimiento con el modo de control local.

Mono<CosmosBatchResponse> executeCosmosBatch(CosmosBatch cosmosBatch)

Ejecuta el lote transaccional.

Mono<CosmosBatchResponse> executeCosmosBatch(CosmosBatch cosmosBatch, CosmosBatchRequestOptions requestOptions)

Ejecuta el lote transaccional.

CosmosAsyncConflict getConflict(String id)

Obtiene un objeto mediante el CosmosAsyncConflict contenedor actual para el contexto.

CosmosAsyncDatabase getDatabase()

Obtiene el elemento primario CosmosAsyncDatabase del contenedor actual.

Mono<List<FeedRange>> getFeedRanges()

Obtiene una lista de FeedRange que se puede usar para paralelizar las operaciones de fuente.

String getId()

Obtenga el identificador de .CosmosAsyncContainer

CosmosAsyncScripts getScripts()

Obtiene un CosmosAsyncScripts objeto que usa el contenedor actual como contexto.

Mono<Void> openConnectionsAndInitCaches()

Obsoleto

Mejor esfuerzo para inicializar el contenedor mediante el calentamiento de las memorias caché y las conexiones para la región de lectura actual.

Mono<Void> openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Obsoleto

Mejor esfuerzo para inicializar el contenedor mediante el calentamiento de las memorias caché y las conexiones a un no especificado.

CosmosPagedFlux<CosmosConflictProperties> queryConflicts(String query)

Consulta todos los conflictos del contenedor actual.

CosmosPagedFlux<CosmosConflictProperties> queryConflicts(String query, CosmosQueryRequestOptions options)

Consulta todos los conflictos del contenedor actual.

Mono<CosmosContainerResponse> read()

Lee el contenedor actual.

Mono<CosmosContainerResponse> read(CosmosContainerRequestOptions options)

Lee el contenedor actual al especificar opciones adicionales, como If-Match.

CosmosPagedFlux<CosmosConflictProperties> readAllConflicts(CosmosQueryRequestOptions options)

Enumera todos los conflictos del contenedor actual.

Mono<ThroughputResponse> readThroughput()

Lea el rendimiento aprovisionado para el contenedor actual.

Mono<CosmosContainerResponse> replace(CosmosContainerProperties containerProperties)

Reemplaza las propiedades del contenedor actual.

Mono<CosmosContainerResponse> replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Reemplaza las propiedades de contenedor actuales mientras se usan opciones de solicitud no predeterminadas.

Mono<ThroughputResponse> replaceThroughput(ThroughputProperties throughputProperties)

Reemplace el rendimiento.

Métodos heredados de java.lang.Object

Detalles del método

createItem

public Mono<>> createItem(T item)

Crea un elemento.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de recurso con el elemento de Cosmos creado. En caso de error, se producirá un Mono error.

Parameters:

item - el elemento de Cosmos representado como un objeto poJO o de elemento de Cosmos.

Returns:

que Mono contiene la respuesta de recurso único con el elemento de Cosmos creado o un error.

createItem

public Mono<>> createItem(T item, CosmosItemRequestOptions options)

Crea un elemento de Cosmos.

Parameters:

item - el elemento.
options - las opciones de solicitud de elemento.

Returns:

que Mono contiene la respuesta de recurso único con el elemento de Cosmos creado o un error.

createItem

public Mono<>> createItem(T item, PartitionKey partitionKey, CosmosItemRequestOptions options)

Crea un elemento.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de recurso con el elemento de Cosmos creado. En caso de error, se producirá un Mono error.

Parameters:

item - el elemento de Cosmos representado como un objeto poJO o de elemento de Cosmos.
partitionKey - la clave de partición.
options - las opciones de solicitud.

Returns:

que Mono contiene la respuesta de recurso único con el elemento de Cosmos creado o un error.

deleteItem

public Mono<>> deleteItem(T item, CosmosItemRequestOptions options)

Elimina el elemento.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de elemento de Cosmos para el elemento eliminado.

Parameters:

item - elemento que se va a eliminar.
options - las opciones de solicitud.

Returns:

que Mono contiene la respuesta de recursos del elemento de Cosmos.

patchItem

public Mono<>> patchItem(String itemId, PartitionKey partitionKey, CosmosPatchOperations cosmosPatchOperations, CosmosPatchItemRequestOptions options, Class itemType)

Ejecute una actualización parcial que modifique propiedades o campos específicos del elemento sin reemplazar todo el elemento.

CosmosPatchOperations cosmosPatchOperations = CosmosPatchOperations.create();

 cosmosPatchOperations
     .add("/departure", "SEA")
     .increment("/trips", 1);

 cosmosAsyncContainer.patchItem(
         passenger.getId(),
         new PartitionKey(passenger.getId()),
         cosmosPatchOperations,
         Passenger.class)
     .subscribe(response -> {
         System.out.println(response);
     }, throwable -> {
         throwable.printStackTrace();
     });

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de elemento de Cosmos con el elemento revisado.

Parameters:

itemId - el identificador del elemento.
partitionKey - la clave de partición.
cosmosPatchOperations - Representa un contenedor que tiene una lista de operaciones que se van a aplicar secuencialmente al elemento de Cosmos al que se hace referencia.
options - las opciones de solicitud.
itemType - el tipo de elemento.

Returns:

que Mono contiene la respuesta de recursos del elemento de Cosmos con el elemento revisado o un error.

patchItem

public Mono<>> patchItem(String itemId, PartitionKey partitionKey, CosmosPatchOperations cosmosPatchOperations, Class itemType)

Ejecute una actualización parcial que modifique propiedades o campos específicos del elemento sin reemplazar todo el elemento.

CosmosPatchOperations cosmosPatchOperations = CosmosPatchOperations.create();

 cosmosPatchOperations
     .add("/departure", "SEA")
     .increment("/trips", 1);

 cosmosAsyncContainer.patchItem(
         passenger.getId(),
         new PartitionKey(passenger.getId()),
         cosmosPatchOperations,
         Passenger.class)
     .subscribe(response -> {
         System.out.println(response);
     }, throwable -> {
         throwable.printStackTrace();
     });

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de elemento de Cosmos con el elemento revisado.

Parameters:

itemId - el identificador del elemento.
partitionKey - la clave de partición.
cosmosPatchOperations - Representa un contenedor que tiene una lista de operaciones que se van a aplicar secuencialmente al elemento de Cosmos al que se hace referencia.
itemType - el tipo de elemento.

Returns:

que Mono contiene la respuesta de recursos del elemento de Cosmos con el elemento revisado o un error.

queryChangeFeed

public CosmosPagedFlux queryChangeFeed(CosmosChangeFeedRequestOptions options, Class classType)

Consulte los elementos de la fuente de cambios del contenedor actual mediante CosmosChangeFeedRequestOptions.

CosmosChangeFeedRequestOptions options = CosmosChangeFeedRequestOptions
     .createForProcessingFromNow(FeedRange.forFullRange())
     .allVersionsAndDeletes();

 cosmosAsyncContainer.queryChangeFeed(options, Passenger.class)
     .byPage()
     .flatMap(passengerFeedResponse -> {
         for (Passenger passenger : passengerFeedResponse.getResults()) {
             System.out.println(passenger);
         }
         return Flux.empty();
     })
     .subscribe();

Después de la suscripción, se realizará la operación. Contendrá Flux una o varias respuestas de fuente de los elementos obtenidos. En caso de error, se producirá un CosmosPagedFlux<T> error.

Parameters:

options - las opciones de solicitud de fuente de cambios.
classType - el tipo de clase .

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los elementos obtenidos o un error.

queryItems

public CosmosPagedFlux queryItems(SqlQuerySpec querySpec, CosmosQueryRequestOptions options, Class classType)

Consulte los elementos del contenedor actual mediante y SqlQuerySpecCosmosQueryRequestOptions.

Después de la suscripción, se realizará la operación. Contendrá Flux una o varias respuestas de fuente de los elementos obtenidos. En caso de error, se producirá un CosmosPagedFlux<T> error.

Parameters:

querySpec - la especificación de la consulta SQL.
options - las opciones de solicitud de consulta.
classType - el tipo de clase .

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los elementos obtenidos o un error.

queryItems

public CosmosPagedFlux queryItems(SqlQuerySpec querySpec, Class classType)

Consulte los elementos del contenedor actual mediante .SqlQuerySpec

CosmosQueryRequestOptions options = new CosmosQueryRequestOptions();

 String query = "SELECT * FROM Passenger p WHERE (p.departure = @departure)";
 List<SqlParameter> parameters = Collections.singletonList(new SqlParameter("@departure", "SEA"));
 SqlQuerySpec sqlQuerySpec = new SqlQuerySpec(query, parameters);

 cosmosAsyncContainer.queryItems(sqlQuerySpec, options, Passenger.class)
     .byPage()
     .flatMap(passengerFeedResponse -> {
         for (Passenger passenger : passengerFeedResponse.getResults()) {
             System.out.println(passenger);
         }
         return Flux.empty();
     })
     .subscribe();

Después de la suscripción, se realizará la operación. Contendrá CosmosPagedFlux<T> una o varias respuestas de fuente de los elementos obtenidos. En caso de error, se producirá un CosmosPagedFlux<T> error.

Parameters:

querySpec - la especificación de la consulta SQL.
classType - el tipo de clase .

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los elementos obtenidos o un error.

queryItems

public CosmosPagedFlux queryItems(String query, CosmosQueryRequestOptions options, Class classType)

Consulte los elementos del contenedor actual mediante una cadena.

CosmosQueryRequestOptions options = new CosmosQueryRequestOptions();
 String query = "SELECT * FROM Passenger WHERE Passenger.departure IN ('SEA', 'IND')";
 cosmosAsyncContainer.queryItems(query, options, Passenger.class)
     .byPage()
     .flatMap(passengerFeedResponse -> {
         for (Passenger passenger : passengerFeedResponse.getResults()) {
             System.out.println(passenger);
         }
         return Flux.empty();
     })
     .subscribe();

Después de la suscripción, se realizará la operación. Contendrá CosmosPagedFlux<T> una o varias respuestas de fuente de los elementos obtenidos. En caso de error, se producirá un CosmosPagedFlux<T> error.

Parameters:

query - la consulta.
options - las opciones de solicitud de consulta.
classType - el tipo de clase .

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los elementos obtenidos o un error.

queryItems

public CosmosPagedFlux queryItems(String query, Class classType)

Consulte los elementos del contenedor actual.

CosmosQueryRequestOptions options = new CosmosQueryRequestOptions();
 String query = "SELECT * FROM Passenger WHERE Passenger.departure IN ('SEA', 'IND')";
 cosmosAsyncContainer.queryItems(query, options, Passenger.class)
     .byPage()
     .flatMap(passengerFeedResponse -> {
         for (Passenger passenger : passengerFeedResponse.getResults()) {
             System.out.println(passenger);
         }
         return Flux.empty();
     })
     .subscribe();

Después de la suscripción, se realizará la operación. Contendrá CosmosPagedFlux<T> una o varias respuestas de fuente de los elementos obtenidos. En caso de error, se producirá un CosmosPagedFlux<T> error.

Parameters:

query - la consulta.
classType - el tipo de clase .

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los elementos obtenidos o un error.

readAllItems

public CosmosPagedFlux readAllItems(PartitionKey partitionKey, CosmosQueryRequestOptions options, Class classType)

Lee todos los elementos de una partición lógica.

cosmosAsyncContainer
     .readAllItems(new PartitionKey(partitionKey), Passenger.class)
     .byPage(100)
     .flatMap(passengerFeedResponse -> {
         for (Passenger passenger : passengerFeedResponse.getResults()) {
             System.out.println(passenger);
         }
         return Flux.empty();
     })
     .subscribe();

Después de la suscripción, se realizará la operación. CosmosPagedFlux<T> contendrá una o varias respuestas de fuente de los elementos de Cosmos de lectura. En caso de error, se producirá un CosmosPagedFlux<T> error.

Parameters:

partitionKey - el valor de clave de partición de los documentos que deben leerse
options - las opciones de fuente (opcional).
classType - el tipo de clase .

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los elementos de Cosmos de lectura o un error.

readAllItems

public CosmosPagedFlux readAllItems(PartitionKey partitionKey, Class classType)

Lee todos los elementos de una partición lógica.

cosmosAsyncContainer
     .readAllItems(new PartitionKey(partitionKey), Passenger.class)
     .byPage(100)
     .flatMap(passengerFeedResponse -> {
         for (Passenger passenger : passengerFeedResponse.getResults()) {
             System.out.println(passenger);
         }
         return Flux.empty();
     })
     .subscribe();

Después de la suscripción, se realizará la operación. CosmosPagedFlux<T> contendrá una o varias respuestas de fuente de los elementos de Cosmos de lectura. En caso de error, se producirá un CosmosPagedFlux<T> error.

Parameters:

partitionKey - el valor de clave de partición de los documentos que deben leerse
classType - el tipo de clase .

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los elementos de Cosmos de lectura o un error.

readItem

public Mono<>> readItem(String itemId, PartitionKey partitionKey, CosmosItemRequestOptions options, Class itemType)

Lee un elemento por itemId mediante un configurado CosmosItemRequestOptions. Esta operación se usa para recuperar un único elemento de un contenedor en función de su identificador único (ID) y clave de partición. La operación readItem proporciona acceso directo a un elemento específico mediante su identificador único, que consta del identificador del elemento y del valor de clave de partición. Esta operación es eficaz para recuperar un elemento conocido por su identificador y clave de partición sin necesidad de realizar consultas complejas.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una respuesta de elemento de Cosmos con el elemento de lectura.

Parameters:

itemId - el identificador del elemento.
partitionKey - la clave de partición.
options - la solicitud (opcional) CosmosItemRequestOptions.
itemType - el tipo de elemento.

Returns:

que Mono contiene la respuesta del elemento de Cosmos con el elemento de lectura o un error.

readItem

public Mono<>> readItem(String itemId, PartitionKey partitionKey, Class itemType)

Lee un elemento por itemId. Esta operación se usa para recuperar un único elemento de un contenedor en función de su identificador único (ID) y clave de partición. La operación readItem proporciona acceso directo a un elemento específico mediante su identificador único, que consta del identificador del elemento y del valor de clave de partición. Esta operación es eficaz para recuperar un elemento conocido por su identificador y clave de partición sin necesidad de realizar consultas complejas.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una respuesta de elemento con el elemento de lectura.

// Read an item
 cosmosAsyncContainer.readItem(passenger.getId(), new PartitionKey(passenger.getId()), Passenger.class)
     .flatMap(response -> Mono.just(response.getItem()))
     .subscribe(passengerItem -> System.out.println(passengerItem), throwable -> {
         CosmosException cosmosException = (CosmosException) throwable;
         cosmosException.printStackTrace();
     });
 // ...

Parameters:

itemId - el identificador del elemento.
partitionKey - la clave de partición.
itemType - el tipo de elemento.

Returns:

que Mono contiene la respuesta del elemento de Cosmos con el elemento de lectura o un error.

readMany

public Mono<>> readMany(List itemIdentityList, Class classType)

Lee muchos documentos. Resulta útil para leer muchos documentos con un identificador determinado y una clave de partición en una sola solicitud. Si falta algún documento de la lista, no se producirá ninguna excepción.

List<CosmosItemIdentity> itemIdentityList = new ArrayList<>();
 itemIdentityList.add(new CosmosItemIdentity(new PartitionKey(passenger1Id), passenger1Id));
 itemIdentityList.add(new CosmosItemIdentity(new PartitionKey(passenger2Id), passenger2Id));

 cosmosAsyncContainer.readMany(itemIdentityList, Passenger.class)
     .flatMap(passengerFeedResponse -> {
         for (Passenger passenger : passengerFeedResponse.getResults()) {
             System.out.println(passenger);
         }
         return Mono.empty();
     })
     .subscribe();

Parameters:

itemIdentityList - Id. de CosmosItem y tupla de clave de partición de elementos que deben leerse
classType - tipo de clase

Returns:

un mono con respuesta de fuente de elementos de Cosmos

readMany

public Mono<>> readMany(List itemIdentityList, String sessionToken, Class classType)

Lee muchos documentos. Resulta útil para leer muchos documentos con un identificador determinado y una clave de partición en una sola solicitud. Si falta algún documento de la lista, no se producirá ninguna excepción.

List<CosmosItemIdentity> itemIdentityList = new ArrayList<>();
 itemIdentityList.add(new CosmosItemIdentity(new PartitionKey(passenger1Id), passenger1Id));
 itemIdentityList.add(new CosmosItemIdentity(new PartitionKey(passenger2Id), passenger2Id));

 cosmosAsyncContainer.readMany(itemIdentityList, Passenger.class)
     .flatMap(passengerFeedResponse -> {
         for (Passenger passenger : passengerFeedResponse.getResults()) {
             System.out.println(passenger);
         }
         return Mono.empty();
     })
     .subscribe();

Parameters:

itemIdentityList - Id. de CosmosItem y tupla de clave de partición de elementos que deben leerse
sessionToken - el token de sesión opcional: null si la lectura se puede realizar sin un token de sesión específico
classType - tipo de clase

Returns:

un mono con respuesta de fuente de elementos de Cosmos o error

replaceItem

public Mono<>> replaceItem(T item, String itemId, PartitionKey partitionKey)

Reemplaza un elemento existente en un contenedor por un nuevo elemento. Realiza un reemplazo completo del elemento, reemplazando todas sus propiedades por las propiedades del nuevo elemento.

cosmosAsyncContainer.replaceItem(
         newPassenger,
         oldPassenger.getId(),
         new PartitionKey(oldPassenger.getId()),
         new CosmosItemRequestOptions())
     .subscribe(response -> {
         System.out.println(response);
     }, throwable -> {
         throwable.printStackTrace();
     });

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de elemento de Cosmos con el elemento reemplazado.

Parameters:

item - elemento que se va a reemplazar (que contiene el identificador del elemento).
itemId - el identificador del elemento.
partitionKey - la clave de partición.

Returns:

que Mono contiene la respuesta del recurso de elemento de Cosmos con el elemento reemplazado o un error.

replaceItem

public Mono<>> replaceItem(T item, String itemId, PartitionKey partitionKey, CosmosItemRequestOptions options)

Reemplaza un elemento existente en un contenedor por un nuevo elemento. Realiza un reemplazo completo del elemento, reemplazando todas sus propiedades por las propiedades del nuevo elemento.

cosmosAsyncContainer.replaceItem(
         newPassenger,
         oldPassenger.getId(),
         new PartitionKey(oldPassenger.getId()),
         new CosmosItemRequestOptions())
     .subscribe(response -> {
         System.out.println(response);
     }, throwable -> {
         throwable.printStackTrace();
     });

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de elemento de Cosmos con el elemento reemplazado.

Parameters:

item - elemento que se va a reemplazar (que contiene el identificador del elemento).
itemId - el identificador del elemento.
partitionKey - la clave de partición.
options - la solicitud comosItemRequestOptions (opcional).

Returns:

que Mono contiene la respuesta del recurso de elemento de Cosmos con el elemento reemplazado o un error.

upsertItem

public Mono<>> upsertItem(T item)

Upserts un elemento.

Después de la suscripción, se realizará la operación. Una Mono vez finalizada correctamente, contendrá una única respuesta de recurso con el elemento upserted. En caso de error, se producirá un Mono error.

Parameters:

item - el elemento representado como un objeto POJO o Item para upsert.

Returns:

que Mono contiene la respuesta de un único recurso con el elemento upserted o un error.

upsertItem

public Mono<>> upsertItem(T item, CosmosItemRequestOptions options)

Upserts un elemento.

Después de la suscripción, se realizará la operación. Una Mono vez finalizada correctamente, contendrá una única respuesta de recurso con el elemento upserted. En caso de error, se producirá un Mono error.

Parameters:

item - el elemento representado como un objeto POJO o Item para upsert.
options - las opciones de solicitud.

Returns:

que Mono contiene la respuesta de un único recurso con el elemento upserted o un error.

upsertItem

public Mono<>> upsertItem(T item, PartitionKey partitionKey, CosmosItemRequestOptions options)

Upserts un elemento.

Después de la suscripción, se realizará la operación. Una Mono vez finalizada correctamente, contendrá una única respuesta de recurso con el elemento upserted. En caso de error, se producirá un Mono error.

Parameters:

item - el elemento representado como un objeto POJO o Item para upsert.
partitionKey - la clave de partición.
options - las opciones de solicitud.

Returns:

que Mono contiene la respuesta de un único recurso con el elemento upserted o un error.

executeBulkOperations

public Flux<>> executeBulkOperations(Flux operations)

Ejecuta el flujo de operaciones en masa.

Parameters:

operations - Flujo de operación que ejecutará este contenedor.

Returns:

Flujo de CosmosBulkOperationResponse<TContext> que contiene la operación y es la respuesta o excepción. Para crear una operación que se puede ejecutar aquí, use CosmosBulkOperations. Por ejemplo, para usar una operación upsert com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) Podemos obtener la operación correspondiente mediante getOperation() y es la respuesta mediante getResponse(). Si la operación se ejecutó correctamente, el valor devuelto por isSuccessStatusCode() será true. Para obtener el estado real, use getStatusCode(). Para comprobar si la operación tenía alguna excepción, use getException() para obtener la excepción.

executeBulkOperations

public Flux<>> executeBulkOperations(Flux operations, CosmosBulkExecutionOptions bulkOptions)

Ejecuta el flujo de operaciones en masa.

Parameters:

operations - Flujo de operación que ejecutará este contenedor.
bulkOptions - Opciones que se aplican a esta solicitud masiva, que especifica opciones relacionadas con la ejecución, como la simultaneidad, el tamaño del procesamiento por lotes, el intervalo y el contexto.

Returns:

Flujo de CosmosBulkOperationResponse<TContext> que contiene la operación y es la respuesta o excepción. Para crear una operación que se puede ejecutar aquí, use CosmosBulkOperations. Por ejemplo, para usar una operación upsert com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) Podemos obtener la operación correspondiente mediante getOperation() y es la respuesta mediante getResponse(). Si la operación se ejecutó correctamente, el valor devuelto por isSuccessStatusCode() será true. Para obtener el estado real, use getStatusCode(). Para comprobar si la operación tenía alguna excepción, use getException() para obtener la excepción.

delete

public Mono delete()

Elimina el contenedor actual.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de contenedor de Cosmos para el contenedor eliminado. En caso de error, se producirá un Mono error.

Returns:

que Mono contiene la respuesta de contenedor de Cosmos única para el contenedor eliminado o un error.

delete

public Mono delete(CosmosContainerRequestOptions options)

Elimina el contenedor.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de contenedor de Cosmos para la base de datos eliminada. En caso de error, se producirá un Mono error.

Parameters:

options - las opciones de solicitud.

Returns:

que Mono contiene la respuesta de contenedor de Cosmos única para la base de datos eliminada o un error.

deleteAllItemsByPartitionKey

public Mono<>> deleteAllItemsByPartitionKey(PartitionKey partitionKey, CosmosItemRequestOptions options)

Elimina todos los elementos del contenedor con el valor partitionKey especificado. Inicia una operación en segundo plano asincrónica de Cosmos DB que elimina todos los elementos del contenedor con el valor especificado. La operación en segundo plano asincrónica de Cosmos DB se ejecuta con un porcentaje de RU de usuario.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de elemento de Cosmos para todos los elementos eliminados.

Parameters:

partitionKey - partitionKey del elemento.
options - las opciones de solicitud.

Returns:

que Mono contiene la respuesta del recurso de elemento de Cosmos.

deleteItem

public Mono<>> deleteItem(String itemId, PartitionKey partitionKey)

Elimina un elemento.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de elemento de Cosmos para el elemento eliminado.

cosmosAsyncContainer.deleteItem(
     passenger.getId(),
     new PartitionKey(passenger.getId())
 ).subscribe(response -> {
     System.out.println(response);
 }, throwable -> {
     CosmosException cosmosException = (CosmosException) throwable;
     cosmosException.printStackTrace();
 });

Parameters:

itemId - el identificador del elemento.
partitionKey - la clave de partición.

Returns:

que Mono contiene la respuesta del recurso de elemento de Cosmos.

deleteItem

public Mono<>> deleteItem(String itemId, PartitionKey partitionKey, CosmosItemRequestOptions options)

Elimina el elemento.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de elemento de Cosmos para el elemento eliminado.

Parameters:

itemId - id del elemento.
partitionKey - partitionKey del elemento.
options - las opciones de solicitud (opcional).

Returns:

que Mono contiene la respuesta del recurso de elemento de Cosmos.

enableGlobalThroughputControlGroup

public void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

Habilite el grupo de control de rendimiento con el modo de control global. El límite de rendimiento definido se compartirá entre distintos clientes.

ThroughputControlGroupConfig groupConfig =
     new ThroughputControlGroupConfigBuilder()
         .groupName("localControlGroup")
         .targetThroughputThreshold(0.1)
         .build();

 GlobalThroughputControlConfig globalControlConfig =
     this.client.createGlobalThroughputControlConfigBuilder(database.getId(), container.getId())
         .setControlItemRenewInterval(Duration.ofSeconds(5))
         .setControlItemExpireInterval(Duration.ofSeconds(10))
         .build();

 container.enableGlobalThroughputControlGroup(groupConfig, globalControlConfig);

Parameters:

groupConfig - La configuración del grupo de control de rendimiento, vea GlobalThroughputControlGroup.
globalControlConfig - La configuración del control de rendimiento global, consulte GlobalThroughputControlConfig.

enableLocalThroughputControlGroup

public void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

Habilite el grupo de control de rendimiento con el modo de control local.

ThroughputControlGroupConfig groupConfig =
     new ThroughputControlGroupConfigBuilder()
         .groupName("localControlGroup")
         .targetThroughputThreshold(0.1)
         .build();

 container.enableLocalThroughputControlGroup(groupConfig);

Parameters:

groupConfig - Un objeto ThroughputControlGroupConfig.

executeCosmosBatch

public Mono executeCosmosBatch(CosmosBatch cosmosBatch)

Ejecuta el lote transaccional.

Parameters:

cosmosBatch - Batch que tiene una lista de la operación y la clave de partición que ejecutará este contenedor.

Returns:

Respuesta mono que contiene detalles de ejecución del lote transaccional.

Si el lote transaccional se ejecuta correctamente, el valor devuelto por CosmosBatchResponse#getStatusCode en la respuesta devuelta se establecerá en 200}.

Si se produce un error en una operación dentro del lote transaccional durante la ejecución, no se confirmará ningún cambio del lote y el estado de la operación con errores estará disponible por CosmosBatchResponse#getStatusCode o por la excepción. Para obtener información sobre las operaciones con errores en caso de algún error de usuario, como conflicto, no encontrado, etc., se puede enumerar la respuesta. Esto devuelve CosmosBatchOperationResult instancias correspondientes a cada operación del lote transaccional en el orden en que se agregaron al lote transaccional. Para obtener un resultado correspondiente a una operación dentro del lote transaccional, use CosmosBatchOperationResult#getStatusCode para acceder al estado de la operación. Si la operación no se ejecutó o se anuló debido al error de otra operación dentro del lote transaccional, el valor de este campo será 424; para la operación que provocó la anulación del lote, el valor de este campo indicará la causa del error.

Si hay problemas como los tiempos de espera de solicitud, Gone, session not available, network failure o if the service somehow returns 5xx then the Mono will return error instead of CosmosBatchResponse.

Use CosmosBatchResponse#isSuccessStatusCode en la respuesta devuelta para asegurarse de que el lote transaccional se realizó correctamente.

executeCosmosBatch

public Mono executeCosmosBatch(CosmosBatch cosmosBatch, CosmosBatchRequestOptions requestOptions)

Ejecuta el lote transaccional.

Parameters:

cosmosBatch - Batch que tiene una lista de la operación y la clave de partición que ejecutará este contenedor.
requestOptions - Opciones que se aplican específicamente a la solicitud por lotes.

Returns:

Respuesta mono que contiene detalles de ejecución del lote transaccional.

Si el lote transaccional se ejecuta correctamente, el valor devuelto por CosmosBatchResponse#getStatusCode en la respuesta devuelta se establecerá en 200}.

Si se produce un error en una operación dentro del lote transaccional durante la ejecución, no se confirmará ningún cambio del lote y el estado de la operación con errores estará disponible por CosmosBatchResponse#getStatusCode o por la excepción. Para obtener información sobre las operaciones con errores en caso de algún error de usuario, como conflicto, no encontrado, etc., se puede enumerar la respuesta. Esto devuelve CosmosBatchOperationResult instancias correspondientes a cada operación del lote transaccional en el orden en que se agregaron al lote transaccional. Para obtener un resultado correspondiente a una operación dentro del lote transaccional, use CosmosBatchOperationResult#getStatusCode para acceder al estado de la operación. Si la operación no se ejecutó o se anuló debido al error de otra operación dentro del lote transaccional, el valor de este campo será 424; para la operación que provocó la anulación del lote, el valor de este campo indicará la causa del error.

Si hay problemas como los tiempos de espera de solicitud, Gone, session not available, network failure o if the service somehow returns 5xx then the Mono will return error instead of CosmosBatchResponse.

Use CosmosBatchResponse#isSuccessStatusCode en la respuesta devuelta para asegurarse de que el lote transaccional se realizó correctamente.

getConflict

public CosmosAsyncConflict getConflict(String id)

Obtiene un objeto mediante el CosmosAsyncConflict contenedor actual para el contexto.

Parameters:

id - el identificador del conflicto de Cosmos.

Returns:

un conflicto de Cosmos.

getDatabase

public CosmosAsyncDatabase getDatabase()

Obtiene el elemento primario CosmosAsyncDatabase del contenedor actual.

Returns:

getFeedRanges

public Mono<>> getFeedRanges()

Obtiene una lista de FeedRange que se puede usar para paralelizar las operaciones de fuente.

cosmosAsyncContainer.getFeedRanges()
     .subscribe(feedRanges -> {
         for (FeedRange feedRange : feedRanges) {
             System.out.println("Feed range: " + feedRange);
         }
     });

Returns:

Una lista no modificable de FeedRange

getId

public String getId()

Obtenga el identificador de .CosmosAsyncContainer

Returns:

el identificador de .CosmosAsyncContainer

getScripts

public CosmosAsyncScripts getScripts()

Obtiene un CosmosAsyncScripts objeto que usa el contenedor actual como contexto.

Esto se puede usar aún más para realizar varias operaciones en scripts de Cosmos.

Returns:

openConnectionsAndInitCaches

@Deprecated
public Mono openConnectionsAndInitCaches()

Obsoleto

Mejor esfuerzo para inicializar el contenedor mediante el calentamiento de las memorias caché y las conexiones para la región de lectura actual.

Dependiendo de cuántas particiones tenga el contenedor, también cambiará el tiempo total necesario. Pero, por lo general, puede usar la fórmula siguiente para obtener un tiempo estimado: si tardó 200 ms en establecer una conexión y tiene 100 particiones en el contenedor, entonces tardará aproximadamente (100 * 4 / CPUCores) * 200 ms para abrir todas las conexiones después de obtener la lista de direcciones.

NOTA: Idealmente, se debe llamar a esta API solo una vez durante la inicialización de la aplicación antes de cualquier carga de trabajo. En caso de cualquier error transitorio, el autor de la llamada debe consumir el error y continuar con la carga de trabajo normal.

Returns:

Mono de Void.

openConnectionsAndInitCaches

@Deprecated
public Mono openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Obsoleto

Mejor esfuerzo para inicializar el contenedor mediante el calentamiento de las memorias caché y las conexiones a un no. especificado de regiones de la lista preferida de regiones.

Dependiendo de cuántas particiones tenga el contenedor, también cambiará el tiempo total necesario. Pero generalmente puede usar la fórmula siguiente para obtener un tiempo estimado: si tardó 200 ms en establecer una conexión y tiene 100 particiones en el contenedor, entonces tardará aproximadamente (100 * 4 / (10 * CPUCores)) * 200 ms * RegionsWithProactiveConnections para abrir todas las conexiones después de obtener la lista de direcciones.

NOTA: Idealmente, se debe llamar a esta API solo una vez durante la inicialización de la aplicación antes de cualquier carga de trabajo. En caso de cualquier error transitorio, el autor de la llamada debe consumir el error y continuar con la carga de trabajo normal.

Para minimizar las latencias asociadas con el calentamiento de las memorias caché y la apertura de conexiones, el número de regiones de conexión proactivas no puede ser superior a CosmosContainerProactiveInitConfigBuilder#MAX_NO_OF_PROACTIVE_CONNECTION_REGIONS.

Parameters:

numProactiveConnectionRegions - el número de regiones a las que conectarse de forma proactiva

Returns:

Mono de Void.

queryConflicts

public CosmosPagedFlux queryConflicts(String query)

Consulta todos los conflictos del contenedor actual.

try {
     cosmosAsyncContainer.queryConflicts(query).
         byPage(100)
         .subscribe(response -> {
             for (CosmosConflictProperties conflictProperties : response.getResults()) {
                 System.out.println(conflictProperties);
             }
         }, throwable -> {
             throwable.printStackTrace();
         });
 } catch (CosmosException ce) {
     ce.printStackTrace();
 } catch (Exception e) {
     e.printStackTrace();
 }

Parameters:

query - la consulta.

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los conflictos obtenidos o un error.

queryConflicts

public CosmosPagedFlux queryConflicts(String query, CosmosQueryRequestOptions options)

Consulta todos los conflictos del contenedor actual.

Parameters:

query - la consulta.
options - las opciones de solicitud de consulta (opcional).

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los conflictos obtenidos o un error.

read

public Mono read()

Lee el contenedor actual.

Después de la suscripción, se realizará la operación. Una Mono vez finalizada correctamente, contendrá una única respuesta de contenedor de Cosmos con el contenedor de lectura. En caso de error, se producirá un Mono error.

Returns:

que Mono contiene la respuesta de contenedor de Cosmos única con el contenedor de lectura o un error.

read

public Mono read(CosmosContainerRequestOptions options)

Lee el contenedor actual al especificar opciones adicionales, como If-Match.

Después de la suscripción, se realizará la operación. Una Mono vez finalizada correctamente, contendrá una única respuesta de contenedor de Cosmos con el contenedor de lectura. En caso de error, se producirá un Mono error.

Parameters:

options - las opciones de solicitud de contenedor de Cosmos.

Returns:

que Mono contiene la respuesta de contenedor de Cosmos única con el contenedor de lectura o un error.

readAllConflicts

public CosmosPagedFlux readAllConflicts(CosmosQueryRequestOptions options)

Enumera todos los conflictos del contenedor actual.

try {
     cosmosAsyncContainer.readAllConflicts(options).
         byPage(100)
         .subscribe(response -> {
             for (CosmosConflictProperties conflictProperties : response.getResults()) {
                 System.out.println(conflictProperties);
             }
         }, throwable -> {
             throwable.printStackTrace();
         });
 } catch (CosmosException ce) {
     ce.printStackTrace();
 } catch (Exception e) {
     e.printStackTrace();
 }

Parameters:

options - las opciones de solicitud de consulta

Returns:

que CosmosPagedFlux<T> contiene una o varias páginas de respuesta de fuente de los conflictos obtenidos o un error.

readThroughput

public Mono readThroughput()

Lea el rendimiento aprovisionado para el contenedor actual.

Mono<ThroughputResponse> throughputResponseMono = cosmosAsyncContainer.readThroughput();
 throughputResponseMono.subscribe(throughputResponse -> {
     System.out.println(throughputResponse);
 }, throwable -> {
     throwable.printStackTrace();
 });

Returns:

el mono que contiene la respuesta de rendimiento.

replace

public Mono replace(CosmosContainerProperties containerProperties)

Reemplaza las propiedades del contenedor actual.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de contenedor de Cosmos con las propiedades de contenedor reemplazadas. En caso de error, se producirá un Mono error.

Parameters:

containerProperties - las propiedades del contenedor

Returns:

que Mono contiene la respuesta de contenedor de Cosmos única con las propiedades de contenedor reemplazadas o un error.

replace

public Mono replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Reemplaza las propiedades de contenedor actuales mientras se usan opciones de solicitud no predeterminadas.

Después de la suscripción, se realizará la operación. Cuando Mono se complete correctamente, contendrá una única respuesta de contenedor de Cosmos con las propiedades de contenedor reemplazadas. En caso de error, se producirá un Mono error.

Parameters:

containerProperties - las propiedades del contenedor
options - las opciones de solicitud de contenedor de Cosmos.

Returns:

que Mono contiene la respuesta de contenedor de Cosmos única con las propiedades de contenedor reemplazadas o un error.

replaceThroughput

public Mono replaceThroughput(ThroughputProperties throughputProperties)

Reemplace el rendimiento.

ThroughputProperties throughputProperties =
     ThroughputProperties.createAutoscaledThroughput(1000);

 cosmosAsyncContainer.replaceThroughput(throughputProperties)
     .subscribe(throughputResponse -> {
             System.out.println(throughputResponse);
         },
         throwable -> {
             throwable.printStackTrace();
         });

Parameters:

throughputProperties - las propiedades de rendimiento.

Returns:

el mono que contiene la respuesta de rendimiento.

Se aplica a