CosmosClientBuilder Klasse

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

Implementiert

public class CosmosClientBuilder
implements TokenCredentialTrait<CosmosClientBuilder>, AzureKeyCredentialTrait<CosmosClientBuilder>, EndpointTrait<CosmosClientBuilder>

Hilfsklasse zum Erstellen CosmosAsyncClient von Instanzen und CosmosClient als logische Darstellung des Azure Cosmos-Datenbankdiensts.

CosmosAsyncClient und CosmosClient sind threadsicher. Es wird empfohlen, eine einzelne instance cosmosClient oder CosmosAsyncClient pro Lebensdauer der Anwendung zu verwalten, was eine effiziente Verbindungsverwaltung und -leistung ermöglicht. CosmosAsyncClient- und CosmosClient-Initialisierungen sind schwere Vorgänge. Verwenden Sie keine CosmosAsyncClient- oder CosmosClient-Initialisierungen als Anmeldeinformationen oder Überprüfungen der Netzwerkkonnektivität.

Beim Erstellen von Client sind endpoint() und key() obligatorische APIs, ohne diese schlägt die Initialisierung fehl.

ConsistencyLevel ist zwar nicht obligatorisch, aber wir empfehlen dringend, beim Erstellen des Clients auf diese API zu achten. Standardmäßig wird die Kontokonsistenzebene verwendet, wenn keine angegeben wird.

Standardmäßig wird der direkte Verbindungsmodus verwendet, wenn keiner angegeben ist.

Building Cosmos Async Client minimal APIs (without any customized configurations)
 
 CosmosAsyncClient client = new CosmosClientBuilder()
         .endpoint(serviceEndpoint)
         .key(key)
         .buildAsyncClient();
Building Cosmos Async Client with customizations
 
 CosmosAsyncClient client = new CosmosClientBuilder()
         .endpoint(serviceEndpoint)
         .key(key)
         .directMode(directConnectionConfig, gatewayConnectionConfig)
         .consistencyLevel(ConsistencyLevel.SESSION)
         .connectionSharingAcrossClientsEnabled(true)
         .contentResponseOnWriteEnabled(true)
         .userAgentSuffix("my-application1-client")
         .preferredRegions(Collections.singletonList("West US", "East US"))
         .buildAsyncClient();
Building Cosmos Sync Client minimal APIs (without any customized configurations)
 
 CosmosClient client = new CosmosClientBuilder()
         .endpoint(serviceEndpoint)
         .key(key)
         .buildClient();
Building Cosmos Sync Client with customizations
 
 CosmosClient client = new CosmosClientBuilder()
         .endpoint(serviceEndpoint)
         .key(key)
         .directMode(directConnectionConfig, gatewayConnectionConfig)
         .consistencyLevel(ConsistencyLevel.SESSION)
         .connectionSharingAcrossClientsEnabled(true)
         .contentResponseOnWriteEnabled(true)
         .userAgentSuffix("my-application1-client")
         .preferredRegions(Collections.singletonList("West US", "East US"))
         .buildClient();

Zusammenfassung zum Konstruktor

Konstruktor Beschreibung
CosmosClientBuilder()

Instanziiert einen neuen Cosmos-Client-Generator.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
CosmosClientBuilder authorizationTokenResolver(CosmosAuthorizationTokenResolver cosmosAuthorizationTokenResolver)

Legt den Tokenlöser fest.

CosmosAsyncClient buildAsyncClient()

Erstellt einen asynchronen Cosmos-Client mit den bereitgestellten Eigenschaften.

CosmosClient buildClient()

Erstellt einen Cosmos-Synchronisierungsclient mit den bereitgestellten Eigenschaften

CosmosClientBuilder clientTelemetryConfig(CosmosClientTelemetryConfig telemetryConfig)

Gibt die Clienttelemetriekonfiguration instance für diesen Generator zurück.

CosmosClientBuilder clientTelemetryEnabled(boolean clientTelemetryEnabled)

Legt das Flag fest, um Clienttelemetriedaten zu aktivieren, die regelmäßig Aggregationsstatistiken für Datenbankvorgänge sowie Systeminformationen wie CPU/Arbeitsspeicher sammeln und an den Cosmos-Überwachungsdienst senden, was beim Debuggen hilfreich ist.

