Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: NoSQL
In Szenarien mit mehreren Schreiblokationen können Sie einen Performancevorteil erzielen, indem Sie nur in die Region schreiben, die sich in der Nähe Ihrer Anwendungsinstanz befindet. Azure Cosmos DB übernimmt für Sie die Replikation im Hintergrund.
Nachdem Sie Ihr Konto für mehrere Schreibregionen aktiviert haben, müssen Sie in Ihrer Anwendung zwei Änderungen an der ConnectionPolicy
vornehmen. Innerhalb der ConnectionPolicy
setzen Sie UseMultipleWriteLocations
auf true
und übergeben den Namen der Region, in der die Anwendung bereitgestellt wird, an ApplicationRegion
. Durch diese Aktion wird die PreferredLocations
-Eigenschaft basierend auf der geografischen Nähe zum übergebenen Standort aufgefüllt. Wenn dem Konto später eine neue Region hinzugefügt wird, muss die Anwendung nicht aktualisiert oder erneut bereitgestellt werden. Es erkennt automatisch die nähere Region und richtet sich automatisch darauf aus, falls ein regionales Ereignis eintritt.
Hinweis
Azure Cosmos DB-Konten, die anfänglich mit einem einzelnen Schreibbereich konfiguriert wurden, können für mehrere Schreibbereiche mit Null-Down-Zeit konfiguriert werden. Weitere Informationen finden Sie unter Konfigurieren mehrerer Schreibbereiche.
Azure-Portal
Um Schreibvorgänge für mehrere Regionen zu verwenden, aktivieren Sie Ihr Azure Cosmos DB-Konto für mehrere Regionen, indem Sie das Azure-Portal verwenden. Geben Sie an, in welche Regionen Ihre Anwendung schreiben kann.
Melden Sie sich beim Azure-Portal an.
Navigieren Sie zu Ihrem Azure Cosmos DB-Konto. Öffnen Sie im Menü den Bereich " Daten global replizieren ".
Wählen Sie unter Schreibvorgänge in mehreren Regionen die Option Aktivieren aus. Die vorhandenen Regionen werden automatisch den Lese- und Schreibregionen hinzugefügt.
Sie können weitere Regionen hinzufügen, indem Sie die Symbole auf der Karte auswählen oder die Schaltfläche Region hinzufügen auswählen. Für alle Regionen, die Sie hinzufügen, werden sowohl Lese- als auch Schreibvorgänge aktiviert.
Nachdem Sie die Liste der Regionen aktualisiert haben, wählen Sie Speichern aus, um die Änderungen zu übernehmen.
.NET SDK v2
Um in Ihrer Anwendung Schreibvorgänge in mehreren Regionen zu aktivieren, legen Sie UseMultipleWriteLocations
auf true
fest. Legen Sie außerdem SetCurrentLocation
auf die Region fest, in der die Anwendung bereitgestellt wird und wo Azure Cosmos DB repliziert wird:
ConnectionPolicy policy = new ConnectionPolicy
{
ConnectionMode = ConnectionMode.Direct,
ConnectionProtocol = Protocol.Tcp,
UseMultipleWriteLocations = true
};
policy.SetCurrentLocation("West US 2");
.NET SDK v3
Um in Ihrer Anwendung Schreibvorgänge in mehreren Regionen zu aktivieren, legen Sie ApplicationRegion
auf die Region fest, in der die Anwendung bereitgestellt und Azure Cosmos DB repliziert wird:
CosmosClient cosmosClient = new CosmosClient(
"<connection-string-from-portal>",
new CosmosClientOptions()
{
ApplicationRegion = Regions.WestUS2,
});
Optional können Sie CosmosClientBuilder
und WithApplicationRegion
verwenden, um das gleiche Ergebnis zu erzielen:
CosmosClientBuilder cosmosClientBuilder = new CosmosClientBuilder("<connection-string-from-portal>")
.WithApplicationRegion(Regions.WestUS2);
CosmosClient client = cosmosClientBuilder.Build();
Java V4 SDK
Um Schreibvorgänge in mehreren Regionen in Ihrer Anwendung zu aktivieren, rufen Sie .multipleWriteRegionsEnabled(true)
und .preferredRegions(preferredRegions)
im Client-Generator auf, wobei preferredRegions
eine List
der Regionen ist, in denen die Daten nach Präferenz geordnet repliziert werden. Im Idealfall werden die Regionen mit kürzester Entfernung oder bester Latenz zuerst aufgeführt:
Java SDK V4 (Maven com.azure::azure-cosmos) Asynchrone API:
ArrayList<String> preferredRegions = new ArrayList<String>();
preferredRegions.add(region);
CosmosAsyncClient client =
new CosmosClientBuilder()
.endpoint(HOST)
.key(MASTER_KEY)
.multipleWriteRegionsEnabled(true)
.preferredRegions(preferredRegions)
.buildAsyncClient();
Async Java V2 SDK
Das Java V2 SDK verwendet maven com.microsoft.azure::azure-cosmosdb. Um Schreibvorgänge in mehreren Regionen in Ihrer Anwendung zu aktivieren, legen Sie policy.setUsingMultipleWriteLocations(true)
und policy.setPreferredLocations
auf die List
der Regionen fest, in die die Daten in der angegebenen Reihenfolge repliziert werden. Im Idealfall werden die Regionen mit kürzester Entfernung oder bester Latenz zuerst aufgeführt:
ConnectionPolicy policy = new ConnectionPolicy();
policy.setUsingMultipleWriteLocations(true);
policy.setPreferredLocations(Collections.singletonList(region));
AsyncDocumentClient client =
new AsyncDocumentClient.Builder()
.withMasterKeyOrResourceToken(this.accountKey)
.withServiceEndpoint(this.accountEndpoint)
.withConsistencyLevel(ConsistencyLevel.Eventual)
.withConnectionPolicy(policy).build();
Node.js, JavaScript und TypeScript SDK
Um in Ihrer Anwendung Schreibvorgänge in mehreren Regionen zu aktivieren, legen Sie connectionPolicy.UseMultipleWriteLocations
auf true
fest. Legen Sie connectionPolicy.PreferredLocations
außerdem fest, dass die Daten in den Regionen repliziert werden, die nach Präferenz sortiert werden. Im Idealfall werden die Regionen mit kürzester Entfernung oder bester Latenz zuerst aufgeführt:
const connectionPolicy: ConnectionPolicy = new ConnectionPolicy();
connectionPolicy.UseMultipleWriteLocations = true;
connectionPolicy.PreferredLocations = [region];
const client = new CosmosClient({
endpoint: config.endpoint,
auth: { masterKey: config.key },
connectionPolicy,
consistencyLevel: ConsistencyLevel.Eventual
});
Python SDK
Um in Ihrer Anwendung Schreibvorgänge in mehreren Regionen zu aktivieren, legen Sie connection_policy.UseMultipleWriteLocations
auf true
fest. Legen Sie connection_policy.PreferredLocations
außerdem fest, dass die Daten in den Regionen repliziert werden, die nach Präferenz sortiert werden. Im Idealfall werden die Regionen mit kürzester Entfernung oder bester Latenz zuerst aufgeführt:
connection_policy = documents.ConnectionPolicy()
connection_policy.UseMultipleWriteLocations = True
connection_policy.PreferredLocations = [region]
client = cosmos_client.CosmosClient(self.account_endpoint, {
'masterKey': self.account_key}, connection_policy, documents.ConsistencyLevel.Session)
Go Software Development Kit (SDK)
Um mehrere Regionen in Ihrer Anwendung zu aktivieren, verwenden Sie PreferredRegions
in ClientOptions:
client, err := azcosmos.NewClient(endpoint, token, &azcosmos.ClientOptions{
PreferredRegions: []string{"West US", "Central US"},
})