Partager via


CosmosContainer Classe

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

public class CosmosContainer

Fournit des méthodes synchrones pour lire, supprimer et remplacer des conteneurs Existants Fournit des méthodes pour interagir avec des ressources enfants (Éléments, Scripts, Conflits)

Résumé de la méthode

Modificateur et type Méthode et description
CosmosItemResponse<T> createItem(T item)

Crée un élément de manière synchrone et retourne sa réponse d’élément Cosmos respective.

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

Crée un élément de manière synchrone et retourne sa réponse d’élément Cosmos respective tout en spécifiant des options supplémentaires.

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

Crée un élément de manière synchrone et retourne sa réponse à l’élément Cosmos correspondante tout en spécifiant des options supplémentaires.

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

Supprime un élément dans le conteneur actuel.

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

Exécutez une mise à jour partielle qui modifie des propriétés ou des champs spécifiques de l’élément sans remplacer l’élément entier.

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

Exécutez une mise à jour partielle qui modifie des propriétés ou des champs spécifiques de l’élément sans remplacer l’élément entier.

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

Interrogez les éléments dans le flux de modification du conteneur actuel à l’aide de CosmosChangeFeedRequestOptions.

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

Interrogez les éléments dans le conteneur actuel en retournant les résultats sous la forme CosmosPagedIterable<T>.

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

Interrogez les éléments dans le conteneur actuel en retournant les résultats sous la forme CosmosPagedIterable<T>.

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

Lit tous les éléments d’une partition logique renvoyant les résultats sous la forme CosmosPagedIterable<T>.

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

Lit tous les éléments d’une partition logique renvoyant les résultats sous la forme CosmosPagedIterable<T>.

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

Lit un élément dans le conteneur actuel tout en spécifiant des options supplémentaires.

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

Lit un élément dans le conteneur actuel.

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

Lit de nombreux documents.

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

Lit de nombreux documents.

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

Remplace un élément existant dans un conteneur par un nouvel élément.

CosmosItemResponse<T> upsertItem(T item)

Upserts un élément Cosmos dans le conteneur actuel.

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

Upserts a item Cosmos sync item tout en spécifiant des options supplémentaires.

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

Upserts un élément de synchronisation Cosmos tout en spécifiant des options supplémentaires.

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

Exécute la liste des opérations en bloc.

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

Exécute la liste des opérations en bloc.

CosmosContainerResponse delete()

Supprime le conteneur cosmos actuel.

CosmosContainerResponse delete(CosmosContainerRequestOptions options)

Supprime le conteneur Cosmos actuel tout en spécifiant des options supplémentaires telles que If-Match.

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

Supprime tous les éléments du conteneur avec la valeur clé de partitionspécifiée.

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

Supprime un élément dans le conteneur actuel.

void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

Activez le groupe de contrôle de débit avec le mode de contrôle global.

void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

Activez le groupe de contrôle de débit en mode de contrôle local.

CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch)

Exécute le lot transactionnel.

CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch, CosmosBatchRequestOptions requestOptions)

Exécute le lot transactionnel.

List<FeedRange> getFeedRanges()

Obtient une liste de FeedRange qui peuvent être utilisées pour paralléliser les opérations de flux.

String getId()

Obtient l’ID de conteneur actuel.

CosmosScripts getScripts()

Obtient les scripts Cosmos en utilisant le conteneur actuel comme contexte.

void openConnectionsAndInitCaches()

Déprécié

Initialise le conteneur en réchauffant les caches et les connexions pour la région de lecture actuelle.

void openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Déprécié

Initialise le conteneur en réchauffant les caches et les connexions à un non spécifié.

CosmosContainerResponse read()

Lit le conteneur actuel.

CosmosContainerResponse read(CosmosContainerRequestOptions options)

Lit le conteneur actuel tout en spécifiant des options supplémentaires telles que If-Match.

ThroughputResponse readThroughput()

Obtient le débit du conteneur actuel.

CosmosContainerResponse replace(CosmosContainerProperties containerProperties)

Remplace les propriétés de conteneur actuelles.

CosmosContainerResponse replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Remplace les propriétés de conteneur actuelles tout en spécifiant des options supplémentaires telles que If-Match.

ThroughputResponse replaceThroughput(ThroughputProperties throughputProperties)

Définit le débit du conteneur actuel.

Méthodes héritées de java.lang.Object

Détails de la méthode

createItem

public CosmosItemResponse createItem(T item)