CosmosClientBuilder connectionSharingAcrossClientsEnabled(boolean connectionSharingAcrossClientsEnabled)

Ermöglicht die gemeinsame Nutzung von Verbindungen über mehrere Cosmos-Clients hinweg.

CosmosClientBuilder consistencyLevel(ConsistencyLevel desiredConsistencyLevel)

Legt fest, SESSION dass ConsistencyLevel verwendet werden soll. Standardmäßig wird Konsistenz verwendet.

CosmosClientBuilder contentResponseOnWriteEnabled(boolean contentResponseOnWriteEnabled)

Legt den booleschen Wert so fest, dass nur die Header und status Code in der Cosmos DB-Antwort zurückgegeben werden, wenn Vorgänge zum Erstellen, Aktualisieren und Löschen für CosmosItem ausgeführt werden.

CosmosClientBuilder credential(AzureKeyCredential credential)

Legt die AzureKeyCredential zu verwendende fest.

CosmosClientBuilder credential(TokenCredential credential)

Legt den fest, der TokenCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden.

CosmosClientBuilder directMode()

Legt die standardmäßige DIRECT-Verbindungskonfiguration fest, die verwendet werden soll.

CosmosClientBuilder directMode(DirectConnectionConfig directConnectionConfig)

Legt die zu verwendende DIRECT-Verbindungskonfiguration fest.

CosmosClientBuilder directMode(DirectConnectionConfig directConnectionConfig, GatewayConnectionConfig gatewayConnectionConfig)

Legt die zu verwendende DIRECT-Verbindungskonfiguration fest.

CosmosClientBuilder endToEndOperationLatencyPolicyConfig(CosmosEndToEndOperationLatencyPolicyConfig cosmosEndToEndOperationLatencyPolicyConfig)

Legt die CosmosEndToEndOperationLatencyPolicyConfig auf dem Client fest.

CosmosClientBuilder endpoint(String endpoint)

Legt den Azure Cosmos DB-Endpunkt fest, mit dem das SDK eine Verbindung herstellt.

CosmosClientBuilder endpointDiscoveryEnabled(boolean endpointDiscoveryEnabled)

Legt das Flag fest, um die Endpunktermittlung für georeplizierte Datenbankkonten zu aktivieren.

CosmosClientBuilder excludedRegionsSupplier(Supplier<CosmosExcludedRegions> excludedRegionsSupplier)

Legt einen Supplier fest, der eine CosmosExcludedRegions instance zurückgibt, wenn Supplier#get() aufgerufen wird.

CosmosClientBuilder gatewayMode()

Legt die gateway-Standardverbindungskonfiguration fest, die verwendet werden soll.

CosmosClientBuilder gatewayMode(GatewayConnectionConfig gatewayConnectionConfig)

Legt die gateway-Verbindungskonfiguration fest, die verwendet werden soll.

CosmosClientBuilder key(String key)

Legt entweder einen master- oder schreibgeschützten Schlüssel fest, der zum Durchführen der Authentifizierung für den Zugriff auf die Ressource verwendet wird.

CosmosClientBuilder multipleWriteRegionsEnabled(boolean multipleWriteRegionsEnabled)

Legt das Flag fest, um Schreibvorgänge für beliebige Regionen für georeplizierte Datenbankkonten im Azure Cosmos DB-Dienst zu aktivieren.

CosmosClientBuilder openConnectionsAndInitCaches(CosmosContainerProactiveInitConfig proactiveContainerInitConfig)

Legt die CosmosContainerProactiveInitConfig fest, die das Aufwärmen von Caches und Verbindungen ermöglicht, die mit Containern verknüpft sind, die aus getCosmosContainerIdentities() den ersten bevorzugten k-Regionen abgerufen werden, in denen k mit getProactiveConnectionRegionsCount()ausgewertet wird.

CosmosClientBuilder permissions(List<CosmosPermissionProperties> permissions)

Legt die Berechtigungsliste fest, die die Ressourcentoken enthält, die für den Zugriff auf Ressourcen erforderlich sind.

CosmosClientBuilder preferredRegions(List<String> preferredRegions)

Legt die bevorzugten Regionen für georeplizierte Datenbankkonten fest.

