CosmosAsyncContainer Classe

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

public class CosmosAsyncContainer

Fournit des méthodes pour lire, supprimer et remplacer des conteneurs existants. Fournit des méthodes pour interagir avec les ressources enfants (éléments, scripts, conflits)

Résumé de la méthode

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

Crée un élément.

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

Crée un élément Cosmos.

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

Crée un élément.

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

Supprime l’élément.

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

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

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

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

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

Interrogez les éléments du conteneur actuel à l’aide d’un SqlQuerySpec et CosmosQueryRequestOptions.

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

Interrogez les éléments du conteneur actuel à l’aide d’un SqlQuerySpec.

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

Recherchez les éléments du conteneur actuel à l’aide d’une chaîne.

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

Recherchez des éléments dans le conteneur actuel.

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

Lit tous les éléments d’une partition logique

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

Lit tous les éléments d’une partition logique

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

Lit un id d’élément par élémentà l’aide d’un configuré CosmosItemRequestOptions.

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

Lit un élément par ID d’élément.

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

Lit de nombreux documents.

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

Lit de nombreux documents.

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

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

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

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

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

Upserts un élément.

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

Upserts un élément.

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

Upserts un élément.

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

Exécute le flux d’opérations en bloc.

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

Exécute le flux d’opérations en bloc.

Mono<CosmosContainerResponse> delete()

Supprime le conteneur actuel.

Mono<CosmosContainerResponse> delete(CosmosContainerRequestOptions options)

Supprime le conteneur

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

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

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

Supprime un élément.

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

Supprime l’élément.

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.

Mono<CosmosBatchResponse> executeCosmosBatch(CosmosBatch cosmosBatch)

Exécute le lot transactionnel.

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

Exécute le lot transactionnel.

CosmosAsyncConflict getConflict(String id)

Obtient un CosmosAsyncConflict objet à l’aide du conteneur actuel pour le contexte.

CosmosAsyncDatabase getDatabase()

Obtient le parent CosmosAsyncDatabase du conteneur actuel.

Mono<List<FeedRange>> getFeedRanges()

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

String getId()

Obtenez l’ID de .CosmosAsyncContainer

CosmosAsyncScripts getScripts()

Obtient un CosmosAsyncScripts en utilisant le conteneur actuel comme contexte.

Mono<Void> openConnectionsAndInitCaches()

Déprécié

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

Mono<Void> openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Déprécié

Meilleur effort pour initialiser le conteneur en réchauffant les caches et les connexions à un non spécifié.

CosmosPagedFlux<CosmosConflictProperties> queryConflicts(String query)

Interroge tous les conflits dans le conteneur actuel.

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

Interroge tous les conflits dans le conteneur actuel.

Mono<CosmosContainerResponse> read()

Lit le conteneur actuel.

Mono<CosmosContainerResponse> read(CosmosContainerRequestOptions options)

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

CosmosPagedFlux<CosmosConflictProperties> readAllConflicts(CosmosQueryRequestOptions options)

Répertorie tous les conflits dans le conteneur actuel.

Mono<ThroughputResponse> readThroughput()

Lisez le débit provisionné pour le conteneur actuel.

Mono<CosmosContainerResponse> replace(CosmosContainerProperties containerProperties)

Remplace les propriétés du conteneur actuel.

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

Remplace les propriétés de conteneur actuelles lors de l’utilisation d’options de requête autres que les options par défaut.

Mono<ThroughputResponse> replaceThroughput(ThroughputProperties throughputProperties)

Remplacez le débit.

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

Détails de la méthode

createItem

public Mono<>> createItem(T item)

Crée un élément.

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse de ressource avec l’élément Cosmos créé. En cas d’échec, l’erreur Mono sera générée.

Parameters:

item - l’élément Cosmos représenté sous la forme d’un objet POJO ou élément Cosmos.

Returns:

Mono contenant la réponse de ressource unique avec l’élément Cosmos créé ou une erreur.

createItem

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

Crée un élément Cosmos.

Parameters:

item - l’élément.
options - options de demande d’élément.

Returns:

Mono contenant la réponse de ressource unique avec l’élément Cosmos créé ou une erreur.

createItem

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

Crée un élément.

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse de ressource avec l’élément Cosmos créé. En cas d’échec, l’erreur Mono sera générée.

Parameters:

item - l’élément Cosmos représenté sous la forme d’un objet POJO ou élément Cosmos.
partitionKey - clé de partition.
options - options de requête.

Returns:

Mono contenant la réponse de ressource unique avec l’élément Cosmos créé ou une erreur.

deleteItem

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

Supprime l’élément.

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse d’élément Cosmos pour l’élément supprimé.

Parameters:

item - élément à supprimer.
options - options de requête.

Returns:

contenant Mono la réponse de ressource d’élément Cosmos.

patchItem

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

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

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse d’élément Cosmos avec l’élément corrigé.

Parameters:

itemId - ID de l’élément.
partitionKey - clé de partition.
cosmosPatchOperations - Représente un conteneur avec une liste d’opérations à appliquer séquentiellement à l’élément Cosmos référencé.
options - options de requête.
itemType - type d’élément.

Returns:

contenant Mono la réponse de ressource d’élément Cosmos avec l’élément corrigé ou une erreur.

patchItem

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

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

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse d’élément Cosmos avec l’élément corrigé.

Parameters:

itemId - ID de l’élément.
partitionKey - clé de partition.
cosmosPatchOperations - Représente un conteneur avec une liste d’opérations à appliquer séquentiellement à l’élément Cosmos référencé.
itemType - type d’élément.

Returns:

contenant Mono la réponse de ressource d’élément Cosmos avec l’élément corrigé ou une erreur.

queryChangeFeed

public CosmosPagedFlux queryChangeFeed(CosmosChangeFeedRequestOptions options, Class classType)

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

Après l’abonnement, l’opération est effectuée. Contient Flux une ou plusieurs réponses de flux des éléments obtenus. En cas d’échec, l’erreur CosmosPagedFlux<T> sera générée.

Parameters:

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

Returns:

CosmosPagedFlux<T> contenant une ou plusieurs pages de réponse de flux des éléments obtenus ou une erreur.

queryItems

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

Interrogez les éléments du conteneur actuel à l’aide d’un SqlQuerySpec et CosmosQueryRequestOptions.

Après l’abonnement, l’opération est effectuée. Contient Flux une ou plusieurs réponses de flux des éléments obtenus. En cas d’échec, l’erreur CosmosPagedFlux<T> sera générée.

Parameters:

querySpec - spécification de requête SQL.
options - options de requête.
classType - type de classe.

Returns:

CosmosPagedFlux<T> contenant une ou plusieurs pages de réponse de flux des éléments obtenus ou une erreur.

queryItems

public CosmosPagedFlux queryItems(SqlQuerySpec querySpec, Class classType)

Interrogez les éléments du conteneur actuel à l’aide d’un 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();

Après l’abonnement, l’opération est effectuée. Contient CosmosPagedFlux<T> une ou plusieurs réponses de flux des éléments obtenus. En cas d’échec, l’erreur CosmosPagedFlux<T> sera générée.

Parameters:

querySpec - spécification de requête SQL.
classType - type de classe.

Returns:

CosmosPagedFlux<T> contenant une ou plusieurs pages de réponse de flux des éléments obtenus ou une erreur.

queryItems

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

Recherchez les éléments du conteneur actuel à l’aide d’une chaîne.

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

Après l’abonnement, l’opération est effectuée. Contient CosmosPagedFlux<T> une ou plusieurs réponses de flux des éléments obtenus. En cas d’échec, l’erreur CosmosPagedFlux<T> sera générée.

Parameters:

query - la requête.
options - options de requête.
classType - type de classe.

Returns:

CosmosPagedFlux<T> contenant une ou plusieurs pages de réponse de flux des éléments obtenus ou une erreur.

queryItems

public CosmosPagedFlux queryItems(String query, Class classType)

Recherchez des éléments dans le conteneur actuel.

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

Après l’abonnement, l’opération est effectuée. Contient CosmosPagedFlux<T> une ou plusieurs réponses de flux des éléments obtenus. En cas d’échec, l’erreur CosmosPagedFlux<T> sera générée.

Parameters:

query - la requête.
classType - type de classe.

Returns:

CosmosPagedFlux<T> contenant une ou plusieurs pages de réponse de flux des éléments obtenus ou une erreur.

readAllItems

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

Lit tous les éléments d’une partition logique

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

Après l’abonnement, l’opération est effectuée. le CosmosPagedFlux<T> contient une ou plusieurs réponses de flux des éléments Cosmos lus. En cas d’échec, l’erreur CosmosPagedFlux<T> sera générée.

Parameters:

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

Returns:

CosmosPagedFlux<T> contenant une ou plusieurs pages de réponse de flux des éléments Cosmos lus ou une erreur.

readAllItems

public CosmosPagedFlux readAllItems(PartitionKey partitionKey, Class classType)

Lit tous les éléments d’une partition logique

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

Après l’abonnement, l’opération est effectuée. le CosmosPagedFlux<T> contient une ou plusieurs réponses de flux des éléments Cosmos lus. En cas d’échec, l’erreur CosmosPagedFlux<T> sera générée.

Parameters:

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

Returns:

CosmosPagedFlux<T> contenant une ou plusieurs pages de réponse de flux des éléments Cosmos lus ou une erreur.

readItem

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

Lit un élément par itemId à l’aide d’un configuré CosmosItemRequestOptions. Cette opération permet de récupérer un seul élément 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 qu’il soit nécessaire d’effectuer des requêtes complexes.

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une réponse d’élément Cosmos avec l’élément lu.

Parameters:

itemId - ID de l’élément.
partitionKey - clé de partition.
options - la requête (Facultatif) CosmosItemRequestOptions.
itemType - type d’élément.

Returns:

contenant Mono la réponse d’élément Cosmos avec l’élément lu ou une erreur.

readItem

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

Lit un élément par itemId. Cette opération permet de récupérer un seul élément 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 qu’il soit nécessaire d’effectuer des requêtes complexes.

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une réponse d’élément avec l’élément lu.

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

Returns:

contenant Mono la réponse d’élément Cosmos avec l’élément lu ou une erreur.

readMany

public Mono<>> 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 seule requête. 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));

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

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 Mono<>> 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 seule requête. 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));

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

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:

un Mono avec une réponse de flux d’éléments cosmos ou d’erreur

replaceItem

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

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

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

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse d’élément Cosmos avec l’élément remplacé.

Parameters:

item - élément à remplacer (contenant l’ID d’élément).
itemId - ID de l’élément.
partitionKey - clé de partition.

Returns:

contenant Mono la réponse de ressource d’élément Cosmos avec l’élément remplacé ou une erreur.

replaceItem

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

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

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse d’élément Cosmos avec l’élément remplacé.

Parameters:

item - élément à remplacer (contenant l’ID d’élément).
itemId - ID de l’élément.
partitionKey - clé de partition.
options - la requête comosItemRequestOptions (Facultatif).

Returns:

contenant Mono la réponse de ressource d’élément Cosmos avec l’élément remplacé ou une erreur.

upsertItem

public Mono<>> upsertItem(T item)

Upserts un élément.

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse de ressource avec l’élément upserted. En cas d’échec, l’erreur Mono sera générée.

Parameters:

item - l’élément représenté en tant qu’objet POJO ou Item à upsert.

Returns:

Mono contenant la réponse de ressource unique avec l’élément upserted ou une erreur.

upsertItem

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

Upserts un élément.

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse de ressource avec l’élément upserted. En cas d’échec, l’erreur Mono sera générée.

Parameters:

item - l’élément représenté en tant qu’objet POJO ou Item à upsert.
options - options de requête.

Returns:

Mono contenant la réponse de ressource unique avec l’élément upserted ou une erreur.

upsertItem

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

Upserts un élément.

Après l’abonnement, l’opération est effectuée. En Mono cas de réussite de l’exécution, le contient une seule réponse de ressource avec l’élément upserted. En cas d’échec, l’erreur Mono sera générée.

Parameters:

item - l’élément représenté en tant qu’objet POJO ou Item à upsert.
partitionKey - clé de partition.
options - options de requête.

Returns:

Mono contenant la réponse de ressource unique avec l’élément upserted ou une erreur.

executeBulkOperations

public Flux<>> executeBulkOperations(Flux operations)

Exécute un flux d’opérations en bloc.

Parameters:

operations - Flux d’opération qui sera exécuté par ce conteneur.

Returns:

Flux 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 de sa réponse à l’aide getResponse()de . Si l’opération a été exécutée avec succès, la valeur retournée par isSuccessStatusCode() est 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 Flux<>> executeBulkOperations(Flux operations, CosmosBulkExecutionOptions bulkOptions)

Exécute le flux d’opérations en bloc.

Parameters:

operations - Flux d’opération qui sera exécuté 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:

Flux 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 Mono delete()

Supprime le conteneur actuel.

Après l’abonnement, l’opération est effectuée. Une Mono fois la saisie terminée, le contient une seule réponse de conteneur Cosmos pour le conteneur supprimé. En cas d’échec, l’erreur Mono will.

Returns:

contenant Mono la réponse unique du conteneur Cosmos pour le conteneur supprimé ou une erreur.

delete

public Mono delete(CosmosContainerRequestOptions options)

Supprime le conteneur

Après l’abonnement, l’opération est effectuée. Une Mono fois la saisie terminée, le contient une seule réponse de conteneur Cosmos pour la base de données supprimée. En cas d’échec, l’erreur Mono will.

Parameters:

options - les options de requête.

Returns:

Mono contenant la réponse de conteneur Cosmos unique pour la base de données supprimée ou une erreur.

deleteAllItemsByPartitionKey

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

Après l’abonnement, l’opération est effectuée. Une Mono fois la saisie terminée, le contient une seule réponse d’élément Cosmos pour tous les éléments supprimés.

Parameters:

partitionKey - partitionKey de l’élément.
options - les options de requête.

Returns:

Mono contenant la réponse de ressource d’élément Cosmos.

deleteItem

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

Supprime un élément.

Après l’abonnement, l’opération est effectuée. Une Mono fois la saisie terminée, le contient une seule réponse d’élément Cosmos pour l’élément supprimé.

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

Parameters:

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

Returns:

Mono contenant la réponse de ressource d’élément Cosmos.

deleteItem

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

Supprime l’élément.

Après l’abonnement, l’opération est effectuée. Une Mono fois la saisie terminée, le contient une seule réponse d’élément Cosmos pour l’élément supprimé.

Parameters:

itemId - id de l’élément.
partitionKey - partitionKey de l’élément.
options - les options de requête (Facultatif).

Returns:

Mono contenant la réponse de ressource d’é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 ThroughputControlGroupConfig.

executeCosmosBatch

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

Réponse Mono 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, une défaillance réseau ou si le service retourne d’une manière ou d’une autre 5xx, le Mono retourne l’erreur au lieu de CosmosBatchResponse.

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

executeCosmosBatch

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

Réponse Mono 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, une défaillance réseau ou si le service retourne d’une manière ou d’une autre 5xx, le Mono retourne l’erreur au lieu de CosmosBatchResponse.

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

getConflict

public CosmosAsyncConflict getConflict(String id)

Obtient un CosmosAsyncConflict objet à l’aide du conteneur actuel pour le contexte.

Parameters:

id - id du conflit Cosmos.

Returns:

un conflit Cosmos.

getDatabase

public CosmosAsyncDatabase getDatabase()

Obtient le parent CosmosAsyncDatabase du conteneur actuel.

Returns:

getFeedRanges

public Mono<>> getFeedRanges()

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

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

Returns:

Liste non modifiable de FeedRange

getId

public String getId()

Obtenez l’ID de .CosmosAsyncContainer

Returns:

getScripts

public CosmosAsyncScripts getScripts()

Obtient un CosmosAsyncScripts en utilisant le conteneur actuel comme contexte.

Cela peut être utilisé pour effectuer différentes opérations sur des scripts Cosmos.

Returns:

openConnectionsAndInitCaches

@Deprecated
public Mono openConnectionsAndInitCaches()

Déprécié

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

Selon le nombre de partitions dont dispose le conteneur, le temps total nécessaire change également. Mais en règle générale, vous pouvez utiliser la formule suivante pour obtenir une durée estimée : s’il a fallu 200 ms pour établir une connexion et que vous avez 100 partitions dans votre conteneur, il faudra environ (100 * 4 / CPUCores) * 200 ms pour ouvrir toutes les connexions après avoir obtenu la liste d’adresses

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.

Returns:

Mono de Void.

openConnectionsAndInitCaches

@Deprecated
public Mono openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Déprécié

Nous vous recommandons d’initialiser le conteneur en réchauffant les caches et les connexions à un nombre spécifié de régions à partir de la liste de régions par défaut.

Selon le nombre de partitions dont dispose le conteneur, le temps total nécessaire change également. Mais en règle générale, vous pouvez utiliser la formule suivante pour obtenir une durée estimée : s’il a fallu 200 ms pour établir une connexion et que vous avez 100 partitions dans votre conteneur, il faudra environ (100 * 4 / (10 * CPUCores)) * 200 ms * RegionsWithProactiveConnections pour ouvrir toutes les connexions après avoir obtenu la liste d’adresses

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.

Afin de réduire les latences associées à l’échauffement des caches et à l’ouverture des connexions, le non des régions de connexion proactive ne peut pas être supérieur CosmosContainerProactiveInitConfigBuilder#MAX_NO_OF_PROACTIVE_CONNECTION_REGIONSà .

Parameters:

numProactiveConnectionRegions - le nombre de régions à lesquelles se connecter de manière proactive

Returns:

Mono de Void.

queryConflicts

public CosmosPagedFlux queryConflicts(String query)

Interroge tous les conflits dans le conteneur actuel.

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

Parameters:

query - la requête.

Returns:

contenant une CosmosPagedFlux<T> ou plusieurs pages de réponse de flux des conflits obtenus ou une erreur.

queryConflicts

public CosmosPagedFlux queryConflicts(String query, CosmosQueryRequestOptions options)

Interroge tous les conflits dans le conteneur actuel.

Parameters:

query - la requête.
options - options de requête (facultatif).

Returns:

contenant une CosmosPagedFlux<T> ou plusieurs pages de réponse de flux des conflits obtenus ou une erreur.

read

public Mono read()

Lit le conteneur actuel.

Après l’abonnement, l’opération est effectuée. Une Mono fois la saisie terminée, le contient une seule réponse de conteneur Cosmos avec le conteneur de lecture. En cas d’échec, l’erreur Mono will.

Returns:

contenant Mono la réponse unique du conteneur Cosmos avec le conteneur de lecture ou une erreur.

read

public Mono read(CosmosContainerRequestOptions options)

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

Après l’abonnement, l’opération est effectuée. Une Mono fois la saisie terminée, le contient une seule réponse de conteneur Cosmos avec le conteneur de lecture. En cas d’échec, l’erreur Mono will.

Parameters:

options - options de demande de conteneur Cosmos.

Returns:

contenant Mono la réponse unique du conteneur Cosmos avec le conteneur de lecture ou une erreur.

readAllConflicts

public CosmosPagedFlux readAllConflicts(CosmosQueryRequestOptions options)

Répertorie tous les conflits dans le conteneur actuel.

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 - options de requête

Returns:

contenant une CosmosPagedFlux<T> ou plusieurs pages de réponse de flux des conflits obtenus ou une erreur.

readThroughput

public Mono readThroughput()

Lisez le débit provisionné pour le conteneur actuel.

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

Returns:

mono contenant la réponse de débit.

replace

public Mono replace(CosmosContainerProperties containerProperties)

Remplace les propriétés du conteneur actuel.

Après l’abonnement, l’opération est effectuée. Une Mono fois la saisie terminée, le contient une seule réponse de conteneur Cosmos avec les propriétés de conteneur remplacées. En cas d’échec, l’erreur Mono will.

Parameters:

containerProperties - propriétés du conteneur

Returns:

contenant Mono la réponse unique du conteneur Cosmos avec les propriétés de conteneur remplacées ou une erreur.

replace

public Mono replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Remplace les propriétés de conteneur actuelles lors de l’utilisation d’options de requête autres que les options par défaut.

Après l’abonnement, l’opération est effectuée. Une Mono fois la saisie terminée, le contient une seule réponse de conteneur Cosmos avec les propriétés de conteneur remplacées. En cas d’échec, l’erreur Mono will.

Parameters:

containerProperties - propriétés du conteneur
options - options de demande de conteneur Cosmos.

Returns:

contenant Mono la réponse unique du conteneur Cosmos avec les propriétés de conteneur remplacées ou une erreur.

replaceThroughput

public Mono replaceThroughput(ThroughputProperties throughputProperties)

Remplacez le débit.

ThroughputProperties throughputProperties =
     ThroughputProperties.createAutoscaledThroughput(1000);

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

Parameters:

throughputProperties - propriétés de débit.

Returns:

mono contenant la réponse de débit.

S’applique à