Compartilhar via


CosmosContainer Classe

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

public class CosmosContainer

Fornece métodos síncronos 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
CosmosItemResponse<T> createItem(T item)

Cria um novo item de forma síncrona e retorna sua respectiva resposta de item do Cosmos.

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

Cria um novo item de forma síncrona e retorna sua respectiva resposta de item cosmos ao especificar opções adicionais.

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

Cria um novo item de forma síncrona e retorna sua respectiva resposta de item do Cosmos ao especificar opções adicionais.

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

Exclui um item no contêiner atual.

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.

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.

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

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

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

Consultar itens no contêiner atual retornando os resultados como CosmosPagedIterable<T>.

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

Consultar itens no contêiner atual retornando os resultados como CosmosPagedIterable<T>.

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

Lê todos os itens de uma partição lógica retornando os resultados como CosmosPagedIterable<T>.

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

Lê todos os itens de uma partição lógica retornando os resultados como CosmosPagedIterable<T>.

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

Lê um item no contêiner atual ao especificar opções adicionais.

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

Lê um item no contêiner atual.

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

Lê muitos documentos.

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

Lê muitos documentos.

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

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

CosmosItemResponse<T> upsertItem(T item)

Faz upserts de um item do Cosmos no contêiner atual.

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

Faz upserts de um item de sincronização do Cosmos ao especificar opções adicionais.

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

Faz upserts de um item de sincronização do Cosmos ao especificar opções adicionais.

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

Executa a lista de operações em massa.

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

Executa a lista de operações em massa.

CosmosContainerResponse delete()

Exclui o contêiner atual do Cosmos.

CosmosContainerResponse delete(CosmosContainerRequestOptions options)

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

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

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

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

Exclui um item no contêiner atual.

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.

CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch)

Executa o lote transacional.

CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch, CosmosBatchRequestOptions requestOptions)

Executa o lote transacional.

List<FeedRange> getFeedRanges()

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

String getId()

Obtém a ID do contêiner atual.

CosmosScripts getScripts()

Obtém os scripts do Cosmos usando o contêiner atual como contexto.

void openConnectionsAndInitCaches()

Preterido

Inicializa o contêiner aquecendo os caches e as conexões para a região de leitura atual.

void openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Preterido

Inicializa o contêiner aquecendo os caches e as conexões com um não especificado.

CosmosContainerResponse read()

Lê o contêiner atual.

CosmosContainerResponse read(CosmosContainerRequestOptions options)

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

ThroughputResponse readThroughput()

Obtém a taxa de transferência do contêiner atual.

CosmosContainerResponse replace(CosmosContainerProperties containerProperties)

Substitui as propriedades atuais do contêiner.

CosmosContainerResponse replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Substitui as propriedades de contêiner atuais ao especificar opções adicionais, como If-Match.

ThroughputResponse replaceThroughput(ThroughputProperties throughputProperties)

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

Métodos herdados de java.lang.Object

Detalhes do método

createItem

public CosmosItemResponse createItem(T item)

Cria um novo item de forma síncrona e retorna sua respectiva resposta de item do Cosmos.

Parameters:

item - o item

Returns:

a resposta do item do Cosmos

createItem

public CosmosItemResponse createItem(T item, CosmosItemRequestOptions options)

Cria um novo item de forma síncrona e retorna sua respectiva resposta de item cosmos ao especificar opções adicionais.

O valor da chave de partição será extraído automaticamente do conteúdo do item.

Parameters:

item - o item.
options - as opções.

Returns:

a resposta do item cosmos.

createItem

public CosmosItemResponse createItem(T item, PartitionKey partitionKey, CosmosItemRequestOptions options)

Cria um novo item de forma síncrona e retorna sua respectiva resposta de item cosmos ao especificar opções adicionais.

Parameters:

item - o item.
partitionKey - a chave de partição.
options - as opções.

Returns:

a resposta do item do Cosmos.

deleteItem

public CosmosItemResponse deleteItem(T item, CosmosItemRequestOptions options)

