Freigeben über


CosmosContainer Klasse

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

public class CosmosContainer

Stellt synchrone Methoden zum Lesen, Löschen und Ersetzen vorhandener Container bereitstellt Methoden für die Interaktion mit untergeordneten Ressourcen (Elemente, Skripts, Konflikte) bereit.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
CosmosItemResponse<T> createItem(T item)

Erstellt ein neues Element synchron und gibt die entsprechende Cosmos-Elementantwort zurück.

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

Erstellt ein neues Element synchron und gibt die jeweilige Cosmos-Elementantwort zurück, während zusätzliche Optionen angegeben werden.

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

Erstellt ein neues Element synchron und gibt die entsprechende Cosmos-Elementantwort zurück, während zusätzliche Optionen angegeben werden.

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

Löscht ein Element im aktuellen Container.

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

Führen Sie eine partielle Aktualisierung aus, die bestimmte Eigenschaften oder Felder des Elements ändert, ohne das gesamte Element zu ersetzen.

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

Führen Sie eine partielle Aktualisierung aus, die bestimmte Eigenschaften oder Felder des Elements ändert, ohne das gesamte Element zu ersetzen.

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

Abfragen von Elementen im Änderungsfeed des aktuellen Containers mithilfe von CosmosChangeFeedRequestOptions.

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

Fragen Sie Elemente im aktuellen Container ab, die die Ergebnisse als CosmosPagedIterable<T>zurückgeben.

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

Fragen Sie Elemente im aktuellen Container ab, die die Ergebnisse als CosmosPagedIterable<T>zurückgeben.

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

Liest alle Elemente einer logischen Partition und gibt die Ergebnisse als CosmosPagedIterable<T>zurück.

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

Liest alle Elemente einer logischen Partition und gibt die Ergebnisse als CosmosPagedIterable<T>zurück.

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

Liest ein Element im aktuellen Container, während zusätzliche Optionen angegeben werden.

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

Liest ein Element im aktuellen Container.

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

Liest viele Dokumente.

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

Liest viele Dokumente.

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

Ersetzt ein vorhandenes Element in einem Container durch ein neues Element.

CosmosItemResponse<T> upsertItem(T item)

Upsert ein Cosmos-Element im aktuellen Container.

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

Upsert ein Element Cosmos-Synchronisierungselement, während zusätzliche Optionen angegeben werden.

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

Upsert ein Cosmos-Synchronisierungselement, während zusätzliche Optionen angegeben werden.

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

Führt die Liste der Vorgänge in Bulk aus.

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

Führt die Liste der Vorgänge in Bulk aus.

CosmosContainerResponse delete()

Löscht den aktuellen Cosmos-Container.

CosmosContainerResponse delete(CosmosContainerRequestOptions options)

Löscht den aktuellen Cosmos-Container, während zusätzliche Optionen wie If-Match angegeben werden.

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

Löscht alle Elemente im Container mit dem angegebenen Partitionsschlüsselwert.

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

Löscht ein Element im aktuellen Container.

void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

Aktivieren Sie die Durchsatzsteuerungsgruppe mit dem globalen Steuerungsmodus.

void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

Aktivieren Sie die Durchsatzsteuerungsgruppe mit dem lokalen Steuerungsmodus.

CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch)

Führt den Transaktionsbatch aus.

CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch, CosmosBatchRequestOptions requestOptions)

Führt den Transaktionsbatch aus.

List<FeedRange> getFeedRanges()

Ruft eine Liste von ab, die zum Parallelisieren von FeedRange Feedvorgängen verwendet werden kann.

String getId()

Ruft die aktuelle Container-ID ab.

CosmosScripts getScripts()

Ruft die Cosmos-Skripts ab, die den aktuellen Container als Kontext verwenden.

void openConnectionsAndInitCaches()

Als veraltet markiert

Initialisiert den Container, indem die Caches und Verbindungen für den aktuellen Lesebereich aufgewärmt werden.

void openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Als veraltet markiert

Initialisiert den Container, indem die Caches und Verbindungen mit einem angegebenen Nein aufgewärmt werden.

CosmosContainerResponse read()

Liest den aktuellen Container.

CosmosContainerResponse read(CosmosContainerRequestOptions options)

Liest den aktuellen Container, während zusätzliche Optionen wie If-Match angegeben werden.

ThroughputResponse readThroughput()

Ruft den Durchsatz für den aktuellen Container ab.