CosmosClientBuilder readRequestsFallbackEnabled(boolean readRequestsFallbackEnabled)

Legt fest, ob Lesevorgänge in mehrere Regionen gelangen sollen, die für ein Konto des Azure Cosmos DB-Diensts konfiguriert sind.

CosmosClientBuilder resourceToken(String resourceToken)

Legt ein Ressourcentoken fest, das zum Durchführen der Authentifizierung für den Zugriff auf die Ressource verwendet wird.

CosmosClientBuilder sessionCapturingOverrideEnabled(boolean sessionCapturingOverrideEnabled)

Die Sitzungserfassung ist standardmäßig für SESSIONaktiviert.

CosmosClientBuilder sessionRetryOptions(SessionRetryOptions sessionRetryOptions)

Legt die SessionRetryOptions instance auf dem Client fest.

CosmosClientBuilder throttlingRetryOptions(ThrottlingRetryOptions throttlingRetryOptions)

Legt die Wiederholungsrichtlinienoptionen fest, die dem Dokumentclient-instancezugeordnet sind.

CosmosClientBuilder userAgentSuffix(String userAgentSuffix)

legt den Wert des Suffixs user-agent fest.

Geerbte Methoden von java.lang.Object

Details zum Konstruktor

CosmosClientBuilder

public CosmosClientBuilder()

Instanziiert einen neuen Cosmos-Client-Generator.

Details zur Methode

authorizationTokenResolver

public CosmosClientBuilder authorizationTokenResolver(CosmosAuthorizationTokenResolver cosmosAuthorizationTokenResolver)

Legt den Tokenlöser fest.

Parameters:

cosmosAuthorizationTokenResolver - Der Tokenlöser

Returns:

aktueller cosmosClientBuilder

buildAsyncClient

public CosmosAsyncClient buildAsyncClient()

Erstellt einen asynchronen Cosmos-Client mit den bereitgestellten Eigenschaften.

Returns:

CosmosAsyncClient

buildClient

public CosmosClient buildClient()

Erstellt einen Cosmos-Synchronisierungsclient mit den bereitgestellten Eigenschaften

Returns:

CosmosClient

clientTelemetryConfig

public CosmosClientBuilder clientTelemetryConfig(CosmosClientTelemetryConfig telemetryConfig)

Gibt die Clienttelemetriekonfiguration instance für diesen Generator zurück.

Parameters:

telemetryConfig - die zu verwendende Clienttelemetriekonfiguration

Returns:

aktueller CosmosClientBuilder

clientTelemetryEnabled

public CosmosClientBuilder clientTelemetryEnabled(boolean clientTelemetryEnabled)

Legt das Flag fest, um Clienttelemetriedaten zu aktivieren, die regelmäßig Aggregationsstatistiken für Datenbankvorgänge sowie Systeminformationen wie CPU/Arbeitsspeicher sammeln und an den Cosmos-Überwachungsdienst senden, was beim Debuggen hilfreich ist.

DER DEFAULT-Wert ist false, was angibt, dass es sich um ein Opt-in-Feature handelt, standardmäßig keine Telemetriesammlung.

Parameters:

clientTelemetryEnabled - -Flag, um Clienttelemetriedaten zu aktivieren.

Returns:

aktueller CosmosClientBuilder

connectionSharingAcrossClientsEnabled

public CosmosClientBuilder connectionSharingAcrossClientsEnabled(boolean connectionSharingAcrossClientsEnabled)

Ermöglicht die gemeinsame Nutzung von Verbindungen über mehrere Cosmos-Clients hinweg. Die Standardeinstellung ist „false“.

CosmosAsyncClient client1 = new CosmosClientBuilder()
         .endpoint(serviceEndpoint1)
         .key(key1)
         .consistencyLevel(ConsistencyLevel.SESSION)
         .connectionSharingAcrossClientsEnabled(true)
         .buildAsyncClient();

 CosmosAsyncClient client2 = new CosmosClientBuilder()
         .endpoint(serviceEndpoint2)
         .key(key2)
         .consistencyLevel(ConsistencyLevel.SESSION)
         .connectionSharingAcrossClientsEnabled(true)
         .buildAsyncClient();

 // when configured this way client1 and client2 will share connections when possible.