Crée un élément de manière synchrone et retourne sa réponse d’élément Cosmos respective.

Parameters:

item - l’élément

Returns:

réponse à l’élément Cosmos

createItem

public CosmosItemResponse createItem(T item, CosmosItemRequestOptions options)

Crée un élément de manière synchrone et retourne sa réponse d’élément Cosmos respective tout en spécifiant des options supplémentaires.

La valeur de clé de partition est automatiquement extraite du contenu de l’élément.

Parameters:

item - l’élément.
options - les options.

Returns:

réponse à l’élément cosmos.

createItem

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

Crée un élément de manière synchrone et retourne sa réponse d’élément Cosmos respective tout en spécifiant des options supplémentaires.

Parameters:

item - l’élément.
partitionKey - clé de partition.
options - les options.

Returns:

réponse à l’élément Cosmos.

deleteItem

public CosmosItemResponse deleteItem(T item, CosmosItemRequestOptions options)

Supprime un élément dans le conteneur actuel.

Parameters:

item - élément à supprimer.
options - les options.

Returns:

réponse à l’élément Cosmos.

patchItem

public CosmosItemResponse patchItem(String itemId, PartitionKey partitionKey, CosmosPatchOperations cosmosPatchOperations, CosmosPatchItemRequestOptions options, Class itemType)

Exécutez une mise à jour partielle qui modifie des propriétés ou des champs spécifiques de l’élément sans remplacer l’élément entier.

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 - ID d’élément.
partitionKey - clé de partition.
cosmosPatchOperations - Représente un conteneur ayant la liste des opérations à appliquer séquentiellement à l’élément Cosmos référencé.
options - les options de requête.
itemType - type d’élément.

Returns:

réponse aux ressources d’élément Cosmos avec l’élément corrigé ou une exception.

patchItem

public CosmosItemResponse patchItem(String itemId, PartitionKey partitionKey, CosmosPatchOperations cosmosPatchOperations, Class itemType)

Exécutez une mise à jour partielle qui modifie des propriétés ou des champs spécifiques de l’élément sans remplacer l’élément entier.

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 - ID d’élément.
partitionKey - clé de partition.
cosmosPatchOperations - Représente un conteneur ayant la liste des opérations à appliquer séquentiellement à l’élément Cosmos référencé.
itemType - type d’élément.

Returns:

réponse aux ressources d’élément Cosmos avec l’élément corrigé ou une exception.

queryChangeFeed

public CosmosPagedIterable queryChangeFeed(CosmosChangeFeedRequestOptions options, Class classType)

Interrogez les éléments dans le flux de modification du conteneur actuel à l’aide de 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);
 }

La page suivante peut être récupérée en appelant à nouveau queryChangeFeed avec une nouvelle instance de CosmosChangeFeedRequestOptions créée à partir du jeton de continuation du instance précédemment retourné FeedResponse<T> .

Parameters:

options - les options de demande de flux de modification.
classType - type de classe.

Returns:

une CosmosPagedFlux<T> page de réponse de flux contenant un seul flux

queryItems

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

Interrogez les éléments dans le conteneur actuel en retournant les résultats sous la forme 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 - spécification de requête.
options - les options.
classType - type de classe.

Returns:

queryItems

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

Interrogez les éléments dans le conteneur actuel en retournant les résultats sous la forme 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 - la requête.
options - les options.
classType - type de classe.

Returns:

readAllItems

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

Lit tous les éléments d’une partition logique renvoyant les résultats sous la forme CosmosPagedIterable<T>.

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

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

Parameters:

partitionKey - la valeur de clé de partition des documents qui doivent être lus
options - options de flux.
classType - type de classe.

Returns:

readAllItems

public CosmosPagedIterable readAllItems(PartitionKey partitionKey, Class classType)

Lit tous les éléments d’une partition logique renvoyant les résultats sous la forme CosmosPagedIterable<T>.

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

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

Parameters:

partitionKey - la valeur de clé de partition des documents qui doivent être lus
classType - type de classe.

Returns:

readItem

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

Lit un élément dans le conteneur actuel tout en spécifiant des options supplémentaires. Cette opération permet de récupérer un élément unique à partir d’un conteneur en fonction de son identificateur unique (ID) et de sa clé de partition. L’opération readItem fournit un accès direct à un élément spécifique à l’aide de son identificateur unique, qui se compose de l’ID de l’élément et de la valeur de clé de partition. Cette opération est efficace pour récupérer un élément connu par son ID et sa clé de partition sans avoir besoin d’interrogations complexes.

Parameters:

itemId - ID d’élément.
partitionKey - clé de partition.
options - les options (Facultatif).
itemType - type de classe de l’élément.

Returns:

réponse à l’élément Cosmos.

readItem

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

Lit un élément dans le conteneur actuel. Cette opération permet de récupérer un élément unique à partir d’un conteneur en fonction de son identificateur unique (ID) et de sa clé de partition. L’opération readItem fournit un accès direct à un élément spécifique à l’aide de son identificateur unique, qui se compose de l’ID de l’élément et de la valeur de clé de partition. Cette opération est efficace pour récupérer un élément connu par son ID et sa clé de partition sans avoir besoin d’interrogations complexes.

// 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 - ID d’élément.
partitionKey - clé de partition.
itemType - type de classe de l’élément.

Returns:

réponse à l’élément Cosmos.

readMany

public FeedResponse readMany(List itemIdentityList, Class classType)

Lit de nombreux documents. Utile pour lire de nombreux documents avec un ID et une clé de partition particuliers dans une requête unique. Si un document de la liste est manquant, aucune exception n’est levée.

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 CosmosItem et tuple de clé de partition des éléments qui doivent être lus
classType - type de classe

Returns:

mono avec réponse de flux d’éléments cosmos

readMany

public FeedResponse readMany(List itemIdentityList, String sessionToken, Class classType)

Lit de nombreux documents. Utile pour lire de nombreux documents avec un ID et une clé de partition particuliers dans une requête unique. Si un document de la liste est manquant, aucune exception n’est levée.

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 CosmosItem et tuple de clé de partition des éléments qui doivent être lus
sessionToken - jeton de session facultatif : null si la lecture peut être effectuée sans jeton de session spécifique
classType - type de classe

Returns:

mono avec réponse de flux d’éléments cosmos

replaceItem

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

Remplace un élément existant dans un conteneur par un nouvel élément. Il effectue un remplacement complet de l’élément, en remplaçant toutes ses propriétés par les propriétés du nouvel élément

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

Parameters:

item - l’élément.
itemId - ID d’élément.
partitionKey - clé de partition.
options - les options.

Returns:

réponse à l’élément Cosmos.

upsertItem

public CosmosItemResponse upsertItem(T item)

Upserts un élément Cosmos dans le conteneur actuel.

Parameters:

item - l’élément.

Returns:

réponse à l’élément Cosmos.

upsertItem

public CosmosItemResponse upsertItem(T item, CosmosItemRequestOptions options)

Upserts a item Cosmos sync item tout en spécifiant des options supplémentaires.

Parameters:

item - l’élément.
options - les options.

Returns:

réponse à l’élément Cosmos.

upsertItem

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

Upserts un élément de synchronisation Cosmos tout en spécifiant des options supplémentaires.

Parameters:

item - l’élément.
partitionKey - partitionKey.
options - les options.

Returns:

réponse à l’élément Cosmos.

executeBulkOperations

public Iterable> executeBulkOperations(Iterable operations)

Exécute la liste des opérations en bloc.

Parameters:

operations - liste des opérations qui seront exécutées par ce conteneur.

Returns:

Iterable de qui contient l’opération CosmosBulkOperationResponse<TContext> et sa réponse ou son exception. Pour créer une opération qui peut être exécutée ici, utilisez CosmosBulkOperations. Par exemple pour une opération upsert, utilisez com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) Nous pouvons obtenir l’opération correspondante à l’aide getOperation() de et sa réponse à l’aide de getResponse(). Si l’opération a été exécutée avec succès, la valeur retournée par isSuccessStatusCode() sera true. Pour obtenir des status réels, utilisez getStatusCode(). Pour case activée si l’opération comportait une exception, utilisez getException() pour obtenir l’exception.

executeBulkOperations

public Iterable> executeBulkOperations(Iterable operations, CosmosBulkExecutionOptions bulkOptions)

Exécute la liste des opérations en bloc.

Parameters:

operations - liste des opérations qui seront exécutées par ce conteneur.
bulkOptions - Options qui s’appliquent à cette demande en bloc qui spécifie des options relatives à l’exécution, telles que la concurrence, la taille du traitement par lots, l’intervalle et le contexte.

Returns:

Iterable de qui contient l’opération CosmosBulkOperationResponse<TContext> et sa réponse ou son exception. Pour créer une opération qui peut être exécutée ici, utilisez CosmosBulkOperations. Par exemple pour une opération upsert, utilisez com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) Nous pouvons obtenir l’opération correspondante à l’aide getOperation() de et sa réponse à l’aide de getResponse(). Si l’opération a été exécutée avec succès, la valeur retournée par isSuccessStatusCode() sera true. Pour obtenir des status réels, utilisez getStatusCode(). Pour case activée si l’opération comportait une exception, utilisez getException() pour obtenir l’exception.

delete

public CosmosContainerResponse delete()

Supprime le conteneur cosmos actuel.

Returns:

réponse du conteneur cosmos.

delete

public CosmosContainerResponse delete(CosmosContainerRequestOptions options)

Supprime le conteneur Cosmos actuel tout en spécifiant des options supplémentaires telles que If-Match.

Parameters:

options - les options.

Returns:

réponse du conteneur cosmos.

deleteAllItemsByPartitionKey

public CosmosItemResponse deleteAllItemsByPartitionKey(PartitionKey partitionKey, CosmosItemRequestOptions options)

Supprime tous les éléments du conteneur avec la valeur partitionKey spécifiée. Démarre une opération asynchrone en arrière-plan Cosmos DB qui supprime tous les éléments du conteneur avec la valeur spécifiée. L’opération asynchrone en arrière-plan Cosmos DB s’exécute à l’aide d’un pourcentage d’unités de requête utilisateur.

Parameters:

partitionKey - clé de partition.
options - les options.

Returns:

réponse à l’élément Cosmos

deleteItem

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

Supprime un élément dans le conteneur actuel.

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 - ID d’élément.
partitionKey - clé de partition.
options - les options.

Returns:

réponse à l’élément Cosmos.

enableGlobalThroughputControlGroup

public void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

Activez le groupe de contrôle de débit avec le mode de contrôle global. La limite de débit définie sera partagée entre différents clients.

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 configuration du groupe de contrôle de débit, consultez GlobalThroughputControlGroup.
globalControlConfig - La configuration du contrôle de débit global, consultez GlobalThroughputControlConfig.

enableLocalThroughputControlGroup

public void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

Activez le groupe de contrôle de débit en mode de contrôle local.

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

 container.enableLocalThroughputControlGroup(groupConfig);

Parameters:

groupConfig - Un GlobalThroughputControlConfig.

executeCosmosBatch

public CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch)

Exécute le lot transactionnel.

Parameters:

cosmosBatch - Lot ayant la liste des opérations et de la clé de partition qui seront exécutées par ce conteneur.

Returns:

TransactionalBatchResponse qui contient les détails de l’exécution du lot transactionnel.

Si le lot transactionnel s’exécute correctement, la valeur retournée par CosmosBatchResponse#getStatusCode sur la réponse retournée est définie sur 200}.

Si une opération dans le lot transactionnel échoue pendant l’exécution, aucune modification du lot n’est validée et la status de l’opération défaillante est rendue disponible par CosmosBatchResponse#getStatusCode ou par l’exception. Pour obtenir des informations sur les opérations qui ont échoué en cas d’erreur utilisateur comme un conflit, introuvable, etc., vous pouvez énumérer la réponse. Cela retourne CosmosBatchOperationResult des instances correspondant à chaque opération du lot transactionnel dans l’ordre dans lequel elles ont été ajoutées au lot transactionnel. Pour un résultat correspondant à une opération dans le lot transactionnel, utilisez CosmosBatchOperationResult#getStatusCode pour accéder au status de l’opération. Si l’opération n’a pas été exécutée ou si elle a été abandonnée en raison de l’échec d’une autre opération dans le lot transactionnel, la valeur de ce champ est 424 ; pour l’opération qui a provoqué l’abandon du lot, la valeur de ce champ indique la cause de l’échec.

S’il existe des problèmes tels que les délais d’expiration de la demande, la session non disponible, l’échec réseau ou si le service retourne d’une manière ou d’une autre 5xx, une exception est levée au lieu de renvoyer une CosmosBatchResponse.

Utilisez CosmosBatchResponse#isSuccessStatusCode sur la réponse retournée pour vous assurer que le lot transactionnel a réussi.

executeCosmosBatch

public CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch, CosmosBatchRequestOptions requestOptions)

Exécute le lot transactionnel.

Parameters:

cosmosBatch - Lot ayant la liste des opérations et de la clé de partition qui seront exécutées par ce conteneur.
requestOptions - Options qui s’appliquent spécifiquement à la demande par lots.

Returns:

CosmosBatchResponse qui contient les détails de l’exécution du lot transactionnel.

Si le lot transactionnel s’exécute correctement, la valeur retournée par CosmosBatchResponse#getStatusCode sur la réponse retournée est définie sur 200}.

Si une opération dans le lot transactionnel échoue pendant l’exécution, aucune modification du lot n’est validée et la status de l’opération défaillante est rendue disponible par CosmosBatchResponse#getStatusCode ou par l’exception. Pour obtenir des informations sur les opérations qui ont échoué en cas d’erreur utilisateur comme un conflit, introuvable, etc., vous pouvez énumérer la réponse. Cela retourne CosmosBatchOperationResult des instances correspondant à chaque opération du lot transactionnel dans l’ordre dans lequel elles ont été ajoutées au lot transactionnel. Pour un résultat correspondant à une opération dans le lot transactionnel, utilisez CosmosBatchOperationResult#getStatusCode pour accéder au status de l’opération. Si l’opération n’a pas été exécutée ou si elle a été abandonnée en raison de l’échec d’une autre opération dans le lot transactionnel, la valeur de ce champ est 424 ; pour l’opération qui a provoqué l’abandon du lot, la valeur de ce champ indique la cause de l’échec.

S’il existe des problèmes tels que les délais d’expiration de la demande, la session non disponible, l’échec réseau ou si le service retourne d’une manière ou d’une autre 5xx, une exception est levée au lieu de renvoyer une CosmosBatchResponse.

Utilisez CosmosBatchResponse#isSuccessStatusCode sur la réponse retournée pour vous assurer que le lot transactionnel a réussi.

getFeedRanges

public List getFeedRanges()

Obtient une liste de FeedRange qui peuvent être utilisées pour paralléliser les opérations de flux.

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

Returns:

Liste non modifiable de FeedRange

getId

public String getId()

Obtient l’ID de conteneur actuel.

Returns:

l’ID du conteneur.

getScripts

public CosmosScripts getScripts()

Obtient les scripts Cosmos en utilisant le conteneur actuel comme contexte.

Returns:

les scripts de synchronisation Cosmos.

openConnectionsAndInitCaches

@Deprecated
public void openConnectionsAndInitCaches()

Déprécié

Initialise le conteneur en réchauffant les caches et les connexions pour la région de lecture actuelle.

REMARQUE : dans l’idéal, cette API ne doit être appelée qu’une seule fois lors de l’initialisation de l’application avant toute charge de travail. En cas d’erreur temporaire, l’appelant doit consommer l’erreur et continuer la charge de travail régulière.

openConnectionsAndInitCaches

@Deprecated
public void openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Déprécié

Initialise le conteneur en réchauffant les caches et les connexions à un no spécifié de régions de connexion proactives. Pour plus d’informations sur les régions de connexion proactives, consultez getProactiveConnectionRegionsCount()

REMARQUE : dans l’idéal, cette API ne doit être appelée qu’une seule fois lors de l’initialisation de l’application avant toute charge de travail. En cas d’erreur temporaire, l’appelant doit consommer l’erreur et continuer la charge de travail régulière.

Parameters:

numProactiveConnectionRegions - le nombre de régions à lesquelles se connecter de manière proactive à partir de la liste de régions par défaut

read

public CosmosContainerResponse read()

Lit le conteneur actuel.

Returns:

réponse du conteneur Cosmos avec le conteneur de lecture.

read

public CosmosContainerResponse read(CosmosContainerRequestOptions options)

Lit le conteneur actuel tout en spécifiant des options supplémentaires telles que If-Match.

Parameters:

options - les options.

Returns:

réponse du conteneur Cosmos.

readThroughput

public ThroughputResponse readThroughput()

Obtient le débit du conteneur actuel.

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

Returns:

réponse de débit.

replace

public CosmosContainerResponse replace(CosmosContainerProperties containerProperties)

Remplace les propriétés de conteneur actuelles.

Parameters:

containerProperties - propriétés du conteneur.

Returns:

réponse du conteneur cosmos.

replace

public CosmosContainerResponse replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Remplace les propriétés de conteneur actuelles tout en spécifiant des options supplémentaires telles que If-Match.

Parameters:

containerProperties - propriétés du conteneur.
options - les options.

Returns:

réponse du conteneur cosmos.

replaceThroughput

public ThroughputResponse replaceThroughput(ThroughputProperties throughputProperties)

Définit le débit du conteneur actuel.

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 - propriétés de débit (facultatif).

Returns:

réponse de débit.

S’applique à