CosmosContainerResponse replace(CosmosContainerProperties containerProperties)

Ersetzt die aktuellen Containereigenschaften.

CosmosContainerResponse replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Ersetzt die aktuellen Containereigenschaften, während zusätzliche Optionen wie If-Match angegeben werden.

ThroughputResponse replaceThroughput(ThroughputProperties throughputProperties)

Legt den Durchsatz für den aktuellen Container fest.

Geerbte Methoden von java.lang.Object

Details zur Methode

createItem

public CosmosItemResponse createItem(T item)

Erstellt ein neues Element synchron und gibt die entsprechende Cosmos-Elementantwort zurück.

Parameters:

item - das Element

Returns:

Die Cosmos-Elementantwort

createItem

public CosmosItemResponse createItem(T item, CosmosItemRequestOptions options)

Erstellt ein neues Element synchron und gibt die jeweilige Cosmos-Elementantwort zurück, während zusätzliche Optionen angegeben werden.

Der Partitionsschlüsselwert wird automatisch aus dem Inhalt des Elements extrahiert.

Parameters:

item - das Element.
options - die Optionen.

Returns:

die Cosmos-Elementantwort.

createItem

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

Erstellt ein neues Element synchron und gibt die jeweilige Cosmos-Elementantwort zurück, während zusätzliche Optionen angegeben werden.

Parameters:

item - das Element.
partitionKey - der Partitionsschlüssel.
options - die Optionen.

Returns:

Die Cosmos-Elementantwort.

deleteItem

public CosmosItemResponse deleteItem(T item, CosmosItemRequestOptions options)

Löscht ein Element im aktuellen Container.

Parameters:

item - das zu löschende Element.
options - die Optionen.

Returns:

Die Cosmos-Elementantwort.

patchItem

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

Führen Sie eine partielle Aktualisierung aus, die bestimmte Eigenschaften oder Felder des Elements ändert, ohne das gesamte Element zu ersetzen.

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 - die Element-ID.
partitionKey - den Partitionsschlüssel.
cosmosPatchOperations - Stellt einen Container mit einer Liste von Vorgängen dar, die sequenziell auf das verwiesene Cosmos-Element angewendet werden sollen.
options - die Anforderungsoptionen.
itemType - der Elementtyp.

Returns:

Die Antwort der Cosmos-Elementressource mit dem gepatchten Element oder einer Ausnahme.

patchItem

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

Führen Sie eine partielle Aktualisierung aus, die bestimmte Eigenschaften oder Felder des Elements ändert, ohne das gesamte Element zu ersetzen.

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 - die Element-ID.
partitionKey - den Partitionsschlüssel.
cosmosPatchOperations - Stellt einen Container mit einer Liste von Vorgängen dar, die sequenziell auf das verwiesene Cosmos-Element angewendet werden sollen.
itemType - der Elementtyp.

Returns:

Die Antwort der Cosmos-Elementressource mit dem gepatchten Element oder einer Ausnahme.

queryChangeFeed

public CosmosPagedIterable queryChangeFeed(CosmosChangeFeedRequestOptions options, Class classType)

Abfragen von Elementen im Änderungsfeed des aktuellen Containers mithilfe von 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);
 }

Die nächste Seite kann durch erneutes Aufrufen von queryChangeFeed mit einer neuen instance abgerufen werden, die aus dem Fortsetzungstoken CosmosChangeFeedRequestOptions des zuvor zurückgegebenen instance erstellt wurde FeedResponse<T> .

Parameters:

options - die Änderungsfeedanforderungsoptionen.
classType - den Klassentyp.

Returns:

eine CosmosPagedFlux<T> , die eine Feedantwortseite enthält

queryItems

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

Fragen Sie Elemente im aktuellen Container ab, die die Ergebnisse als CosmosPagedIterable<T>zurückgeben.

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 - die Abfragespezifikation.
options - die Optionen.
classType - den Klassentyp.

Returns:

queryItems

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

Fragen Sie Elemente im aktuellen Container ab, die die Ergebnisse als CosmosPagedIterable<T>zurückgeben.

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 - die Abfrage.
options - die Optionen.
classType - den Klassentyp.

Returns:

readAllItems

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

Liest alle Elemente einer logischen Partition und gibt die Ergebnisse als CosmosPagedIterable<T>zurück.

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

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

Parameters:

partitionKey - Der Partitionsschlüsselwert der Dokumente, die gelesen werden müssen
options - die Feedoptionen.
classType - den Klassentyp.

Returns:

readAllItems

public CosmosPagedIterable readAllItems(PartitionKey partitionKey, Class classType)

Liest alle Elemente einer logischen Partition und gibt die Ergebnisse als CosmosPagedIterable<T>zurück.

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

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

Parameters:

partitionKey - Der Partitionsschlüsselwert der Dokumente, die gelesen werden müssen
classType - den Klassentyp.

Returns:

readItem

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

Liest ein Element im aktuellen Container, während zusätzliche Optionen angegeben werden. Dieser Vorgang wird verwendet, um ein einzelnes Element basierend auf seinem eindeutigen Bezeichner (ID) und Partitionsschlüssel aus einem Container abzurufen. Der readItem-Vorgang ermöglicht direkten Zugriff auf ein bestimmtes Element mithilfe seines eindeutigen Bezeichners, der aus der ID des Elements und dem Partitionsschlüsselwert besteht. Dieser Vorgang ist effizient, um ein bekanntes Element anhand seiner ID und seines Partitionsschlüssels abzurufen, ohne dass komplexe Abfragen erforderlich sind.

Parameters:

itemId - die Element-ID.
partitionKey - den Partitionsschlüssel.
options - die Optionen (Optional).
itemType - der Klassentyp des Elements.

Returns:

Die Cosmos-Elementantwort.

readItem

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

Liest ein Element im aktuellen Container. Dieser Vorgang wird verwendet, um ein einzelnes Element basierend auf seinem eindeutigen Bezeichner (ID) und Partitionsschlüssel aus einem Container abzurufen. Der readItem-Vorgang ermöglicht direkten Zugriff auf ein bestimmtes Element mithilfe seines eindeutigen Bezeichners, der aus der ID des Elements und dem Partitionsschlüsselwert besteht. Dieser Vorgang ist effizient, um ein bekanntes Element anhand seiner ID und seines Partitionsschlüssels abzurufen, ohne dass komplexe Abfragen erforderlich sind.

// 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 - die Element-ID.
partitionKey - den Partitionsschlüssel.
itemType - der Klassentyp des Elements.

Returns:

Die Cosmos-Elementantwort.

readMany

public FeedResponse readMany(List itemIdentityList, Class classType)

Liest viele Dokumente. Nützlich zum Lesen vieler Dokumente mit einer bestimmten ID und einem Partitionsschlüssel in einer einzelnen Anforderung. Wenn ein Dokument aus der Liste fehlt, wird keine Ausnahme ausgelöst.

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 - CosmosItem-ID und Partitionsschlüsseltupel von Elementen, die gelesen werden müssen
classType - Klassentyp

Returns:

Mono mit Feedantwort von Cosmos-Elementen

readMany

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

Liest viele Dokumente. Nützlich zum Lesen vieler Dokumente mit einer bestimmten ID und einem Partitionsschlüssel in einer einzelnen Anforderung. Wenn ein Dokument aus der Liste fehlt, wird keine Ausnahme ausgelöst.

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 - CosmosItem-ID und Partitionsschlüsseltupel von Elementen, die gelesen werden müssen
sessionToken - das optionale Sitzungstoken – NULL, wenn der Lesevorgang ohne bestimmtes Sitzungstoken erfolgen kann
classType - Klassentyp

Returns:

Mono mit Feedantwort von Cosmos-Elementen

replaceItem

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

Ersetzt ein vorhandenes Element in einem Container durch ein neues Element. Es führt einen vollständigen Austausch des Elements durch und ersetzt alle seine Eigenschaften durch die Eigenschaften des neuen Elements.

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

Parameters:

item - das Element.
itemId - die Element-ID.
partitionKey - den Partitionsschlüssel.
options - die Optionen.

Returns:

Die Cosmos-Elementantwort.

upsertItem

public CosmosItemResponse upsertItem(T item)

Upsert ein Cosmos-Element im aktuellen Container.

Parameters:

item - das Element.

Returns:

Die Cosmos-Elementantwort.

upsertItem

public CosmosItemResponse upsertItem(T item, CosmosItemRequestOptions options)

Upsert ein Cosmos-Synchronisierungselement für ein Element, während zusätzliche Optionen angegeben werden.

Parameters:

item - das Element.
options - die Optionen.

Returns:

die Cosmos-Elementantwort.

upsertItem

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

Upsert ein Cosmos-Synchronisierungselement, während zusätzliche Optionen angegeben werden.

Parameters:

item - das Element.
partitionKey - partitionKey.
options - die Optionen.

Returns:

die Cosmos-Elementantwort.

executeBulkOperations

public Iterable<>> executeBulkOperations(Iterable operations)

Führt die Liste der Vorgänge in Bulk aus.

Parameters:

operations - Liste der Vorgänge, die von diesem Container ausgeführt werden.

Returns:

Ein Iterable-Wert, dessen CosmosBulkOperationResponse<TContext> Vorgang und seine Antwort oder Ausnahme enthält. Verwenden CosmosBulkOperationsSie zum Erstellen eines Vorgangs, der hier ausgeführt werden kann. Beispiel: für einen Upsert-Vorgang verwenden com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) Wir können den entsprechenden Vorgang mithilfe der getOperation() Antwort getResponse()abrufen. Wenn der Vorgang erfolgreich ausgeführt wurde, ist der von isSuccessStatusCode() zurückgegebene Wert true. Verwenden getStatusCode()Sie zum Abrufen der tatsächlichen status . Verwenden Sie zum Abrufen der Ausnahme, um zu überprüfen, getException() ob der Vorgang eine Ausnahme aufweist.

executeBulkOperations

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

Führt die Liste der Vorgänge in Bulk aus.

Parameters:

operations - Liste der Vorgänge, die von diesem Container ausgeführt werden.
bulkOptions - Optionen, die für diese Massenanforderung gelten, die Optionen für die Ausführung wie Parallelität, Batchgröße, Intervall und Kontext angibt.

Returns:

Ein Iterable-Wert, dessen CosmosBulkOperationResponse<TContext> Vorgang und seine Antwort oder Ausnahme enthält. Verwenden CosmosBulkOperationsSie zum Erstellen eines Vorgangs, der hier ausgeführt werden kann. Beispiel: für einen Upsert-Vorgang verwenden com.azure.cosmos.models.CosmosBulkOperations#getUpsertItemOperation(Object, PartitionKey) Wir können den entsprechenden Vorgang mithilfe der getOperation() Antwort getResponse()abrufen. Wenn der Vorgang erfolgreich ausgeführt wurde, ist der von isSuccessStatusCode() zurückgegebene Wert true. Verwenden getStatusCode()Sie zum Abrufen der tatsächlichen status . Verwenden Sie zum Abrufen der Ausnahme, um zu überprüfen, getException() ob der Vorgang eine Ausnahme aufweist.

delete

public CosmosContainerResponse delete()

Löscht den aktuellen Cosmos-Container.

Returns:

die Cosmos-Containerantwort.

delete

public CosmosContainerResponse delete(CosmosContainerRequestOptions options)

Löscht den aktuellen Cosmos-Container, während zusätzliche Optionen wie If-Match angegeben werden.

Parameters:

options - die Optionen.

Returns:

die Cosmos-Containerantwort.

deleteAllItemsByPartitionKey

public CosmosItemResponse deleteAllItemsByPartitionKey(PartitionKey partitionKey, CosmosItemRequestOptions options)

Löscht alle Elemente im Container mit dem angegebenen wert partitionKey. Startet einen asynchronen Cosmos DB-Hintergrundvorgang, der alle Elemente im Container mit dem angegebenen Wert löscht. Der asynchrone Cosmos DB-Hintergrundvorgang wird mit einem Prozentsatz der Benutzer-RUs ausgeführt.

Parameters:

partitionKey - der Partitionsschlüssel.
options - die Optionen.

Returns:

Die Cosmos-Elementantwort

deleteItem

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

Löscht ein Element im aktuellen Container.

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 - die Element-ID.
partitionKey - der Partitionsschlüssel.
options - die Optionen.

Returns:

die Cosmos-Elementantwort.

enableGlobalThroughputControlGroup

public void enableGlobalThroughputControlGroup(ThroughputControlGroupConfig groupConfig, GlobalThroughputControlConfig globalControlConfig)

Aktivieren Sie die Durchsatzsteuerungsgruppe mit dem globalen Steuerungsmodus. Das definierte Durchsatzlimit wird für verschiedene Clients freigegeben.

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 - Die Konfiguration der Durchsatzsteuerungsgruppe finden Sie unter GlobalThroughputControlGroup.
globalControlConfig - Die Konfiguration der globalen Durchsatzsteuerung finden Sie unter GlobalThroughputControlConfig.