Wenn Sie über mehrere CosmosClient-Instanzen in derselben JVM verfügen, die mit mehreren Cosmos-Konten interagieren, ermöglicht dies eine gemeinsam genutzte Verbindung im Direktmodus, sofern dies zwischen Instanzen von CosmosClient möglich ist. Beachten Sie, dass bei Festlegen dieser Option die Verbindungskonfiguration (z. B. Sockettimeout-Konfiguration, Leerlauftimeout-Konfiguration) des ersten instanziierten Clients für alle anderen Clientinstanzen verwendet wird.

Parameters:

connectionSharingAcrossClientsEnabled - Verbindungsfreigabe

Returns:

aktuelle cosmosClientBuilder

consistencyLevel

public CosmosClientBuilder consistencyLevel(ConsistencyLevel desiredConsistencyLevel)

Legt fest, SESSION dass ConsistencyLevel verwendet werden soll. Standardmäßig wird Konsistenz verwendet.

Parameters:

desiredConsistencyLevel - ConsistencyLevel

Returns:

aktueller Generator

contentResponseOnWriteEnabled

public CosmosClientBuilder contentResponseOnWriteEnabled(boolean contentResponseOnWriteEnabled)

Legt den booleschen Wert so fest, dass nur die Header und status Code in der Cosmos DB-Antwort zurückgegeben werden, wenn die Vorgänge Erstellen, Aktualisieren und Löschen für CosmosItem ausgeführt werden. Wenn dieser Wert auf false festgelegt ist (standardmäßig), gibt der Dienst keine Nutzlast in der Antwort zurück. Es reduziert die Netzwerk- und CPU-Last, da die Nutzlast nicht über das Netzwerk zurückgesendet und auf dem Client serialisiert wird. Dieses Feature wirkt sich nicht auf die RU-Nutzung für Lese- oder Schreibvorgänge aus. Standardmäßig ist dies false.

Parameters:

contentResponseOnWriteEnabled - ein boolescher Wert, der angibt, ob die Nutzlast in die Antwort einbezogen wird oder nicht

Returns:

aktuelle cosmosClientBuilder

credential

public CosmosClientBuilder credential(AzureKeyCredential credential)

Legt die AzureKeyCredential zu verwendende fest.

Parameters:

credential - AzureKeyCredential

Returns:

aktuelle cosmosClientBuilder

credential

public CosmosClientBuilder credential(TokenCredential credential)

Legt den fest, der TokenCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden. Weitere Informationen zur ordnungsgemäßen Verwendung des Typs finden Sie in der Dokumentation zur Identität und Authentifizierung des TokenCredential Azure SDK für Java.

Parameters:

credential - TokenCredential wird verwendet, um anforderungen zu autorisieren, die an den Dienst gesendet werden.

Returns:

der aktualisierte CosmosClientBuilder

directMode

public CosmosClientBuilder directMode()

Legt die standardmäßige DIRECT-Verbindungskonfiguration fest, die verwendet werden soll. Standardmäßig wird der Generator mit directMode() initialisiert.

Returns:

aktuelle CosmosClientBuilder

directMode

public CosmosClientBuilder directMode(DirectConnectionConfig directConnectionConfig)

Legt die zu verwendende DIRECT-Verbindungskonfiguration fest. Standardmäßig wird der Generator mit directMode() initialisiert.

Parameters:

directConnectionConfig - Konfiguration der direkten Verbindung

Returns:

aktuelle CosmosClientBuilder

directMode

public CosmosClientBuilder directMode(DirectConnectionConfig directConnectionConfig, GatewayConnectionConfig gatewayConnectionConfig)

Legt die zu verwendende DIRECT-Verbindungskonfiguration fest. gatewayConnectionConfig: Stellt eine grundlegende Konfiguration dar, die für den Gatewayclient verwendet werden soll. Auch im Direktverbindungsmodus durchlaufen einige Der Metadatenvorgänge den Gatewayclient. Das Festlegen der Gatewayverbindungskonfiguration in dieser API wirkt sich nicht auf den Verbindungsmodus aus, der in diesem Fall Direkt ist.

Parameters:

directConnectionConfig - Zu verwendende Konfiguration der direkten Verbindung
gatewayConnectionConfig - Zu verwendende Gatewayverbindungskonfiguration

