次の方法で共有


CosmosAsyncContainer クラス

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

public class CosmosAsyncContainer

既存のコンテナーの読み取り、削除、置換を行うメソッドを提供します。 子リソース (項目、スクリプト、競合) と対話するためのメソッドを提供します

メソッドの概要

修飾子と型 メソッドと説明
Mono<CosmosItemResponse<T>> createItem(T item)

項目を作成します。

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

Cosmos アイテムを作成します。

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

項目を作成します。

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

アイテムを削除します。

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

アイテム全体を置き換えることなく、アイテムの特定のプロパティまたはフィールドを変更する部分更新を実行します。

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

アイテム全体を置き換えることなく、アイテムの特定のプロパティまたはフィールドを変更する部分更新を実行します。

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

を使用して、現在のコンテナーの変更フィード内の項目を照会します CosmosChangeFeedRequestOptions

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

CosmosQueryRequestOptionsを使用して、現在のコンテナー内の項目のクエリをSqlQuerySpec実行します。

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

を使用して、現在のコンテナー内の項目のクエリを SqlQuerySpec実行します。

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

文字列を使用して、現在のコンテナー内の項目のクエリを実行します。

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

現在のコンテナー内の項目のクエリを実行します。

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

論理パーティションのすべての項目を読み取ります

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

論理パーティションのすべての項目を読み取ります

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

構成された CosmosItemRequestOptionsを使用して、項目 ID で項目を読み取ります。

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

項目 ID で項目を読み取ります。

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

多くのドキュメントを読み取ります。

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

多くのドキュメントを読み取ります。

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

コンテナー内の既存の項目を新しい項目に置き換えます。

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

コンテナー内の既存の項目を新しい項目に置き換えます。

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

アイテムをアップサートします。

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

アイテムをアップサートします。

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

アイテムをアップサートします。

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

一括操作の Flux を実行します。

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

一括操作の Flux を実行します。

Mono<CosmosContainerResponse> delete()

現在のコンテナーを削除します。

Mono<CosmosContainerResponse> delete(CosmosContainerRequestOptions options)

コンテナーを削除します

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

指定したパーティションキー値を持つコンテナー内のすべての項目を削除します。

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

アイテムを削除します。

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

アイテムを削除します。

void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

グローバル制御モードでスループット制御グループを有効にします。

void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

ローカル制御モードでスループット制御グループを有効にします。

Mono<CosmosBatchResponse> executeCosmosBatch(CosmosBatch cosmosBatch)

トランザクション バッチを実行します。

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

トランザクション バッチを実行します。

CosmosAsyncConflict getConflict(String id)

コンテキストに現在の CosmosAsyncConflict コンテナーを使用して オブジェクトを取得します。

CosmosAsyncDatabase getDatabase()

現在のコンテナーの親 CosmosAsyncDatabase を取得します。

Mono<List<FeedRange>> getFeedRanges()

フィード操作の並列化に使用できる の FeedRange 一覧を取得します。

String getId()

の ID を取得します CosmosAsyncContainer

CosmosAsyncScripts getScripts()

現在のコンテナーをコンテキストとして使用して を CosmosAsyncScripts 取得します。

Mono<Void> openConnectionsAndInitCaches()

非推奨

現在の読み取りリージョンのキャッシュと接続をウォームアップしてコンテナーを初期化するためのベスト エフォート。

Mono<Void> openConnectionsAndInitCaches(int numProactiveConnectionRegions)

非推奨

キャッシュと接続を指定された no にウォームアップしてコンテナーを初期化するためのベスト エフォート。

CosmosPagedFlux<CosmosConflictProperties> queryConflicts(String query)

現在のコンテナー内のすべての競合を照会します。

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

現在のコンテナー内のすべての競合を照会します。

Mono<CosmosContainerResponse> read()

現在のコンテナーを読み取ります。

Mono<CosmosContainerResponse> read(CosmosContainerRequestOptions options)

If-Match などの追加オプションを指定しながら、現在のコンテナーを読み取ります。

CosmosPagedFlux<CosmosConflictProperties> readAllConflicts(CosmosQueryRequestOptions options)

現在のコンテナー内のすべての競合を一覧表示します。

Mono<ThroughputResponse> readThroughput()

現在のコンテナーにプロビジョニングされたスループットを読み取ります。

Mono<CosmosContainerResponse> replace(CosmosContainerProperties containerProperties)

現在のコンテナーのプロパティを置き換えます。

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

既定以外の要求オプションを使用しているときに、現在のコンテナーのプロパティを置き換えます。

Mono<ThroughputResponse> replaceThroughput(ThroughputProperties throughputProperties)

スループットを置き換えます。

メソッドの継承元: java.lang.Object

メソッドの詳細

createItem

public Mono> createItem(T item)

項目を作成します。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、作成された Cosmos アイテムを含む 1 つのリソース応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Parameters:

item - POJO または Cosmos 項目オブジェクトとして表される Cosmos 項目。

Returns:

作成 Mono された Cosmos アイテムまたはエラーを含む単一のリソース応答を含む 。

createItem

public Mono> createItem(T item, CosmosItemRequestOptions options)

Cosmos アイテムを作成します。

Parameters:

item - 項目。
options - 項目要求オプション。

Returns:

作成 Mono された Cosmos アイテムまたはエラーを含む単一のリソース応答を含む 。

createItem

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

項目を作成します。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、作成された Cosmos アイテムを含む 1 つのリソース応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Parameters:

item - POJO または Cosmos 項目オブジェクトとして表される Cosmos 項目。
partitionKey - パーティション キー。
options - 要求オプション。

Returns:

作成 Mono された Cosmos アイテムまたはエラーを含む単一のリソース応答を含む 。

deleteItem

public Mono> deleteItem(T item, CosmosItemRequestOptions options)

アイテムを削除します。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、削除されたアイテムに対する 1 つの Cosmos アイテム応答が含まれます。

Parameters:

item - 削除するアイテム。
options - 要求オプション。

Returns:

Mono Cosmos 項目リソース応答を含む 。

patchItem

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

アイテム全体を置き換えることなく、アイテムの特定のプロパティまたはフィールドを変更する部分更新を実行します。

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

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、修正プログラムが適用された項目を含む 1 つの Cosmos 項目応答が含まれます。

Parameters:

itemId - 項目 ID。
partitionKey - パーティション キー。
cosmosPatchOperations - 参照される Cosmos アイテムに順番に適用される操作の一覧を持つコンテナーを表します。
options - 要求オプション。
itemType - 項目の種類。

Returns:

Mono修正プログラムが適用された項目またはエラーを含む Cosmos 項目リソース応答を含む 。

patchItem

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

アイテム全体を置き換えることなく、アイテムの特定のプロパティまたはフィールドを変更する部分更新を実行します。

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

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、修正プログラムが適用された項目を含む 1 つの Cosmos 項目応答が含まれます。

Parameters:

itemId - 項目 ID。
partitionKey - パーティション キー。
cosmosPatchOperations - 参照される Cosmos アイテムに順番に適用される操作の一覧を持つコンテナーを表します。
itemType - 項目の種類。

Returns:

Mono修正プログラムが適用された項目またはエラーを含む Cosmos 項目リソース応答を含む 。

queryChangeFeed

public CosmosPagedFlux queryChangeFeed(CosmosChangeFeedRequestOptions options, Class classType)

を使用して、現在のコンテナーの変更フィード内の項目を照会します 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();

サブスクリプションが完了すると、操作が実行されます。 には Flux 、取得した項目の 1 つまたは複数のフィード応答が含まれます。 エラーが発生した場合は、 CosmosPagedFlux<T> がエラーになります。

Parameters:

options - 変更フィード要求オプション。
classType - クラス型。

Returns:

CosmosPagedFlux<T>取得したアイテムまたはエラーの 1 つまたは複数のフィード応答ページを含む 。

queryItems

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

CosmosQueryRequestOptionsを使用して、現在のコンテナー内の項目のクエリをSqlQuerySpec実行します。

サブスクリプションが完了すると、操作が実行されます。 には Flux 、取得した項目の 1 つまたは複数のフィード応答が含まれます。 エラーが発生した場合は、 CosmosPagedFlux<T> がエラーになります。

Parameters:

querySpec - SQL クエリの仕様。
options - クエリ要求オプション。
classType - クラス型。

Returns:

CosmosPagedFlux<T>取得したアイテムまたはエラーの 1 つまたは複数のフィード応答ページを含む 。

queryItems

public CosmosPagedFlux queryItems(SqlQuerySpec querySpec, Class classType)

を使用して、現在のコンテナー内の項目のクエリを 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();

サブスクリプションが完了すると、操作が実行されます。 には CosmosPagedFlux<T> 、取得した項目の 1 つまたは複数のフィード応答が含まれます。 エラーが発生した場合は、 CosmosPagedFlux<T> がエラーになります。

Parameters:

querySpec - SQL クエリの仕様。
classType - クラス型。

Returns:

CosmosPagedFlux<T>取得したアイテムまたはエラーの 1 つまたは複数のフィード応答ページを含む 。

queryItems

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

文字列を使用して、現在のコンテナー内の項目のクエリを実行します。

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

サブスクリプションが完了すると、操作が実行されます。 には CosmosPagedFlux<T> 、取得した項目の 1 つまたは複数のフィード応答が含まれます。 エラーが発生した場合は、 CosmosPagedFlux<T> がエラーになります。

Parameters:

query - クエリ。
options - クエリ要求オプション。
classType - クラス型。

Returns:

CosmosPagedFlux<T>取得したアイテムまたはエラーの 1 つまたは複数のフィード応答ページを含む 。

queryItems

public CosmosPagedFlux queryItems(String query, Class classType)

現在のコンテナー内の項目のクエリを実行します。

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

サブスクリプションが完了すると、操作が実行されます。 には CosmosPagedFlux<T> 、取得した項目の 1 つまたは複数のフィード応答が含まれます。 エラーが発生した場合は、 CosmosPagedFlux<T> がエラーになります。

Parameters:

query - クエリ。
classType - クラス型。

Returns:

CosmosPagedFlux<T>取得したアイテムまたはエラーの 1 つまたは複数のフィード応答ページを含む 。

readAllItems

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

論理パーティションのすべての項目を読み取ります

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

サブスクリプションが完了すると、操作が実行されます。 には CosmosPagedFlux<T> 、読み取られた Cosmos アイテムの 1 つまたは複数のフィード応答が含まれます。 エラーが発生した場合は、 CosmosPagedFlux<T> がエラーになります。

Parameters:

partitionKey - 読み取る必要があるドキュメントのパーティション キー値
options - フィード オプション (省略可能)。
classType - クラス型。

Returns:

CosmosPagedFlux<T>読み取られた Cosmos アイテムまたはエラーの 1 つまたは複数のフィード応答ページを含む 。

readAllItems

public CosmosPagedFlux readAllItems(PartitionKey partitionKey, Class classType)

論理パーティションのすべての項目を読み取ります

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

サブスクリプションが完了すると、操作が実行されます。 には CosmosPagedFlux<T> 、読み取られた Cosmos アイテムの 1 つまたは複数のフィード応答が含まれます。 エラーが発生した場合は、 CosmosPagedFlux<T> がエラーになります。

Parameters:

partitionKey - 読み取る必要があるドキュメントのパーティション キー値
classType - クラス型。

Returns:

CosmosPagedFlux<T>読み取られた Cosmos アイテムまたはエラーの 1 つまたは複数のフィード応答ページを含む 。

readItem

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

構成された CosmosItemRequestOptionsを使用して itemId で項目を読み取ります。 この操作は、一意識別子 (ID) とパーティション キーに基づいてコンテナーから 1 つの項目を取得するために使用されます。 readItem 操作では、項目の ID とパーティション キー値で構成される一意識別子を使用して、特定の項目に直接アクセスできます。 この操作は、複雑なクエリを実行することなく、ID とパーティション キーによって既知の項目を取得する場合に効率的です。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、読み取り項目を含む Cosmos 項目の応答が含まれます。

Parameters:

itemId - 項目 ID。
partitionKey - パーティション キー。
options - 要求 (省略可能) CosmosItemRequestOptions
itemType - 項目の種類。

Returns:

Mono読み取り項目またはエラーを含む Cosmos 項目の応答を含む 。

readItem

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

itemId で項目を読み取ります。 この操作は、一意識別子 (ID) とパーティション キーに基づいてコンテナーから 1 つの項目を取得するために使用されます。 readItem 操作では、項目の ID とパーティション キー値で構成される一意識別子を使用して、特定の項目に直接アクセスできます。 この操作は、複雑なクエリを実行することなく、ID とパーティション キーによって既知の項目を取得する場合に効率的です。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、読み取り項目を含む項目の応答が含まれます。

// 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。
partitionKey - パーティション キー。
itemType - 項目の種類。

Returns:

Mono読み取り項目またはエラーを含む Cosmos 項目の応答を含む 。

readMany

public Mono> readMany(List itemIdentityList, Class classType)

多くのドキュメントを読み取ります。 1 つの要求で特定の ID とパーティション キーを持つ多くのドキュメントを読み取る場合に便利です。 リストのドキュメントが見つからない場合、例外はスローされません。

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 - 読み取る必要がある項目の CosmosItem ID とパーティション キータプル
classType - クラス型

Returns:

Cosmos アイテムのフィード応答を含む Mono

readMany

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

多くのドキュメントを読み取ります。 1 つの要求で特定の ID とパーティション キーを持つ多くのドキュメントを読み取る場合に便利です。 リストのドキュメントが見つからない場合、例外はスローされません。

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 - 読み取る必要がある項目の CosmosItem ID とパーティション キータプル
sessionToken - オプションのセッション トークン - 特定のセッション トークンなしで読み取りを行うことができる場合は null
classType - クラス型

Returns:

Cosmos アイテムまたはエラーのフィード応答を含む Mono

replaceItem

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

コンテナー内の既存の項目を新しい項目に置き換えます。 項目の完全な置換が実行され、そのすべてのプロパティが新しい項目のプロパティに置き換えられます。

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

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、置換された項目を含む 1 つの Cosmos 項目応答が含まれます。

Parameters:

item - 置き換える項目 (項目 ID を含む)。
itemId - 項目 ID。
partitionKey - パーティション キー。

Returns:

Mono置き換えられた項目またはエラーを含む Cosmos 項目リソース応答を含む 。

replaceItem

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

コンテナー内の既存の項目を新しい項目に置き換えます。 項目の完全な置換が実行され、そのすべてのプロパティが新しい項目のプロパティに置き換えられます。

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

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、置換された項目を含む 1 つの Cosmos 項目応答が含まれます。

Parameters:

item - 置き換える項目 (項目 ID を含む)。
itemId - 項目 ID。
partitionKey - パーティション キー。
options - 要求 comosItemRequestOptions (省略可能)。

Returns:

Mono置き換えられた項目またはエラーを含む Cosmos 項目リソース応答を含む 。

upsertItem

public Mono> upsertItem(T item)

アイテムをアップサートします。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、アップサートされた項目を含む 1 つのリソース応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Parameters:

item - アップサートする POJO オブジェクトまたは Item オブジェクトとして表される項目。

Returns:

Monoアップサートされた項目またはエラーを含む単一のリソース応答を含む 。

upsertItem

public Mono> upsertItem(T item, CosmosItemRequestOptions options)

アイテムをアップサートします。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、アップサートされた項目を含む 1 つのリソース応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Parameters:

item - アップサートする POJO オブジェクトまたは Item オブジェクトとして表される項目。
options - 要求オプション。

Returns:

Monoアップサートされた項目またはエラーを含む単一のリソース応答を含む 。

upsertItem

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

アイテムをアップサートします。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、アップサートされた項目を含む 1 つのリソース応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Parameters:

item - アップサートする POJO オブジェクトまたは Item オブジェクトとして表される項目。
partitionKey - パーティション キー。
options - 要求オプション。

Returns:

Monoアップサートされた項目またはエラーを含む単一のリソース応答を含む 。

executeBulkOperations

public Flux> executeBulkOperations(Flux operations)

一括操作の Flux を実行します。

Parameters:

operations - このコンテナーによって実行される操作の Flux。

Returns:

Flux には CosmosBulkOperationResponse<TContext> 操作が含まれており、応答または例外です。 ここで実行できる操作を作成するには、 を使用します CosmosBulkOperations。 例: アップサート操作の使用 com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) を使用して getOperation() 対応する操作を取得でき、 を使用した getResponse()応答です。 操作が正常に実行された場合、 によって isSuccessStatusCode() 返される値は true になります。 実際の状態を取得するには、 を使用します getStatusCode()。 操作に例外があるかどうかをチェックするには、 を使用getException()して例外を取得します。

executeBulkOperations

public Flux> executeBulkOperations(Flux operations, CosmosBulkExecutionOptions bulkOptions)

一括操作の Flux を実行します。

Parameters:

operations - このコンテナーによって実行される操作の Flux。
bulkOptions - この一括要求に適用されるオプション。コンカレンシー、バッチ処理サイズ、間隔、コンテキストなどの実行に関するオプションを指定します。

Returns:

Flux には CosmosBulkOperationResponse<TContext> 操作が含まれており、応答または例外です。 ここで実行できる操作を作成するには、 を使用します CosmosBulkOperations。 例: アップサート操作の使用 com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) を使用して getOperation() 対応する操作を取得でき、 を使用した getResponse()応答です。 操作が正常に実行された場合、 によって isSuccessStatusCode() 返される値は true になります。 実際の状態を取得するには、 を使用します getStatusCode()。 操作に例外があるかどうかをチェックするには、 を使用getException()して例外を取得します。

delete

public Mono delete()

現在のコンテナーを削除します。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、削除されたコンテナーに対する 1 つの Cosmos コンテナー応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Returns:

Mono削除されたコンテナーに対する単一の Cosmos コンテナー応答またはエラーを含む 。

delete

public Mono delete(CosmosContainerRequestOptions options)

コンテナーを削除します

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、削除されたデータベースに対する 1 つの Cosmos コンテナー応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Parameters:

options - 要求オプション。

Returns:

Mono削除されたデータベースまたはエラーに対する単一の Cosmos コンテナー応答を含む 。

deleteAllItemsByPartitionKey

public Mono> deleteAllItemsByPartitionKey(PartitionKey partitionKey, CosmosItemRequestOptions options)

指定した partitionKey 値を持つコンテナー内のすべての項目を削除します。 指定した値を持つコンテナー内のすべての項目を削除する非同期 Cosmos DB バックグラウンド操作を開始します。 非同期 Cosmos DB バックグラウンド操作は、ユーザー RU の割合を使用して実行されます。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、削除されたすべてのアイテムに対する 1 つの Cosmos アイテム応答が含まれます。

Parameters:

partitionKey - 項目の partitionKey。
options - 要求オプション。

Returns:

Mono Cosmos 項目リソース応答を含む 。

deleteItem

public Mono> deleteItem(String itemId, PartitionKey partitionKey)

アイテムを削除します。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、削除されたアイテムに対する 1 つの Cosmos アイテム応答が含まれます。

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

Parameters:

itemId - 項目 ID。
partitionKey - パーティション キー。

Returns:

Mono Cosmos 項目リソース応答を含む 。

deleteItem

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

アイテムを削除します。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、削除されたアイテムに対する 1 つの Cosmos アイテム応答が含まれます。

Parameters:

itemId - アイテムの ID。
partitionKey - 項目の partitionKey。
options - 要求オプション (省略可能)。

Returns:

Mono Cosmos 項目リソース応答を含む 。

enableGlobalThroughputControlGroup

public void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

グローバル制御モードでスループット制御グループを有効にします。 定義されたスループット制限は、異なるクライアント間で共有されます。

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 - スループット制御グループの構成については、「」を参照してください GlobalThroughputControlGroup
globalControlConfig - グローバル スループット制御の構成については、「」を参照してください GlobalThroughputControlConfig

enableLocalThroughputControlGroup

public void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

ローカル制御モードでスループット制御グループを有効にします。

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

 container.enableLocalThroughputControlGroup(groupConfig);

Parameters:

groupConfig - ThroughputControlGroupConfig

executeCosmosBatch

public Mono executeCosmosBatch(CosmosBatch cosmosBatch)

トランザクション バッチを実行します。

Parameters:

cosmosBatch - このコンテナーによって実行される操作とパーティション キーの一覧を持つバッチ。

Returns:

トランザクション バッチの実行の詳細を含む Mono 応答。

トランザクション バッチが正常に実行された場合、返される応答で によって CosmosBatchResponse#getStatusCode 返される値は 200} に設定されます。

実行中にトランザクション バッチ内の操作が失敗した場合、バッチからの変更はコミットされません。失敗した操作の状態は、例外によってまたは例外によって CosmosBatchResponse#getStatusCode 使用可能になります。 競合、見つからないなどのユーザー エラーが発生した場合に失敗した操作に関する情報を取得するには、応答を列挙できます。 これにより、トランザクション バッチ内の CosmosBatchOperationResult 各操作に対応するインスタンスが、トランザクション バッチに追加された順序で返されます。 トランザクション バッチ内の操作に対応する結果の場合は、 を使用 CosmosBatchOperationResult#getStatusCode して操作の状態にアクセスします。 操作が実行されなかったか、トランザクション バッチ内の別の操作が失敗したために中止された場合、このフィールドの値は 424 になります。バッチが中止される原因となった操作の場合、このフィールドの値はエラーの原因を示します。

要求タイムアウト、ゴーン、セッションが使用できない、ネットワークエラーなどの問題がある場合、またはサービスが何らかの方法で 5xx を返した場合、Mono は CosmosBatchResponse の代わりにエラーを返します。

返された応答で を使用 CosmosBatchResponse#isSuccessStatusCode して、トランザクション バッチが成功したことを確認します。

executeCosmosBatch

public Mono executeCosmosBatch(CosmosBatch cosmosBatch, CosmosBatchRequestOptions requestOptions)

トランザクション バッチを実行します。

Parameters:

cosmosBatch - このコンテナーによって実行される操作とパーティション キーの一覧を持つバッチ。
requestOptions - バッチ要求に特に適用されるオプション。

Returns:

トランザクション バッチの実行の詳細を含む Mono 応答。

トランザクション バッチが正常に実行された場合、返される応答で によって CosmosBatchResponse#getStatusCode 返される値は 200} に設定されます。

実行中にトランザクション バッチ内の操作が失敗した場合、バッチからの変更はコミットされません。失敗した操作の状態は、例外によってまたは例外によって CosmosBatchResponse#getStatusCode 使用可能になります。 競合、見つからないなどのユーザー エラーが発生した場合に失敗した操作に関する情報を取得するには、応答を列挙できます。 これにより、トランザクション バッチ内の CosmosBatchOperationResult 各操作に対応するインスタンスが、トランザクション バッチに追加された順序で返されます。 トランザクション バッチ内の操作に対応する結果の場合は、 を使用 CosmosBatchOperationResult#getStatusCode して操作の状態にアクセスします。 操作が実行されなかったか、トランザクション バッチ内の別の操作が失敗したために中止された場合、このフィールドの値は 424 になります。バッチが中止される原因となった操作の場合、このフィールドの値はエラーの原因を示します。

要求タイムアウト、ゴーン、セッションが使用できない、ネットワークエラーなどの問題がある場合、またはサービスが何らかの方法で 5xx を返した場合、Mono は CosmosBatchResponse の代わりにエラーを返します。

返された応答で を使用 CosmosBatchResponse#isSuccessStatusCode して、トランザクション バッチが成功したことを確認します。

getConflict

public CosmosAsyncConflict getConflict(String id)

コンテキストに現在の CosmosAsyncConflict コンテナーを使用して オブジェクトを取得します。

Parameters:

id - Cosmos 競合の ID。

Returns:

Cosmos の競合。

getDatabase

public CosmosAsyncDatabase getDatabase()

現在のコンテナーの親 CosmosAsyncDatabase を取得します。

Returns:

getFeedRanges

public Mono> getFeedRanges()

フィード操作の並列化に使用できる の FeedRange 一覧を取得します。

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

Returns:

変更できない の一覧 FeedRange

getId

public String getId()

の ID を取得します CosmosAsyncContainer

Returns:

getScripts

public CosmosAsyncScripts getScripts()

現在のコンテナーをコンテキストとして使用して を CosmosAsyncScripts 取得します。

これをさらに使用して、Cosmos スクリプトに対してさまざまな操作を実行できます。

Returns:

openConnectionsAndInitCaches

@Deprecated
public Mono openConnectionsAndInitCaches()

非推奨

現在の読み取りリージョンのキャッシュと接続をウォームアップしてコンテナーを初期化するためのベスト エフォート。

コンテナーに含まれるパーティションの数に応じて、必要な合計時間も変わります。 ただし、一般に、次の式を使用して推定時間を取得できます。接続を確立するのに 200 ミリ秒かかり、コンテナーに 100 個のパーティションがある場合は、約 (100 * 4 / CPUCores) * 200 ミリ秒でアドレス一覧を取得した後にすべての接続を開くことができます

注: この API は、ワークロードの前にアプリケーションの初期化中に 1 回だけ呼び出すのが理想的です。 一時的なエラーが発生した場合、呼び出し元はエラーを使用し、通常のワークロードを続行する必要があります。

Returns:

Void の Mono。

openConnectionsAndInitCaches

@Deprecated
public Mono openConnectionsAndInitCaches(int numProactiveConnectionRegions)

非推奨

推奨されるリージョンの一覧から指定したリージョンの no. にキャッシュと接続をウォームアップして、コンテナーを初期化するためのベスト エフォート。

コンテナーに含まれるパーティションの数に応じて、必要な合計時間も変わります。 ただし、一般に、次の式を使用して推定時間を取得できます。接続を確立するのに 200 ミリ秒かかり、コンテナーに 100 個のパーティションがある場合は、(100 * 4 / (10 * CPUCores)) * 200ms * RegionsWithProactiveConnections を使用して、アドレス一覧を取得した後にすべての接続を開きます。

注: この API は、ワークロードの前にアプリケーションの初期化中に 1 回だけ呼び出すのが理想的です。 一時的なエラーが発生した場合、呼び出し元はエラーを使用し、通常のワークロードを続行する必要があります。

キャッシュのウォームアップと接続のオープンに関連する待機時間を最小限に抑えるために、プロアクティブ接続リージョンの no. を 以下 CosmosContainerProactiveInitConfigBuilder#MAX_NO_OF_PROACTIVE_CONNECTION_REGIONSにすることはできません。

Parameters:

numProactiveConnectionRegions - プロアクティブに接続するリージョンがない

Returns:

Void の Mono。

queryConflicts

public CosmosPagedFlux queryConflicts(String query)

現在のコンテナー内のすべての競合を照会します。

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 - クエリ。

Returns:

CosmosPagedFlux<T>取得された競合またはエラーの 1 つまたは複数のフィード応答ページを含む 。

queryConflicts

public CosmosPagedFlux queryConflicts(String query, CosmosQueryRequestOptions options)

現在のコンテナー内のすべての競合を照会します。

Parameters:

query - クエリ。
options - クエリ要求オプション (省略可能)。

Returns:

CosmosPagedFlux<T>取得された競合またはエラーの 1 つまたは複数のフィード応答ページを含む 。

read

public Mono read()

現在のコンテナーを読み取ります。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、読み取りコンテナーを含む 1 つの Cosmos コンテナー応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Returns:

Mono読み取りコンテナーまたはエラーを含む単一の Cosmos コンテナー応答を含む 。

read

public Mono read(CosmosContainerRequestOptions options)

If-Match などの追加オプションを指定しながら、現在のコンテナーを読み取ります。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、読み取りコンテナーを含む 1 つの Cosmos コンテナー応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Parameters:

options - Cosmos コンテナー要求オプション。

Returns:

Mono読み取りコンテナーまたはエラーを含む単一の Cosmos コンテナー応答を含む 。

readAllConflicts

public CosmosPagedFlux readAllConflicts(CosmosQueryRequestOptions options)

現在のコンテナー内のすべての競合を一覧表示します。

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 - クエリ要求オプション

Returns:

CosmosPagedFlux<T>取得された競合またはエラーの 1 つまたは複数のフィード応答ページを含む 。

readThroughput

public Mono readThroughput()

現在のコンテナーにプロビジョニングされたスループットを読み取ります。

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

Returns:

スループット応答を含む mono。

replace

public Mono replace(CosmosContainerProperties containerProperties)

現在のコンテナーのプロパティを置き換えます。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、置き換えられたコンテナー プロパティを含む 1 つの Cosmos コンテナー応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Parameters:

containerProperties - コンテナーのプロパティ

Returns:

Mono単一の Cosmos コンテナー応答と、置き換えられたコンテナー プロパティまたはエラーを含む 。

replace

public Mono replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

既定以外の要求オプションを使用しているときに、現在のコンテナーのプロパティを置き換えます。

サブスクリプションが完了すると、操作が実行されます。 Mono正常に完了すると、置き換えられたコンテナー プロパティを含む 1 つの Cosmos コンテナー応答が含まれます。 エラーが発生した場合は、 Mono がエラーになります。

Parameters:

containerProperties - コンテナーのプロパティ
options - Cosmos コンテナー要求オプション。

Returns:

Mono単一の Cosmos コンテナー応答と、置き換えられたコンテナー プロパティまたはエラーを含む 。

replaceThroughput

public Mono replaceThroughput(ThroughputProperties throughputProperties)

スループットを置き換えます。

ThroughputProperties throughputProperties =
     ThroughputProperties.createAutoscaledThroughput(1000);

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

Parameters:

throughputProperties - スループットプロパティ。

Returns:

スループット応答を含む mono。

適用対象