enableLocalThroughputControlGroup

public void enableLocalThroughputControlGroup(ThroughputControlGroupConfig groupConfig)

Aktivieren Sie die Durchsatzsteuerungsgruppe mit dem lokalen Steuerungsmodus.

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

 container.enableLocalThroughputControlGroup(groupConfig);

Parameters:

groupConfig - einen GlobalThroughputControlConfig

executeCosmosBatch

public CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch)

Führt den Transaktionsbatch aus.

Parameters:

cosmosBatch - Batch mit liste des Vorgangs und Partitionsschlüssels, die von diesem Container ausgeführt werden.

Returns:

Ein TransactionalBatchResponse, der Details zur Ausführung des Transaktionsbatches enthält.

Wenn der Transaktionsbatch erfolgreich ausgeführt wird, wird der von für CosmosBatchResponse#getStatusCode die zurückgegebene Antwort zurückgegebene Wert auf 200} festgelegt.

Wenn ein Vorgang innerhalb des Transaktionsbatches während der Ausführung fehlschlägt, werden keine Änderungen des Batches committet, und die status des fehlerhaften Vorgangs wird von oder durch CosmosBatchResponse#getStatusCode die Ausnahme verfügbar gemacht. Um Informationen zu den Vorgängen abzurufen, die bei einem Benutzerfehler wie Konflikt, nicht gefunden usw. fehlgeschlagen sind, kann die Antwort aufgelistet werden. Dadurch werden Instanzen zurückgegeben CosmosBatchOperationResult , die den einzelnen Vorgängen im Transaktionsbatch in der Reihenfolge entsprechen, in der sie dem Transaktionsbatch hinzugefügt wurden. Verwenden Sie CosmosBatchOperationResult#getStatusCode für ein Ergebnis, das einem Vorgang innerhalb des Transaktionsbatches entspricht, um auf die status des Vorgangs zuzugreifen. Wenn der Vorgang nicht ausgeführt wurde oder aufgrund des Fehlers eines anderen Vorgangs im Transaktionsbatch abgebrochen wurde, ist der Wert dieses Felds 424; Für den Vorgang, der zum Abbrechen des Batches geführt hat, gibt der Wert dieses Felds die Fehlerursache an.

Wenn Probleme wie Anforderungstimeouts, Weg, Sitzung nicht verfügbar, Netzwerkfehler oder wenn der Dienst irgendwie 5xx zurückgibt, löst dies eine Ausnahme aus, anstatt eine CosmosBatchResponse zurückzugeben.

Verwenden Sie CosmosBatchResponse#isSuccessStatusCode für die zurückgegebene Antwort, um sicherzustellen, dass der Transaktionsbatch erfolgreich war.

executeCosmosBatch

public CosmosBatchResponse executeCosmosBatch(CosmosBatch cosmosBatch, CosmosBatchRequestOptions requestOptions)

Führt den Transaktionsbatch aus.

Parameters:

cosmosBatch - Batch mit liste des Vorgangs und Partitionsschlüssels, die von diesem Container ausgeführt werden.
requestOptions - Optionen, die speziell für Batchanforderungen gelten.

Returns:

Ein CosmosBatchResponse, der Details zur Ausführung des Transaktionsbatches enthält.

Wenn der Transaktionsbatch erfolgreich ausgeführt wird, wird der von für CosmosBatchResponse#getStatusCode die zurückgegebene Antwort zurückgegebene Wert auf 200} festgelegt.

Wenn ein Vorgang innerhalb des Transaktionsbatches während der Ausführung fehlschlägt, werden keine Änderungen des Batches committet, und die status des fehlerhaften Vorgangs wird von oder durch CosmosBatchResponse#getStatusCode die Ausnahme verfügbar gemacht. Um Informationen zu den Vorgängen abzurufen, die bei einem Benutzerfehler wie Konflikt, nicht gefunden usw. fehlgeschlagen sind, kann die Antwort aufgelistet werden. Dadurch werden Instanzen zurückgegeben CosmosBatchOperationResult , die den einzelnen Vorgängen im Transaktionsbatch in der Reihenfolge entsprechen, in der sie dem Transaktionsbatch hinzugefügt wurden. Verwenden Sie CosmosBatchOperationResult#getStatusCode für ein Ergebnis, das einem Vorgang innerhalb des Transaktionsbatches entspricht, um auf die status des Vorgangs zuzugreifen. Wenn der Vorgang nicht ausgeführt wurde oder aufgrund des Fehlers eines anderen Vorgangs im Transaktionsbatch abgebrochen wurde, ist der Wert dieses Felds 424; Für den Vorgang, der zum Abbrechen des Batches geführt hat, gibt der Wert dieses Felds die Fehlerursache an.