Exclui um item no contêiner atual.

Parameters:

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

Returns:

a resposta do item do Cosmos.

patchItem

public CosmosItemResponse 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);

 CosmosItemResponse<Passenger> response = cosmosContainer.patchItem(
     passenger.getId(),
     new PartitionKey(passenger.getId()),
     cosmosPatchOperations,
     Passenger.class);

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:

a resposta do recurso de item do Cosmos com o item corrigido ou uma exceção.

patchItem

public CosmosItemResponse 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);

 CosmosItemResponse<Passenger> response = cosmosContainer.patchItem(
     passenger.getId(),
     new PartitionKey(passenger.getId()),
     cosmosPatchOperations,
     Passenger.class);

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:

a resposta do recurso de item do Cosmos com o item corrigido ou uma exceção.

queryChangeFeed

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

 Iterable<FeedResponse<Passenger>> feedResponses = cosmosContainer.queryChangeFeed(options, Passenger.class)
     .iterableByPage();
 for (FeedResponse<Passenger> feedResponse : feedResponses) {
     List<Passenger> results = feedResponse.getResults();
     System.out.println(results);
 }

A próxima página pode ser recuperada chamando queryChangeFeed novamente com uma nova instância de CosmosChangeFeedRequestOptions criada a partir do token de continuação da instância retornada FeedResponse<T> anteriormente.

Parameters:

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

Returns:

um que contém uma CosmosPagedFlux<T> página de resposta de feed

queryItems

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

Consultar itens no contêiner atual retornando os resultados como CosmosPagedIterable<T>.

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

 Iterable<FeedResponse<Passenger>> queryResponses = cosmosContainer.queryItems(sqlQuerySpec, options, Passenger.class)
     .iterableByPage();

 for (FeedResponse<Passenger> feedResponse : queryResponses) {
     List<Passenger> results = feedResponse.getResults();
     System.out.println(results);
 }

Parameters:

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

Returns:

queryItems

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

Consultar itens no contêiner atual retornando os resultados como CosmosPagedIterable<T>.

CosmosQueryRequestOptions options = new CosmosQueryRequestOptions();
 String query = "SELECT * FROM Passenger WHERE Passenger.departure IN ('SEA', 'IND')";
 Iterable<FeedResponse<Passenger>> queryResponses = cosmosContainer.queryItems(query, options, Passenger.class)
     .iterableByPage();

 for (FeedResponse<Passenger> feedResponse : queryResponses) {
     List<Passenger> results = feedResponse.getResults();
     System.out.println(results);
 }

Parameters:

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

Returns:

readAllItems

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

Lê todos os itens de uma partição lógica retornando os resultados como CosmosPagedIterable<T>.

CosmosPagedIterable<Passenger> passengers = cosmosContainer
     .readAllItems(new PartitionKey(partitionKey), Passenger.class);

 passengers.forEach(passenger -> {
     System.out.println(passenger);
 });

Parameters:

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

Returns:

readAllItems

public CosmosPagedIterable readAllItems(PartitionKey partitionKey, Class classType)

Lê todos os itens de uma partição lógica retornando os resultados como CosmosPagedIterable<T>.

CosmosPagedIterable<Passenger> passengers = cosmosContainer
     .readAllItems(new PartitionKey(partitionKey), Passenger.class);

 passengers.forEach(passenger -> {
     System.out.println(passenger);
 });

Parameters:

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

Returns:

readItem

public CosmosItemResponse readItem(String itemId, PartitionKey partitionKey, CosmosItemRequestOptions options, Class itemType)

Lê um item no contêiner atual ao especificar opções adicionais. 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.

Parameters:

itemId - a ID do item.
partitionKey - a chave de partição.
options - as opções (opcional).
itemType - o tipo de classe de item.

Returns:

a resposta do item do Cosmos.

readItem

public CosmosItemResponse readItem(String itemId, PartitionKey partitionKey, Class itemType)

Lê um item no contêiner atual. 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.