Returns:

aktuelle CosmosClientBuilder

endToEndOperationLatencyPolicyConfig

public CosmosClientBuilder endToEndOperationLatencyPolicyConfig(CosmosEndToEndOperationLatencyPolicyConfig cosmosEndToEndOperationLatencyPolicyConfig)

Legt die CosmosEndToEndOperationLatencyPolicyConfig auf dem Client fest.

Parameters:

cosmosEndToEndOperationLatencyPolicyConfig - das CosmosEndToEndOperationLatencyPolicyConfig

Returns:

aktuelle CosmosClientBuilder

endpoint

public CosmosClientBuilder endpoint(String endpoint)

Legt den Azure Cosmos DB-Endpunkt fest, mit dem das SDK eine Verbindung herstellt.

Parameters:

endpoint - dienstendpunkt

Returns:

aktueller Generator

endpointDiscoveryEnabled

public CosmosClientBuilder endpointDiscoveryEnabled(boolean endpointDiscoveryEnabled)

Legt das Flag fest, um die Endpunktermittlung für georeplizierte Datenbankkonten zu aktivieren.

Wenn EnableEndpointDiscovery true ist, ermittelt das SDK automatisch die aktuellen Schreib- und Leseregionen, um sicherzustellen, dass Anforderungen basierend auf der Funktion der Region und den Vorlieben des Benutzers an die richtige Region gesendet werden.

Der Standardwert für diese Eigenschaft ist true, was angibt, dass die Endpunktermittlung aktiviert ist.

Parameters:

endpointDiscoveryEnabled - true, wenn EndpointDiscovery aktiviert ist.

Returns:

aktuelle CosmosClientBuilder

excludedRegionsSupplier

public CosmosClientBuilder excludedRegionsSupplier(Supplier excludedRegionsSupplier)

Legt einen Supplier fest, der eine CosmosExcludedRegions instance zurückgibt, wenn Supplier#get() aufgerufen wird. Die Anforderung wird nicht an Regionen weitergeleitet, die in getExcludedRegions() für Sicherungsszenarien und Wiederholungsszenarien für die Workload vorhanden sind, die über diese instance von CosmosClient / CosmosAsyncClientausgeführt wird.

Parameters:

excludedRegionsSupplier - der Lieferant, der eine CosmosExcludedRegions instance zurückgibt.

Returns:

aktuelle CosmosClientBuilder.

gatewayMode

public CosmosClientBuilder gatewayMode()

Legt die gateway-Standardverbindungskonfiguration fest, die verwendet werden soll.

Returns:

aktuelle CosmosClientBuilder

gatewayMode

public CosmosClientBuilder gatewayMode(GatewayConnectionConfig gatewayConnectionConfig)

Legt die gateway-Verbindungskonfiguration fest, die verwendet werden soll.

Parameters:

gatewayConnectionConfig - Gatewayverbindungskonfiguration

Returns:

aktuelle CosmosClientBuilder

key

public CosmosClientBuilder key(String key)

Legt entweder einen master- oder schreibgeschützten Schlüssel fest, der zum Durchführen der Authentifizierung für den Zugriff auf die Ressource verwendet wird.

Parameters:

key - master- oder Schreibtaste

Returns:

aktueller Generator.

multipleWriteRegionsEnabled

public CosmosClientBuilder multipleWriteRegionsEnabled(boolean multipleWriteRegionsEnabled)

Legt das Flag fest, um Schreibvorgänge für beliebige Regionen für georeplizierte Datenbankkonten im Azure Cosmos DB-Dienst zu aktivieren.

Wenn der Wert dieser Eigenschaft true ist, leitet das SDK Schreibvorgänge an verfügbare beschreibbare Regionen des georeplizierten Datenbankkontos weiter. Beschreibbare Regionen werden nach der PreferredRegions-Eigenschaft sortiert. Das Festlegen des Eigenschaftswerts auf true hat keine Auswirkungen, bis EnableMultipleWriteRegions in DatabaseAccount ebenfalls auf true festgelegt ist.

DER DEFAULT-Wert ist true, der angibt, dass Schreibvorgänge an die verfügbaren beschreibbaren Regionen des georeplizierten Datenbankkontos weitergeleitet werden.

Parameters:

multipleWriteRegionsEnabled - flag, um Schreibvorgänge in beliebigen Regionen für georeplizierte Datenbankkonten zu aktivieren.

Returns:

aktuelle CosmosClientBuilder

openConnectionsAndInitCaches

public CosmosClientBuilder openConnectionsAndInitCaches(CosmosContainerProactiveInitConfig proactiveContainerInitConfig)

Legt die CosmosContainerProactiveInitConfig fest, die das Aufwärmen von Caches und Verbindungen ermöglicht, die mit Containern verknüpft sind, die aus getCosmosContainerIdentities() den ersten bevorzugten k-Regionen abgerufen werden, in denen k mit getProactiveConnectionRegionsCount()ausgewertet wird.

Verwenden der -Klasse zum Instanziieren CosmosContainerProactiveInitConfig der CosmosContainerProactiveInitConfigBuilder Klasse

Parameters:

proactiveContainerInitConfig - die eine Liste von Containeridentitäten und keine proaktiven Verbindungsregionen kapselt

Returns:

aktuelle CosmosClientBuilder

permissions

public CosmosClientBuilder permissions(List permissions)

Legt die Berechtigungsliste fest, die die Ressourcentoken enthält, die für den Zugriff auf Ressourcen erforderlich sind.

Parameters:

permissions - Berechtigungsliste für die Authentifizierung.

Returns:

aktueller Generator.

preferredRegions

public CosmosClientBuilder preferredRegions(List preferredRegions)

Legt die bevorzugten Regionen für georeplizierte Datenbankkonten fest. Beispiel: "USA, Osten" als bevorzugte Region.

Wenn EnableEndpointDiscovery true ist und PreferredRegions nicht leer ist, verwendet das SDK die Regionen im Container lieber in der Reihenfolge, in der sie zum Ausführen von Vorgängen angegeben werden.

Wenn EnableEndpointDiscovery auf false festgelegt ist, wird diese Eigenschaft ignoriert.

Parameters:

preferredRegions - die Liste der bevorzugten Regionen.

Returns:

aktuelle CosmosClientBuilder

readRequestsFallbackEnabled

public CosmosClientBuilder readRequestsFallbackEnabled(boolean readRequestsFallbackEnabled)

Legt fest, ob Lesevorgänge in mehrere Regionen gelangen sollen, die für ein Konto des Azure Cosmos DB-Diensts konfiguriert sind.

DER DEFAULT-Wert ist true.

Wenn diese Eigenschaft nicht festgelegt ist, ist der Standardwert true für alle anderen Konsistenzebenen als bounded Staleness. Der Standardwert ist false für Bounded Staleness. 1. #endpointDiscoveryEnabled ist wahr 2. Das Azure Cosmos DB-Konto verfügt über mehrere Regionen

Parameters:

readRequestsFallbackEnabled - flag, damit Lesevorgänge in mehrere Regionen wechseln können, die für ein Konto des Azure Cosmos DB-Diensts konfiguriert sind.

Returns:

aktuelle CosmosClientBuilder

resourceToken

public CosmosClientBuilder resourceToken(String resourceToken)

Legt ein Ressourcentoken fest, das zum Durchführen der Authentifizierung für den Zugriff auf die Ressource verwendet wird.

Parameters:

resourceToken - resourceToken für die Authentifizierung

Returns:

aktueller Generator.

sessionCapturingOverrideEnabled

public CosmosClientBuilder sessionCapturingOverrideEnabled(boolean sessionCapturingOverrideEnabled)

Die Sitzungserfassung ist standardmäßig für SESSIONaktiviert. Für andere Konsistenzebenen ist es nicht erforderlich, es sei denn, Sie müssen gelegentlich Anforderungen mit Sitzungskonsistenz senden, während der Client nicht in der Sitzung konfiguriert ist.

Das Aktivieren der Sitzungserfassung für den Sitzungsmodus hat keine Auswirkungen.

Parameters:

sessionCapturingOverrideEnabled - Überschreiben der Sitzungsaufzeichnung

Returns:

aktuelle cosmosClientBuilder

sessionRetryOptions

public CosmosClientBuilder sessionRetryOptions(SessionRetryOptions sessionRetryOptions)

Legt die SessionRetryOptions instance auf dem Client fest.

Diese Einstellung hilft bei der Optimierung des Wiederholungsverhaltens, das mit NOT_FOUND / READ_SESSION_NOT_AVAILABLE oder 404 / 1002 Szenarien verknüpft ist, die auftreten, wenn die von der Anforderung verwendete zielorientierte Konsistenz Sitzungskonsistenz ist und eine Anforderung an eine Region gesendet wird, die nicht über genügend aktuelle Daten verfügt, nach denen die Anforderung sucht.

HAFTUNGSAUSSCHLUSS: Die Einstellung SessionRetryOptions ändert das Wiederholungsverhalten für alle Vorgänge oder Workloads, die über diese instance des Clients ausgeführt werden.

Für Konten mit mehreren Schreibvorgängen:

  • Für eine Leseanforderung, die an eine lokale Leseregion wechselt, ist es möglich, die Verfügbarkeit zu optimieren, indem die Anforderung für eine andere Schreibregion wiederholt wird, da die andere Schreibregion möglicherweise aktuellere Daten enthält.
  • Bei einer Leseanforderung, die an eine lokale Schreibregion wechselt, kann es hilfreich sein, sofort in eine andere Schreibregion zu wechseln, sofern die lokale Schreibregion nicht über die aktuellsten Daten verfügt.
  • Wenn eine Schreibanforderung an eine lokale Schreibregion wechselt, kann es hilfreich sein, sofort in eine andere Schreibregion zu wechseln, sofern die lokale Schreibregion nicht über die aktuellsten Daten verfügt.

Für Konten mit einmaligem Schreibvorgang:

  • Wenn eine Leseanforderung an eine lokale Leseregion wechselt, hilft es, schneller zur Schreibregion zu wechseln.
  • Wenn eine Leseanforderung an einen Schreibbereich wechselt, spielt die SessionRetryOptions Einstellung keine Rolle, da der Schreibbereich in einem Konto mit einmaligem Schreibvorgang die aktuellsten Daten enthält.
  • Beim Schreiben in einen Schreibbereich in einem Konto mit einmaligem Schreibzugriff gelten keine Fehler, READ_SESSION_NOT_AVAILABLE da der Schreibbereich immer über die neueste Version der Daten verfügt und alle Schreibvorgänge an das primäre Replikat in dieser Region gehen. Daher sind Replikationsverzögerungen, die Fehler verursachen, hier nicht anwendbar.

Informationen zu Regionswechselhinweisen:

  • Verwenden Sie den Hinweis, um die lokale Region für Wiederholungen zu priorisieren. LOCAL_REGION_PREFERRED
  • Verwenden Sie den Hinweis, um Wiederholungsversuche schneller in eine andere/Remoteregion zu verschieben. REMOTE_REGION_PREFERRED

Unterstützte Vorgänge:

  • Lesen
  • Abfrage
  • Erstellen
  • Replace
  • Upsert
  • Löschen
  • Patch
  • Batch
  • Massenvorgang

Parameters:

sessionRetryOptions - Die SessionRetryOptions-Instanz.

Returns:

aktuelle CosmosClientBuilder

throttlingRetryOptions

public CosmosClientBuilder throttlingRetryOptions(ThrottlingRetryOptions throttlingRetryOptions)

Legt die Wiederholungsrichtlinienoptionen fest, die dem DocumentClient-instance zugeordnet sind.

Eigenschaften in der RetryOptions-Klasse ermöglichen es der Anwendung, die integrierten Wiederholungsrichtlinien anzupassen. Diese Eigenschaft ist optional. Wenn es nicht festgelegt ist, verwendet das SDK die Standardwerte zum Konfigurieren der Wiederholungsrichtlinien. Weitere Informationen finden Sie unter RetryOptions-Klasse.

Parameters:

throttlingRetryOptions - die retryOptions-instance.

Returns:

aktuelle CosmosClientBuilder

userAgentSuffix

public CosmosClientBuilder userAgentSuffix(String userAgentSuffix)

legt den Wert des Suffixs user-agent fest.

Parameters:

userAgentSuffix - Der Wert, der an den Benutzer-Agent-Header angefügt werden soll, wird zu Überwachungszwecken verwendet.

Returns:

aktuelle CosmosClientBuilder

Gilt für: