CosmosAsyncContainer Klasse
- java.
lang. Object - com.
azure. cosmos. CosmosAsyncContainer
- com.
public class CosmosAsyncContainer
Stellt Methoden zum Lesen, Löschen und Ersetzen vorhandener Container bereit. Stellt Methoden für die Interaktion mit untergeordneten Ressourcen bereit (Elemente, Skripts, Konflikte)
Methodenzusammenfassung
Geerbte Methoden von java.lang.Object
Details zur Methode
createItem
public Mono
Erstellt ein Element.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Ressourcenantwort mit dem erstellten Cosmos-Element. Im Falle eines Fehlers wird der Mono Fehler angezeigt.
Parameters:
Returns:
createItem
public Mono
Erstellt ein Cosmos-Element.
Parameters:
Returns:
createItem
public Mono
Erstellt ein Element.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Ressourcenantwort mit dem erstellten Cosmos-Element. Im Falle eines Fehlers wird der Mono Fehler angezeigt.
Parameters:
Returns:
deleteItem
public Mono
Löscht das Element.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Elementantwort für das gelöschte Element.
Parameters:
Returns:
patchItem
public Mono
Führen Sie ein partielles Update aus, das bestimmte Eigenschaften oder Felder des Elements ändert, ohne das gesamte Element zu ersetzen.
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();
});
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Elementantwort mit dem gepatchten Element.
Parameters:
Returns:
patchItem
public Mono
Führen Sie ein partielles Update aus, das bestimmte Eigenschaften oder Felder des Elements ändert, ohne das gesamte Element zu ersetzen.
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();
});
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Elementantwort mit dem gepatchten Element.
Parameters:
Returns:
queryChangeFeed
public CosmosPagedFlux
Abfragen von Elementen im Änderungsfeed des aktuellen Containers mithilfe von 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();
Nach dem Abonnement wird der Vorgang ausgeführt. Die Flux enthält eine oder mehrere Feedantworten der abgerufenen Elemente. Im Falle eines Fehlers wird der CosmosPagedFlux<T> Fehler angezeigt.
Parameters:
Returns:
queryItems
public CosmosPagedFlux
Abfragen von Elementen im aktuellen Container mithilfe von und SqlQuerySpecCosmosQueryRequestOptions.
Nach dem Abonnement wird der Vorgang ausgeführt. Die Flux enthält eine oder mehrere Feedantworten der abgerufenen Elemente. Im Falle eines Fehlers wird der CosmosPagedFlux<T> Fehler angezeigt.
Parameters:
Returns:
queryItems
public CosmosPagedFlux
Abfragen nach Elementen im aktuellen Container mithilfe von 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();
Nach dem Abonnement wird der Vorgang ausgeführt. Die CosmosPagedFlux<T> enthält eine oder mehrere Feedantworten der abgerufenen Elemente. Im Falle eines Fehlers wird der CosmosPagedFlux<T> Fehler angezeigt.
Parameters:
Returns:
queryItems
public CosmosPagedFlux
Abfragen nach Elementen im aktuellen Container mithilfe einer Zeichenfolge.
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();
Nach dem Abonnement wird der Vorgang ausgeführt. Die CosmosPagedFlux<T> enthält eine oder mehrere Feedantworten der abgerufenen Elemente. Im Falle eines Fehlers wird der CosmosPagedFlux<T> Fehler angezeigt.
Parameters:
Returns:
queryItems
public CosmosPagedFlux
Abfragen nach Elementen im aktuellen Container.
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();
Nach dem Abonnement wird der Vorgang ausgeführt. Die CosmosPagedFlux<T> enthält eine oder mehrere Feedantworten der abgerufenen Elemente. Im Falle eines Fehlers wird der CosmosPagedFlux<T> Fehler angezeigt.
Parameters:
Returns:
readAllItems
public CosmosPagedFlux
Liest alle Elemente einer logischen Partition
cosmosAsyncContainer
.readAllItems(new PartitionKey(partitionKey), Passenger.class)
.byPage(100)
.flatMap(passengerFeedResponse -> {
for (Passenger passenger : passengerFeedResponse.getResults()) {
System.out.println(passenger);
}
return Flux.empty();
})
.subscribe();
Nach dem Abonnement wird der Vorgang ausgeführt. Enthält CosmosPagedFlux<T> eine oder mehrere Feedantworten der gelesenen Cosmos-Elemente. Im Falle eines Fehlers wird der CosmosPagedFlux<T> Fehler angezeigt.
Parameters:
Returns:
readAllItems
public CosmosPagedFlux
Liest alle Elemente einer logischen Partition
cosmosAsyncContainer
.readAllItems(new PartitionKey(partitionKey), Passenger.class)
.byPage(100)
.flatMap(passengerFeedResponse -> {
for (Passenger passenger : passengerFeedResponse.getResults()) {
System.out.println(passenger);
}
return Flux.empty();
})
.subscribe();
Nach dem Abonnement wird der Vorgang ausgeführt. Enthält CosmosPagedFlux<T> eine oder mehrere Feedantworten der gelesenen Cosmos-Elemente. Im Falle eines Fehlers wird der CosmosPagedFlux<T> Fehler angezeigt.
Parameters:
Returns:
readItem
public Mono
Liest ein Element nach itemId mithilfe eines konfigurierten CosmosItemRequestOptions. Dieser Vorgang wird verwendet, um ein einzelnes Element aus einem Container basierend auf dem eindeutigen Bezeichner (ID) und dem Partitionsschlüssel abzurufen. Der readItem-Vorgang ermöglicht den direkten Zugriff auf ein bestimmtes Element mithilfe des 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 des Partitionsschlüssels abzurufen, ohne dass eine komplexe Abfrage erforderlich ist.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine Cosmos-Elementantwort mit dem Leseelement.
Parameters:
Returns:
readItem
public Mono
Liest ein Element nach itemId. Dieser Vorgang wird verwendet, um ein einzelnes Element aus einem Container basierend auf dem eindeutigen Bezeichner (ID) und dem Partitionsschlüssel abzurufen. Der readItem-Vorgang ermöglicht den direkten Zugriff auf ein bestimmtes Element mithilfe des 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 des Partitionsschlüssels abzurufen, ohne dass eine komplexe Abfrage erforderlich ist.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine Elementantwort mit dem gelesenen Element.
// 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:
Returns:
readMany
public Mono
Liest viele Dokumente. Nützlich zum Lesen vieler Dokumente mit einer bestimmten ID und einem bestimmten 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));
cosmosAsyncContainer.readMany(itemIdentityList, Passenger.class)
.flatMap(passengerFeedResponse -> {
for (Passenger passenger : passengerFeedResponse.getResults()) {
System.out.println(passenger);
}
return Mono.empty();
})
.subscribe();
Parameters:
Returns:
readMany
public Mono
Liest viele Dokumente. Nützlich zum Lesen vieler Dokumente mit einer bestimmten ID und einem bestimmten 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));
cosmosAsyncContainer.readMany(itemIdentityList, Passenger.class)
.flatMap(passengerFeedResponse -> {
for (Passenger passenger : passengerFeedResponse.getResults()) {
System.out.println(passenger);
}
return Mono.empty();
})
.subscribe();
Parameters:
Returns:
replaceItem
public Mono
Ersetzt ein vorhandenes Element in einem Container durch ein neues Element. Es führt einen vollständigen Ersatz des Elements durch und ersetzt alle zugehörigen Eigenschaften durch die Eigenschaften des neuen Elements.
cosmosAsyncContainer.replaceItem(
newPassenger,
oldPassenger.getId(),
new PartitionKey(oldPassenger.getId()),
new CosmosItemRequestOptions())
.subscribe(response -> {
System.out.println(response);
}, throwable -> {
throwable.printStackTrace();
});
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Elementantwort mit dem ersetzten Element.
Parameters:
Returns:
replaceItem
public Mono
Ersetzt ein vorhandenes Element in einem Container durch ein neues Element. Es führt einen vollständigen Ersatz des Elements durch und ersetzt alle zugehörigen Eigenschaften durch die Eigenschaften des neuen Elements.
cosmosAsyncContainer.replaceItem(
newPassenger,
oldPassenger.getId(),
new PartitionKey(oldPassenger.getId()),
new CosmosItemRequestOptions())
.subscribe(response -> {
System.out.println(response);
}, throwable -> {
throwable.printStackTrace();
});
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Elementantwort mit dem ersetzten Element.
Parameters:
Returns:
upsertItem
public Mono
Upsert ein Element.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Ressourcenantwort mit dem hocherstierten Element. Im Falle eines Fehlers wird der Mono Fehler angezeigt.
Parameters:
Returns:
upsertItem
public Mono
Upsert ein Element.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Ressourcenantwort mit dem hocherstierten Element. Im Falle eines Fehlers wird der Mono Fehler angezeigt.
Parameters:
Returns:
upsertItem
public Mono
Upsert ein Element.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Ressourcenantwort mit dem hocherstierten Element. Im Falle eines Fehlers wird der Mono Fehler angezeigt.
Parameters:
Returns:
executeBulkOperations
public Flux
Führt den Fluss von Vorgängen in Bulk aus.
Parameters:
Returns:
executeBulkOperations
public Flux
Führt den Fluss von Vorgängen in Bulk aus.
Parameters:
Returns:
delete
public Mono
Löscht den aktuellen Container.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Containerantwort für den gelöschten Container. Im Falle eines Fehlers wird der Mono Fehler angezeigt.
Returns:
delete
public Mono
Löscht den Container.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Containerantwort für die gelöschte Datenbank. Im Falle eines Fehlers wird der Mono Fehler angezeigt.
Parameters:
Returns:
deleteAllItemsByPartitionKey
public Mono
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.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Elementantwort für alle gelöschten Elemente.
Parameters:
Returns:
deleteItem
public Mono
Löscht ein Element.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Elementantwort für das gelöschte Element.
cosmosAsyncContainer.deleteItem(
passenger.getId(),
new PartitionKey(passenger.getId())
).subscribe(response -> {
System.out.println(response);
}, throwable -> {
CosmosException cosmosException = (CosmosException) throwable;
cosmosException.printStackTrace();
});
Parameters:
Returns:
deleteItem
public Mono
Löscht das Element.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreicher Fertigstellung enthält eine einzelne Cosmos-Elementantwort für das gelöschte Element.
Parameters:
Returns:
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:
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:
executeCosmosBatch
public Mono
Führt den Transaktionsbatch aus.
Parameters:
Returns:
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 der Dienst irgendwie 5xx zurückgibt, gibt der Mono anstelle von CosmosBatchResponse den Fehler zurück.
Verwenden Sie CosmosBatchResponse#isSuccessStatusCode für die zurückgegebene Antwort, um sicherzustellen, dass der Transaktionsbatch erfolgreich war.
executeCosmosBatch
public Mono
Führt den Transaktionsbatch aus.
Parameters:
Returns:
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 der Dienst irgendwie 5xx zurückgibt, gibt der Mono anstelle von CosmosBatchResponse den Fehler zurück.
Verwenden Sie CosmosBatchResponse#isSuccessStatusCode für die zurückgegebene Antwort, um sicherzustellen, dass der Transaktionsbatch erfolgreich war.
getConflict
public CosmosAsyncConflict getConflict(String id)
Ruft ein CosmosAsyncConflict Objekt ab, das den aktuellen Container als Kontext verwendet.
Parameters:
Returns:
getDatabase
public CosmosAsyncDatabase getDatabase()
Ruft das übergeordnete Element CosmosAsyncDatabase für den aktuellen Container ab.
Returns:
getFeedRanges
public Mono> getFeedRanges()
Ruft eine Liste von ab, die zum Parallelisieren von FeedRange Feedvorgängen verwendet werden kann.
cosmosAsyncContainer.getFeedRanges()
.subscribe(feedRanges -> {
for (FeedRange feedRange : feedRanges) {
System.out.println("Feed range: " + feedRange);
}
});
Returns:
getId
public String getId()
Rufen Sie die ID von ab CosmosAsyncContainer.
Returns:
getScripts
public CosmosAsyncScripts getScripts()
Ruft einen CosmosAsyncScripts ab, der den aktuellen Container als Kontext verwendet.
Dies kann weiter verwendet werden, um verschiedene Vorgänge in Cosmos-Skripts auszuführen.
Returns:
openConnectionsAndInitCaches
@Deprecated
public Mono
Als veraltet markiert
Am besten initialisieren Sie den Container, indem Sie die Caches und Verbindungen für den aktuellen Lesebereich aufwärmen.
Je nachdem, wie viele Partitionen der Container aufweist, ändert sich auch die gesamt benötigte Zeit. Im Allgemeinen können Sie jedoch die folgende Formel verwenden, um eine geschätzte Zeit zu erhalten: Wenn es 200 ms dauerte, eine Verbindung herzustellen, und Sie 100 Partitionen in Ihrem Container haben, dauert es ungefähr (100 * 4 / CPU-Kerne) * 200 ms, um alle Verbindungen nach dem Abrufen der Adressliste zu öffnen.
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.
Returns:
openConnectionsAndInitCaches
@Deprecated
public Mono
Als veraltet markiert
Versuchen Sie, den Container zu initialisieren, indem Sie die Caches und Verbindungen mit einer angegebenen Anzahl von Regionen aus der liste der bevorzugten Regionen aufwärmen.
Je nachdem, wie viele Partitionen der Container aufweist, ändert sich auch die gesamt benötigte Zeit. Im Allgemeinen können Sie jedoch die folgende Formel verwenden, um eine geschätzte Zeit zu erhalten: Wenn es 200 ms dauerte, eine Verbindung herzustellen, und Sie 100 Partitionen in Ihrem Container haben, dauert es ungefähr (100 * 4 / (10 * CPUCores)) * 200 ms * RegionsWithProactiveConnections, um alle Verbindungen nach dem Abrufen der Adressliste zu öffnen.
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.
Um Latenzen zu minimieren, die mit dem Aufwärmen von Caches und dem Öffnen von Verbindungen verbunden sind, darf die Anzahl der proaktiven Verbindungsregionen nicht größer als CosmosContainerProactiveInitConfigBuilder#MAX_NO_OF_PROACTIVE_CONNECTION_REGIONSsein.
Parameters:
Returns:
queryConflicts
public CosmosPagedFlux
Fragt alle Konflikte im aktuellen Container ab.
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:
Returns:
queryConflicts
public CosmosPagedFlux
Fragt alle Konflikte im aktuellen Container ab.
Parameters:
Returns:
read
public Mono
Liest den aktuellen Container.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreichem Abschluss enthält eine einzelne Cosmos-Containerantwort mit dem Lesecontainer. Im Falle eines Fehlers wird der Mono fehler.
Returns:
read
public Mono
Liest den aktuellen Container, während zusätzliche Optionen wie If-Match angegeben werden.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreichem Abschluss enthält eine einzelne Cosmos-Containerantwort mit dem Lesecontainer. Im Falle eines Fehlers wird der Mono fehler.
Parameters:
Returns:
readAllConflicts
public CosmosPagedFlux
Listet alle Konflikte im aktuellen Container auf.
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:
Returns:
readThroughput
public Mono
Lesen Sie den für den aktuellen Container bereitgestellten Durchsatz.
Mono<ThroughputResponse> throughputResponseMono = cosmosAsyncContainer.readThroughput();
throughputResponseMono.subscribe(throughputResponse -> {
System.out.println(throughputResponse);
}, throwable -> {
throwable.printStackTrace();
});
Returns:
replace
public Mono
Ersetzt die Eigenschaften des aktuellen Containers.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreichem Abschluss enthält eine einzelne Cosmos-Containerantwort mit den ersetzten Containereigenschaften. Im Falle eines Fehlers wird der Mono fehler.
Parameters:
Returns:
replace
public Mono
Ersetzt die aktuellen Containereigenschaften, während nicht standardmäßige Anforderungsoptionen verwendet werden.
Nach dem Abonnement wird der Vorgang ausgeführt. Nach Mono erfolgreichem Abschluss enthält eine einzelne Cosmos-Containerantwort mit den ersetzten Containereigenschaften. Im Falle eines Fehlers wird der Mono fehler.
Parameters:
Returns:
replaceThroughput
public Mono
Ersetzen Sie den Durchsatz.
ThroughputProperties throughputProperties =
ThroughputProperties.createAutoscaledThroughput(1000);
cosmosAsyncContainer.replaceThroughput(throughputProperties)
.subscribe(throughputResponse -> {
System.out.println(throughputResponse);
},
throwable -> {
throwable.printStackTrace();
});
Parameters:
Returns:
Gilt für:
Azure SDK for Java