CosmosAsyncContainer Classe

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

public class CosmosAsyncContainer

Fornece métodos para ler, excluir e substituir contêineres existentes. Fornece métodos para interagir com recursos filho (Itens, Scripts, Conflitos)

Resumo do método

Modificador e tipo Método e descrição
Mono<CosmosItemResponse<T>> createItem(T item)

Cria um item.

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

Cria um item do Cosmos.

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

Cria um item.

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

Exclui o item.

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

Execute a atualização parcial que modifica propriedades ou campos específicos do item sem substituir o item inteiro.

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

Execute a atualização parcial que modifica propriedades ou campos específicos do item sem substituir o item inteiro.

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

Consulte itens no feed de alterações do contêiner atual usando o CosmosChangeFeedRequestOptions.

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

Consulte itens no contêiner atual usando um SqlQuerySpec e CosmosQueryRequestOptions.

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

Consulte itens no contêiner atual usando um SqlQuerySpec.

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

Consulte itens no contêiner atual usando uma cadeia de caracteres.

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

Consultar itens no contêiner atual.

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

Lê todos os itens de uma partição lógica

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

Lê todos os itens de uma partição lógica

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

Lê um item por ID de itemusando um configurado CosmosItemRequestOptions.

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

Lê um item por ID de item.

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

Lê muitos documentos.

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

Lê muitos documentos.

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

Substitui um item existente em um contêiner por um novo item.

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

Substitui um item existente em um contêiner por um novo item.

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

Aumenta um item.

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

Aumenta um item.

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

Aumenta um item.

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

Executa o fluxo de operações em massa.

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

Executa o fluxo de operações em massa.

Mono<CosmosContainerResponse> delete()

Exclui o contêiner atual.

Mono<CosmosContainerResponse> delete(CosmosContainerRequestOptions options)

Exclui o contêiner

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

Exclui todos os itens no Contêiner com o valor da chave de partiçãoespecificado.

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

Exclui um item.

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

Exclui o item.

void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

Habilite o grupo de controle de taxa de transferência com o modo de controle global.

void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

Habilite o grupo de controle de taxa de transferência com o modo de controle local.

Mono<CosmosBatchResponse> executeCosmosBatch(CosmosBatch cosmosBatch)

Executa o lote transacional.

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

Executa o lote transacional.

CosmosAsyncConflict getConflict(String id)

Obtém um objeto usando o CosmosAsyncConflict contêiner atual para contexto.

CosmosAsyncDatabase getDatabase()

Obtém o pai CosmosAsyncDatabase do contêiner atual.

Mono<List<FeedRange>> getFeedRanges()

Obtém uma lista de FeedRange que pode ser usada para paralelizar operações do Feed.

String getId()

Obtenha a ID do CosmosAsyncContainer.

CosmosAsyncScripts getScripts()

Obtém um CosmosAsyncScripts usando o contêiner atual como contexto.

Mono<Void> openConnectionsAndInitCaches()

Preterido

Melhor esforço para inicializar o contêiner aquecendo os caches e conexões para a região de leitura atual.

Mono<Void> openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Preterido

Melhor esforço para inicializar o contêiner aquecendo os caches e conexões com um não especificado.

CosmosPagedFlux<CosmosConflictProperties> queryConflicts(String query)

Consulta todos os conflitos no contêiner atual.

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

Consulta todos os conflitos no contêiner atual.

Mono<CosmosContainerResponse> read()

Lê o contêiner atual.

Mono<CosmosContainerResponse> read(CosmosContainerRequestOptions options)

Lê o contêiner atual ao especificar opções adicionais, como If-Match.

CosmosPagedFlux<CosmosConflictProperties> readAllConflicts(CosmosQueryRequestOptions options)

Lista todos os conflitos no contêiner atual.

Mono<ThroughputResponse> readThroughput()

Leia a taxa de transferência provisionada para o contêiner atual.

Mono<CosmosContainerResponse> replace(CosmosContainerProperties containerProperties)

Substitui as propriedades do contêiner atual.

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

Substitui as propriedades de contêiner atuais ao usar opções de solicitação não padrão.

Mono<ThroughputResponse> replaceThroughput(ThroughputProperties throughputProperties)

Substitua a taxa de transferência.

Métodos herdados de java.lang.Object

Detalhes do método

createItem

public Mono<>> createItem(T item)

Cria um item.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de recurso com o item do Cosmos criado. Em caso de falha, o Mono erro será.

Parameters:

item - o item do Cosmos representado como um objeto de item POJO ou Cosmos.

Returns:

um Mono que contém a resposta de recurso único com o item do Cosmos criado ou um erro.

createItem

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

Cria um item do Cosmos.

Parameters:

item - o item.
options - as opções de solicitação de item.

Returns:

um Mono que contém a resposta de recurso único com o item do Cosmos criado ou um erro.

createItem

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

Cria um item.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de recurso com o item do Cosmos criado. Em caso de falha, o Mono erro será.

Parameters:

item - o item do Cosmos representado como um objeto de item POJO ou Cosmos.
partitionKey - a chave de partição.
options - as opções de solicitação.

Returns:

um Mono que contém a resposta de recurso único com o item do Cosmos criado ou um erro.

deleteItem

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

Exclui o item.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de item do Cosmos para o item excluído.

Parameters:

item - item a ser excluído.
options - as opções de solicitação.

Returns:

um Mono que contém a resposta do recurso de item do Cosmos.

patchItem

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

Execute a atualização parcial que modifica propriedades ou campos específicos do item sem substituir o item inteiro.

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();
     });

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de item do Cosmos com o item corrigido.

Parameters:

itemId - a ID do item.
partitionKey - a chave de partição.
cosmosPatchOperations - Representa um contêiner que tem uma lista de operações a serem aplicadas sequencialmente ao item cosmos referenciado.
options - as opções de solicitação.
itemType - o tipo de item.

Returns:

um Mono que contém a resposta do recurso de item do Cosmos com o item corrigido ou um erro.

patchItem

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

Execute a atualização parcial que modifica propriedades ou campos específicos do item sem substituir o item inteiro.

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();
     });

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de item do Cosmos com o item corrigido.

Parameters:

itemId - a ID do item.
partitionKey - a chave de partição.
cosmosPatchOperations - Representa um contêiner que tem uma lista de operações a serem aplicadas sequencialmente ao item cosmos referenciado.
itemType - o tipo de item.

Returns:

um Mono que contém a resposta do recurso de item do Cosmos com o item corrigido ou um erro.

queryChangeFeed

public CosmosPagedFlux queryChangeFeed(CosmosChangeFeedRequestOptions options, Class classType)

Consulte itens no feed de alterações do contêiner atual usando o 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();

Após a assinatura, a operação será executada. O Flux conterá uma ou várias respostas de feed dos itens obtidos. Em caso de falha, o CosmosPagedFlux<T> erro será.

Parameters:

options - as opções de solicitação do feed de alterações.
classType - o tipo de classe.

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos itens obtidos ou um erro.

queryItems

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

Consulte itens no contêiner atual usando um SqlQuerySpec e CosmosQueryRequestOptions.

Após a assinatura, a operação será executada. O Flux conterá uma ou várias respostas de feed dos itens obtidos. Em caso de falha, o CosmosPagedFlux<T> erro será.

Parameters:

querySpec - a especificação de consulta SQL.
options - as opções de solicitação de consulta.
classType - o tipo de classe.

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos itens obtidos ou um erro.

queryItems

public CosmosPagedFlux queryItems(SqlQuerySpec querySpec, Class classType)

Consulte itens no contêiner atual usando um 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();

Após a assinatura, a operação será executada. O CosmosPagedFlux<T> conterá uma ou várias respostas de feed dos itens obtidos. Em caso de falha, o CosmosPagedFlux<T> erro será.

Parameters:

querySpec - a especificação de consulta SQL.
classType - o tipo de classe.

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos itens obtidos ou um erro.

queryItems

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

Consulte itens no contêiner atual usando uma cadeia de caracteres.

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();

Após a assinatura, a operação será executada. O CosmosPagedFlux<T> conterá uma ou várias respostas de feed dos itens obtidos. Em caso de falha, o CosmosPagedFlux<T> erro será.

Parameters:

query - a consulta.
options - as opções de solicitação de consulta.
classType - o tipo de classe.

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos itens obtidos ou um erro.

queryItems

public CosmosPagedFlux queryItems(String query, Class classType)

Consultar itens no contêiner atual.

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();

Após a assinatura, a operação será executada. O CosmosPagedFlux<T> conterá uma ou várias respostas de feed dos itens obtidos. Em caso de falha, o CosmosPagedFlux<T> erro será.

Parameters:

query - a consulta.
classType - o tipo de classe.

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos itens obtidos ou um erro.

readAllItems

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

Lê todos os itens de uma partição 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();

Após a assinatura, a operação será executada. O CosmosPagedFlux<T> conterá uma ou várias respostas de feed dos itens do Cosmos de leitura. Em caso de falha, o CosmosPagedFlux<T> erro será.

Parameters:

partitionKey - o valor da chave de partição dos documentos que precisam ser lidos
options - as opções de feed (opcional).
classType - o tipo de classe.

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos itens do Cosmos de leitura ou um erro.

readAllItems

public CosmosPagedFlux readAllItems(PartitionKey partitionKey, Class classType)

Lê todos os itens de uma partição 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();

Após a assinatura, a operação será executada. O CosmosPagedFlux<T> conterá uma ou várias respostas de feed dos itens do Cosmos de leitura. Em caso de falha, o CosmosPagedFlux<T> erro será.

Parameters:

partitionKey - o valor da chave de partição dos documentos que precisam ser lidos
classType - o tipo de classe.

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos itens do Cosmos de leitura ou um erro.

readItem

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

Lê um item por itemId usando um configurado CosmosItemRequestOptions. Essa operação é usada para recuperar um único item de um contêiner com base em sua ID (identificação exclusiva) e chave de partição. A operação readItem fornece acesso direto a um item específico usando seu identificador exclusivo, que consiste na ID do item e no valor da chave de partição. Essa operação é eficiente para recuperar um item conhecido por sua ID e chave de partição sem a necessidade de consultas complexas.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma resposta de item do Cosmos com o item de leitura.

Parameters:

itemId - a ID do item.
partitionKey - a chave de partição.
options - a solicitação (opcional). CosmosItemRequestOptions
itemType - o tipo de item.

Returns:

um Mono que contém a resposta de item do Cosmos com o item de leitura ou um erro.

readItem

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

Lê um item por itemId. Essa operação é usada para recuperar um único item de um contêiner com base em sua ID (identificação exclusiva) e chave de partição. A operação readItem fornece acesso direto a um item específico usando seu identificador exclusivo, que consiste na ID do item e no valor da chave de partição. Essa operação é eficiente para recuperar um item conhecido por sua ID e chave de partição sem a necessidade de consultas complexas.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma resposta de item com o item de leitura.

// 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 - a ID do item.
partitionKey - a chave de partição.
itemType - o tipo de item.

Returns:

um Mono que contém a resposta de item do Cosmos com o item de leitura ou um erro.

readMany

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

Lê muitos documentos. Útil para ler muitos documentos com uma ID específica e uma chave de partição em uma única solicitação. Se algum documento da lista estiver ausente, nenhuma exceção será gerada.

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 do CosmosItem e tupla de chave de partição de itens que precisam ser lidos
classType - tipo de classe

Returns:

um Mono com resposta de feed de itens do Cosmos

readMany

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

Lê muitos documentos. Útil para ler muitos documentos com uma ID específica e uma chave de partição em uma única solicitação. Se algum documento da lista estiver ausente, nenhuma exceção será gerada.

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 do CosmosItem e tupla de chave de partição de itens que precisam ser lidos
sessionToken - o token de sessão opcional – nulo se a leitura puder ser feita sem um token de sessão específico
classType - tipo de classe

Returns:

um Mono com resposta de feed de itens ou erros do Cosmos

replaceItem

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

Substitui um item existente em um contêiner por um novo item. Ele executa uma substituição completa do item, substituindo todas as suas propriedades pelas propriedades do novo item

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

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de item do Cosmos com o item substituído.

Parameters:

item - o item a ser substituído (contendo a ID do item).
itemId - a ID do item.
partitionKey - a chave de partição.

Returns:

um Mono que contém a resposta do recurso de item do Cosmos com o item substituído ou um erro.

replaceItem

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

Substitui um item existente em um contêiner por um novo item. Ele executa uma substituição completa do item, substituindo todas as suas propriedades pelas propriedades do novo item

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

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de item do Cosmos com o item substituído.

Parameters:

item - o item a ser substituído (contendo a ID do item).
itemId - a ID do item.
partitionKey - a chave de partição.
options - a solicitação comosItemRequestOptions (opcional).

Returns:

um Mono que contém a resposta do recurso de item do Cosmos com o item substituído ou um erro.

upsertItem

public Mono<>> upsertItem(T item)

Aumenta um item.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de recurso com o item upserted. Em caso de falha, o Mono erro será.

Parameters:

item - o item representado como um objeto POJO ou Item para upsert.

Returns:

um Mono que contém a resposta de recurso único com o item upserted ou um erro.

upsertItem

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

Aumenta um item.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de recurso com o item upserted. Em caso de falha, o Mono erro será.

Parameters:

item - o item representado como um objeto POJO ou Item para upsert.
options - as opções de solicitação.

Returns:

um Mono que contém a resposta de recurso único com o item upserted ou um erro.

upsertItem

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

Aumenta um item.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de recurso com o item upserted. Em caso de falha, o Mono erro será.

Parameters:

item - o item representado como um objeto POJO ou Item para upsert.
partitionKey - a chave de partição.
options - as opções de solicitação.

Returns:

um Mono que contém a resposta de recurso único com o item upserted ou um erro.

executeBulkOperations

public Flux<>> executeBulkOperations(Flux operations)

Executa o fluxo de operações em massa.

Parameters:

operations - Fluxo de operação que será executado por esse contêiner.

Returns:

Um Flux do CosmosBulkOperationResponse<TContext> qual contém a operação e sua resposta ou exceção. Para criar uma operação que pode ser executada aqui, use CosmosBulkOperations. Por exemplo, para uso de uma operação upsert com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) Podemos obter a operação correspondente usando getOperation() e sua resposta usando getResponse(). Se a operação tiver sido executada com êxito, o valor retornado por isSuccessStatusCode() será true. Para obter status real, use getStatusCode(). Para marcar se a operação tiver alguma exceção, use getException() para obter a exceção.

executeBulkOperations

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

Executa o fluxo de operações em massa.

Parameters:

operations - Fluxo de operação que será executado por esse contêiner.
bulkOptions - Opções que se aplicam a essa solicitação em massa que especifica opções relacionadas à execução, como simultaneidade, tamanho do lote, intervalo e contexto.

Returns:

Um Flux do CosmosBulkOperationResponse<TContext> qual contém a operação e sua resposta ou exceção. Para criar uma operação que pode ser executada aqui, use CosmosBulkOperations. Por exemplo, para uso de uma operação upsert com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) Podemos obter a operação correspondente usando getOperation() e sua resposta usando getResponse(). Se a operação tiver sido executada com êxito, o valor retornado por isSuccessStatusCode() será true. Para obter status real, use getStatusCode(). Para marcar se a operação tiver alguma exceção, use getException() para obter a exceção.

delete

public Mono delete()

Exclui o contêiner atual.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de contêiner do Cosmos para o contêiner excluído. Em caso de falha, o Mono erro será.

Returns:

um Mono que contém a única resposta de contêiner do Cosmos para o contêiner excluído ou um erro.

delete

public Mono delete(CosmosContainerRequestOptions options)

Exclui o contêiner

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de contêiner do Cosmos para o banco de dados excluído. Em caso de falha, o Mono erro será.

Parameters:

options - as opções de solicitação.

Returns:

um Mono que contém a única resposta de contêiner do Cosmos para o banco de dados excluído ou um erro.

deleteAllItemsByPartitionKey

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

Exclui todos os itens no Contêiner com o valor partitionKey especificado. Inicia uma operação em segundo plano assíncrona do Cosmos DB que exclui todos os itens no Contêiner com o valor especificado. A operação em segundo plano do Cosmos DB assíncrona é executada usando uma porcentagem de RUs de usuário.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de item do Cosmos para todos os itens excluídos.

Parameters:

partitionKey - partitionKey do item.
options - as opções de solicitação.

Returns:

um Mono que contém a resposta do recurso de item do Cosmos.

deleteItem

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

Exclui um item.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de item do Cosmos para o item excluído.

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

Parameters:

itemId - a ID do item.
partitionKey - a chave de partição.

Returns:

um Mono que contém a resposta do recurso de item do Cosmos.

deleteItem

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

Exclui o item.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de item do Cosmos para o item excluído.

Parameters:

itemId - id do item.
partitionKey - partitionKey do item.
options - as opções de solicitação (opcional).

Returns:

um Mono que contém a resposta do recurso de item do Cosmos.

enableGlobalThroughputControlGroup

public void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

Habilite o grupo de controle de taxa de transferência com o modo de controle global. O limite de taxa de transferência definido será compartilhado entre clientes diferentes.

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 - A configuração do grupo de controle de taxa de transferência, consulte GlobalThroughputControlGroup.
globalControlConfig - A configuração de controle de taxa de transferência global, consulte GlobalThroughputControlConfig.

enableLocalThroughputControlGroup

public void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

Habilite o grupo de controle de taxa de transferência com o modo de controle local.

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

 container.enableLocalThroughputControlGroup(groupConfig);

Parameters:

groupConfig - Uma ThroughputControlGroupConfig.

executeCosmosBatch

public Mono executeCosmosBatch(CosmosBatch cosmosBatch)

Executa o lote transacional.

Parameters:

cosmosBatch - Lote com lista de operações e chave de partição que serão executadas por esse contêiner.

Returns:

Uma resposta Mono que contém detalhes da execução do lote transacional.

Se o lote transacional for executado com êxito, o valor retornado por CosmosBatchResponse#getStatusCode na resposta retornada será definido como 200}.

Se uma operação dentro do lote transacional falhar durante a execução, nenhuma alteração do lote será confirmada e o status da operação com falha será disponibilizado por CosmosBatchResponse#getStatusCode ou pela exceção. Para obter informações sobre as operações que falharam no caso de algum erro do usuário, como conflito, não encontrado etc, a resposta pode ser enumerada. Isso retorna CosmosBatchOperationResult instâncias correspondentes a cada operação no lote transacional na ordem em que foram adicionadas ao lote transacional. Para obter um resultado correspondente a uma operação dentro do lote transacional, use CosmosBatchOperationResult#getStatusCode para acessar o status da operação. Se a operação não foi executada ou foi anulada devido à falha de outra operação dentro do lote transacional, o valor desse campo será 424; para a operação que causou a anulação do lote, o valor desse campo indicará a causa da falha.

Se houver problemas como tempos limite de solicitação, Gone, sessão não disponível, falha de rede ou se o serviço de alguma forma retornar 5xx, o Mono retornará o erro em vez de CosmosBatchResponse.

Use CosmosBatchResponse#isSuccessStatusCode na resposta retornada para garantir que o lote transacional tenha sido bem-sucedido.

executeCosmosBatch

public Mono executeCosmosBatch(CosmosBatch cosmosBatch, CosmosBatchRequestOptions requestOptions)

Executa o lote transacional.

Parameters:

cosmosBatch - Lote com lista de operações e chave de partição que serão executadas por esse contêiner.
requestOptions - Opções que se aplicam especificamente à solicitação em lote.

Returns:

Uma resposta Mono que contém detalhes da execução do lote transacional.

Se o lote transacional for executado com êxito, o valor retornado por CosmosBatchResponse#getStatusCode na resposta retornada será definido como 200}.

Se uma operação dentro do lote transacional falhar durante a execução, nenhuma alteração do lote será confirmada e o status da operação com falha será disponibilizado por CosmosBatchResponse#getStatusCode ou pela exceção. Para obter informações sobre as operações que falharam no caso de algum erro do usuário, como conflito, não encontrado etc, a resposta pode ser enumerada. Isso retorna CosmosBatchOperationResult instâncias correspondentes a cada operação no lote transacional na ordem em que foram adicionadas ao lote transacional. Para obter um resultado correspondente a uma operação dentro do lote transacional, use CosmosBatchOperationResult#getStatusCode para acessar o status da operação. Se a operação não foi executada ou foi anulada devido à falha de outra operação dentro do lote transacional, o valor desse campo será 424; para a operação que causou a anulação do lote, o valor desse campo indicará a causa da falha.

Se houver problemas como tempos limite de solicitação, Gone, sessão não disponível, falha de rede ou se o serviço de alguma forma retornar 5xx, o Mono retornará o erro em vez de CosmosBatchResponse.

Use CosmosBatchResponse#isSuccessStatusCode na resposta retornada para garantir que o lote transacional tenha sido bem-sucedido.

getConflict

public CosmosAsyncConflict getConflict(String id)

Obtém um objeto usando o CosmosAsyncConflict contêiner atual para contexto.

Parameters:

id - a ID do conflito do Cosmos.

Returns:

um conflito do Cosmos.

getDatabase

public CosmosAsyncDatabase getDatabase()

Obtém o pai CosmosAsyncDatabase do contêiner atual.

Returns:

getFeedRanges

public Mono<>> getFeedRanges()

Obtém uma lista de FeedRange que pode ser usada para paralelizar operações do Feed.

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

Returns:

Uma lista não modificável de FeedRange

getId

public String getId()

Obtenha a ID do CosmosAsyncContainer.

Returns:

getScripts

public CosmosAsyncScripts getScripts()

Obtém um CosmosAsyncScripts usando o contêiner atual como contexto.

Isso pode ser usado ainda mais para executar várias operações em scripts do Cosmos.

Returns:

openConnectionsAndInitCaches

@Deprecated
public Mono openConnectionsAndInitCaches()

Preterido

Melhor esforço para inicializar o contêiner aquecendo os caches e conexões para a região de leitura atual.

Dependendo de quantas partições o contêiner tem, o tempo total necessário também será alterado. Mas, geralmente, você pode usar a fórmula a seguir para obter um tempo estimado: se levou 200ms para estabelecer uma conexão e você tem 100 partições em seu contêiner, será necessário cerca de (100 * 4 / CPUCores) * 200ms para abrir todas as conexões depois de obter a lista de endereços

OBSERVAÇÃO: essa API deve ser chamada apenas uma vez durante a inicialização do aplicativo antes de qualquer carga de trabalho. No caso de qualquer erro transitório, o chamador deve consumir o erro e continuar a carga de trabalho regular.

Returns:

Mono of Void.

openConnectionsAndInitCaches

@Deprecated
public Mono openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Preterido

Melhor esforço para inicializar o contêiner aquecendo os caches e conexões com um não especificado. de regiões da lista preferencial de regiões.

Dependendo de quantas partições o contêiner tem, o tempo total necessário também será alterado. Mas, geralmente, você pode usar a fórmula a seguir para obter um tempo estimado: se levou 200ms para estabelecer uma conexão e você tem 100 partições em seu contêiner, será necessário cerca de (100 * 4 / (10 * CPUCores)) * 200ms * RegionsWithProactiveConnections para abrir todas as conexões depois de obter a lista de endereços

OBSERVAÇÃO: essa API deve ser chamada apenas uma vez durante a inicialização do aplicativo antes de qualquer carga de trabalho. No caso de qualquer erro transitório, o chamador deve consumir o erro e continuar a carga de trabalho regular.

Para minimizar as latências associadas ao aquecimento de caches e à abertura de conexões, o não. de regiões de conexão proativas não pode ser maior do que CosmosContainerProactiveInitConfigBuilder#MAX_NO_OF_PROACTIVE_CONNECTION_REGIONS.

Parameters:

numProactiveConnectionRegions - o não de regiões às quais se conectar proativamente

Returns:

Mono of Void.

queryConflicts

public CosmosPagedFlux queryConflicts(String query)

Consulta todos os conflitos no contêiner atual.

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 - a consulta.

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos conflitos obtidos ou um erro.

queryConflicts

public CosmosPagedFlux queryConflicts(String query, CosmosQueryRequestOptions options)

Consulta todos os conflitos no contêiner atual.

Parameters:

query - a consulta.
options - as opções de solicitação de consulta (opcional).

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos conflitos obtidos ou um erro.

read

public Mono read()

Lê o contêiner atual.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de contêiner do Cosmos com o contêiner de leitura. Em caso de falha, o Mono erro será.

Returns:

um Mono que contém a única resposta de contêiner do Cosmos com o contêiner de leitura ou um erro.

read

public Mono read(CosmosContainerRequestOptions options)

Lê o contêiner atual ao especificar opções adicionais, como If-Match.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de contêiner do Cosmos com o contêiner de leitura. Em caso de falha, o Mono erro será.

Parameters:

options - as opções de solicitação de contêiner do Cosmos.

Returns:

um Mono que contém a única resposta de contêiner do Cosmos com o contêiner de leitura ou um erro.

readAllConflicts

public CosmosPagedFlux readAllConflicts(CosmosQueryRequestOptions options)

Lista todos os conflitos no contêiner atual.

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 - as opções de solicitação de consulta

Returns:

um CosmosPagedFlux<T> que contém uma ou várias páginas de resposta de feed dos conflitos obtidos ou um erro.

readThroughput

public Mono readThroughput()

Leia a taxa de transferência provisionada para o contêiner atual.

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

Returns:

o mono que contém a resposta de taxa de transferência.

replace

public Mono replace(CosmosContainerProperties containerProperties)

Substitui as propriedades do contêiner atual.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de contêiner do Cosmos com as propriedades de contêiner substituídas. Em caso de falha, o Mono erro será.

Parameters:

containerProperties - as propriedades do contêiner

Returns:

um Mono que contém a única resposta de contêiner do Cosmos com as propriedades de contêiner substituídas ou um erro.

replace

public Mono replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Substitui as propriedades de contêiner atuais ao usar opções de solicitação não padrão.

Após a assinatura, a operação será executada. O Mono após a conclusão bem-sucedida conterá uma única resposta de contêiner do Cosmos com as propriedades de contêiner substituídas. Em caso de falha, o Mono erro será.

Parameters:

containerProperties - as propriedades do contêiner
options - as opções de solicitação de contêiner do Cosmos.

Returns:

um Mono que contém a única resposta de contêiner do Cosmos com as propriedades de contêiner substituídas ou um erro.

replaceThroughput

public Mono replaceThroughput(ThroughputProperties throughputProperties)

Substitua a taxa de transferência.

ThroughputProperties throughputProperties =
     ThroughputProperties.createAutoscaledThroughput(1000);

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

Parameters:

throughputProperties - as propriedades de taxa de transferência.

Returns:

o mono que contém a resposta de taxa de transferência.

Aplica-se a