// Read an item
 try {
     CosmosItemResponse<Passenger> response = cosmosContainer.readItem(
         passenger.getId(),
         new PartitionKey(passenger.getId()),
         Passenger.class
     );
     Passenger passengerItem = response.getItem();
 } catch (NotFoundException e) {
     // catch exception if item not found
     System.out.printf("Passenger with item id %s not found\n",
         passenger.getId());
 } catch (Exception e) {
     System.out.println(e.getMessage());
 }

 // ...

Parameters:

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

Returns:

a resposta do item do Cosmos.

readMany

public FeedResponse 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));

 FeedResponse<Passenger> passengerFeedResponse = cosmosContainer.readMany(itemIdentityList, Passenger.class);
 for (Passenger passenger : passengerFeedResponse.getResults()) {
     System.out.println(passenger);
 }

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

 FeedResponse<Passenger> passengerFeedResponse = cosmosContainer.readMany(itemIdentityList, Passenger.class);
 for (Passenger passenger : passengerFeedResponse.getResults()) {
     System.out.println(passenger);
 }

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 do Cosmos

replaceItem

public CosmosItemResponse 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

CosmosItemResponse<Passenger> response = cosmosContainer.replaceItem(
     newPassenger,
     oldPassenger.getId(),
     new PartitionKey(oldPassenger.getId()),
     new CosmosItemRequestOptions());

Parameters:

item - o item.
itemId - a ID do item.
partitionKey - a chave de partição.
options - as opções.

Returns:

a resposta do item do Cosmos.

upsertItem

public CosmosItemResponse upsertItem(T item)

Faz upserts de um item do Cosmos no contêiner atual.

Parameters:

item - o item.

Returns:

a resposta do item do Cosmos.

upsertItem

public CosmosItemResponse upsertItem(T item, CosmosItemRequestOptions options)

Faz upserts de um item de sincronização do Cosmos ao especificar opções adicionais.

Parameters:

item - o item.
options - as opções.

Returns:

a resposta do item do Cosmos.

upsertItem

public CosmosItemResponse upsertItem(T item, PartitionKey partitionKey, CosmosItemRequestOptions options)

Faz upserts de um item de sincronização do Cosmos ao especificar opções adicionais.

Parameters:

item - o item.
partitionKey - a partitionKey.
options - as opções.

Returns:

a resposta do item do Cosmos.

executeBulkOperations

public Iterable<>> executeBulkOperations(Iterable operations)

Executa a lista de operações em massa.

Parameters:

operations - lista de operações que serão executadas por esse contêiner.

Returns:

Um Iterável 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 o status real, use getStatusCode(). Para marcar se a operação tiver alguma exceção, use getException() para obter a exceção.

executeBulkOperations

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

Executa a lista de operações em massa.

Parameters:

operations - lista de operações que serão executadas 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 envio em lote, intervalo e contexto.

Returns:

Um Iterável 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 o status real, use getStatusCode(). Para marcar se a operação tiver alguma exceção, use getException() para obter a exceção.

delete

public CosmosContainerResponse delete()

Exclui o contêiner atual do Cosmos.

Returns:

a resposta do contêiner cosmos.

delete

public CosmosContainerResponse delete(CosmosContainerRequestOptions options)

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

Parameters:

options - as opções.

Returns:

a resposta do contêiner cosmos.

deleteAllItemsByPartitionKey

public CosmosItemResponse 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.

Parameters:

partitionKey - a chave de partição.
options - as opções.

Returns:

a resposta do item do Cosmos

deleteItem

public CosmosItemResponse deleteItem(String itemId, PartitionKey partitionKey, CosmosItemRequestOptions options)

Exclui um item no contêiner atual.

try {
     CosmosItemRequestOptions options = new CosmosItemRequestOptions();
     CosmosItemResponse<Object> deleteItemResponse = cosmosContainer.deleteItem(
         passenger.getId(),
         new PartitionKey(passenger.getId()),
         options
     );
     System.out.println(deleteItemResponse);
 } catch (NotFoundException e) {
     // catch exception if item not found
     System.out.printf("Passenger with item id %s not found\n",
         passenger.getId());
 } catch (Exception e) {
     System.out.println(e.getMessage());
 }

Parameters:

itemId - a ID do item.
partitionKey - a chave de partição.
options - as opções.

Returns:

a resposta do 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 GlobalThroughputControlConfig.

executeCosmosBatch

public CosmosBatchResponse 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:

Um TransactionalBatchResponse 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 no lote transacional falhar durante a execução, nenhuma alteração do lote será confirmada e a status da operação com falha será disponibilizada 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, isso gerará uma exceção em vez de retornar um CosmosBatchResponse.

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

executeCosmosBatch

public CosmosBatchResponse 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:

Um CosmosBatchResponse 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 no lote transacional falhar durante a execução, nenhuma alteração do lote será confirmada e a status da operação com falha será disponibilizada 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, isso gerará uma exceção em vez de retornar um CosmosBatchResponse.

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

getFeedRanges

public List getFeedRanges()

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

List<FeedRange> feedRanges = cosmosContainer.getFeedRanges();
 for (FeedRange feedRange : feedRanges) {
     System.out.println("Feed range: " + feedRange);
 }

Returns:

Uma lista não modificável de FeedRange

getId

public String getId()

Obtém a ID do contêiner atual.

Returns:

a ID do contêiner.

getScripts

public CosmosScripts getScripts()

Obtém os scripts do Cosmos usando o contêiner atual como contexto.

Returns:

os scripts de sincronização do Cosmos.

openConnectionsAndInitCaches

@Deprecated
public void openConnectionsAndInitCaches()

Preterido

Inicializa o contêiner aquecendo os caches e as conexões para a região de leitura atual.

OBSERVAÇÃO: essa API idealmente 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.

openConnectionsAndInitCaches

@Deprecated
public void openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Preterido

Inicializa o contêiner aquecendo os caches e as conexões com um não especificado. de regiões de conexão proativas. Para obter mais informações sobre regiões de conexão proativas, consulte getProactiveConnectionRegionsCount()

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.

Parameters:

numProactiveConnectionRegions - o não de regiões às quais se conectar proativamente a partir da lista preferencial de regiões

read

public CosmosContainerResponse read()

Lê o contêiner atual.

Returns:

a resposta do contêiner do Cosmos com o contêiner de leitura.

read

public CosmosContainerResponse read(CosmosContainerRequestOptions options)

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

Parameters:

options - as opções.

Returns:

a resposta do contêiner do Cosmos.

readThroughput

public ThroughputResponse readThroughput()

Obtém a taxa de transferência do contêiner atual.

try {
     ThroughputResponse throughputResponse = cosmosContainer.readThroughput();
     System.out.println(throughputResponse);
 } catch (CosmosException ce) {
     ce.printStackTrace();
 } catch (Exception e) {
     e.printStackTrace();
 }

Returns:

a resposta de taxa de transferência.

replace

public CosmosContainerResponse replace(CosmosContainerProperties containerProperties)

Substitui as propriedades atuais do contêiner.

Parameters:

containerProperties - as propriedades do contêiner.

Returns:

a resposta do contêiner cosmos.

replace

public CosmosContainerResponse replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Substitui as propriedades de contêiner atuais ao especificar opções adicionais, como If-Match.

Parameters:

containerProperties - as propriedades do contêiner.
options - as opções.

Returns:

a resposta do contêiner cosmos.

replaceThroughput

public ThroughputResponse replaceThroughput(ThroughputProperties throughputProperties)

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

ThroughputProperties throughputProperties =
     ThroughputProperties.createAutoscaledThroughput(1000);
 try {
     ThroughputResponse throughputResponse =
         cosmosContainer.replaceThroughput(throughputProperties);
     System.out.println(throughputResponse);
 } catch (CosmosException ce) {
     ce.printStackTrace();
 } catch (Exception e) {
     e.printStackTrace();
 }

Parameters:

throughputProperties - as propriedades de taxa de transferência (opcional).

Returns:

a resposta de taxa de transferência.

Aplica-se a