Wenn Probleme wie Anforderungstimeouts, Weg, Sitzung nicht verfügbar, Netzwerkfehler oder wenn der Dienst irgendwie 5xx zurückgibt, löst dies eine Ausnahme aus, anstatt eine CosmosBatchResponse zurückzugeben.

Verwenden Sie CosmosBatchResponse#isSuccessStatusCode für die zurückgegebene Antwort, um sicherzustellen, dass der Transaktionsbatch erfolgreich war.

getFeedRanges

public List getFeedRanges()

Ruft eine Liste von ab, die zum Parallelisieren von FeedRange Feedvorgängen verwendet werden kann.

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

Returns:

Eine nicht veränderbare Liste von FeedRange

getId

public String getId()

Ruft die aktuelle Container-ID ab.

Returns:

die Container-ID.

getScripts

public CosmosScripts getScripts()

Ruft die Cosmos-Skripts ab, die den aktuellen Container als Kontext verwenden.

Returns:

die Cosmos-Synchronisierungsskripts.

openConnectionsAndInitCaches

@Deprecated
public void openConnectionsAndInitCaches()

Als veraltet markiert

Initialisiert den Container, indem die Caches und Verbindungen für den aktuellen Lesebereich aufgewärmt werden.

HINWEIS: Diese API sollte während der Anwendungsinitialisierung vor jeder Workload im Idealfall nur einmal aufgerufen werden. Im Falle eines vorübergehenden Fehlers sollte der Aufrufer den Fehler nutzen und die reguläre Workload fortsetzen.

openConnectionsAndInitCaches

@Deprecated
public void openConnectionsAndInitCaches(int numProactiveConnectionRegions)

Als veraltet markiert

Initialisiert den Container, indem die Caches und Verbindungen mit einer angegebenen Nummer von proaktiven Verbindungsregionen aufgewärmt werden. Weitere Informationen zu proaktiven Verbindungsregionen finden Sie unter getProactiveConnectionRegionsCount()

HINWEIS: Diese API sollte idealerweise nur einmal während der Anwendungsinitialisierung vor jeder Workload aufgerufen werden. Im Falle eines vorübergehenden Fehlers sollte der Aufrufer den Fehler nutzen und die reguläre Workload fortsetzen.

Parameters:

numProactiveConnectionRegions - die Anzahl der Regionen, mit der proaktiv eine Verbindung hergestellt werden soll, aus der Liste der bevorzugten Regionen

read

public CosmosContainerResponse read()

Liest den aktuellen Container.

Returns:

die Cosmos-Containerantwort mit dem Lesecontainer.

read

public CosmosContainerResponse read(CosmosContainerRequestOptions options)

Liest den aktuellen Container, während zusätzliche Optionen wie If-Match angegeben werden.

Parameters:

options - die Optionen.

Returns:

Die Cosmos-Containerantwort.

readThroughput

public ThroughputResponse readThroughput()

Ruft den Durchsatz für den aktuellen Container ab.

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

Returns:

die Durchsatzantwort.

replace

public CosmosContainerResponse replace(CosmosContainerProperties containerProperties)

Ersetzt die aktuellen Containereigenschaften.

Parameters:

containerProperties - die Containereigenschaften.

Returns:

die Cosmos-Containerantwort.

replace

public CosmosContainerResponse replace(CosmosContainerProperties containerProperties, CosmosContainerRequestOptions options)

Ersetzt die aktuellen Containereigenschaften, während zusätzliche Optionen wie If-Match angegeben werden.

Parameters:

containerProperties - die Containereigenschaften.
options - die Optionen.

Returns:

die Cosmos-Containerantwort.

replaceThroughput

public ThroughputResponse replaceThroughput(ThroughputProperties throughputProperties)

Legt den Durchsatz für den aktuellen Container fest.

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 - die Durchsatzeigenschaften (optional).

Returns:

die Durchsatzantwort.

Gilt für: