Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Birden çok bölgeli yazma senaryolarında, yalnızca uygulama örneğinize yakın bölgeye yazarak bir performans avantajı elde edebilirsiniz. Azure Cosmos DB, çoğaltmayı arka planda sizin için işler.
Hesabınızı birden çok yazma bölgesi için etkinleştirdikten sonra, uygulamanızda ConnectionPolicy iki değişiklik yapmanız gerekir.
ConnectionPolicy içinde, UseMultipleWriteLocations öğesini true olarak ayarlayın ve uygulamanın dağıtıldığı bölgenin adını ApplicationRegion'ye geçirin. Bu eylem, sağlanan konumdan coğrafi yakınlık temelinde PreferredLocations özelliğini doldurur. Hesaba daha sonra yeni bir bölge eklenirse uygulamanın güncelleştirilmesi veya yeniden dağıtılması gerekmez. Daha yakın olan bölgeyi otomatik olarak algılar ve bölgesel bir olay olması durumunda bu bölgeye otomatik olarak bağlanıyor.
Uyarı
Başlangıçta tek bir yazma bölgesiyle yapılandırılan Azure Cosmos DB hesapları, sıfır azaltma süresiyle birden çok yazma bölgesine yapılandırılabilir. Daha fazla bilgi edinmek için bkz. Birden çok yazma bölgesi yapılandırma.
Azure portalı
Çok bölgeli yazmaları kullanmak için Azure portalını kullanarak Azure Cosmos DB hesabınızı birden çok bölgede etkinleştirin. Uygulamanızın hangi bölgelere yazabileceğini belirtin.
Azure portalınaoturum açın.
Azure Cosmos DB hesabınıza gidin. Menüden Verileri genel olarak çoğalt bölmesini açın.
Çok bölgeli yazmalar seçeneğinin altında etkinleştir'i seçin. Mevcut bölgeleri okuma ve yazma bölgelerine otomatik olarak ekler.
Haritadaki simgeleri seçerek veya Bölge ekle düğmesini seçerek daha fazla bölge ekleyebilirsiniz. Eklediğiniz tüm bölgelerde hem okuma hem de yazma etkindir.
Bölge listesini güncelleştirdikten sonra, değişiklikleri uygulamak için Kaydet'i seçin.
.NET SDK v2
Uygulamanızda çok bölgeli yazmaları etkinleştirmek için UseMultipleWriteLocations'yi true olarak ayarlayın. Ayrıca, uygulamanın dağıtıldığı bölgeye ve Azure Cosmos DB'nin çoğaltıldığı bölgeye ayarlayın SetCurrentLocation :
ConnectionPolicy policy = new ConnectionPolicy
{
ConnectionMode = ConnectionMode.Direct,
ConnectionProtocol = Protocol.Tcp,
UseMultipleWriteLocations = true
};
policy.SetCurrentLocation("West US 2");
.NET SDK v3
Uygulamanızda çok bölgeli yazmaları etkinleştirmek için uygulamanın dağıtıldığı ve Azure Cosmos DB'nin çoğaltıldığı bölgeye ayarlayın ApplicationRegion :
CosmosClient cosmosClient = new CosmosClient(
"<connection-string-from-portal>",
new CosmosClientOptions()
{
ApplicationRegion = Regions.WestUS2,
});
İsteğe bağlı olarak, aynı sonucu elde etmek için CosmosClientBuilder ve WithApplicationRegion kullanabilirsiniz.
CosmosClientBuilder cosmosClientBuilder = new CosmosClientBuilder("<connection-string-from-portal>")
.WithApplicationRegion(Regions.WestUS2);
CosmosClient client = cosmosClientBuilder.Build();
Java V4 SDK
Uygulamanızda çok bölgeli yazmaları etkinleştirmek için, .multipleWriteRegionsEnabled(true) ve .preferredRegions(preferredRegions) çağrılarını istemci oluşturucusu içinde yapın, burada preferredRegions verilerin çoğaltıldığı ve tercihe göre sıralanan bölgelerin listesidir ve bu listeyi bir List olarak kullanır. İdeal olarak, en kısa mesafeye veya en iyi gecikme süresine sahip bölgeler ilk olarak listelenir:
Java SDK V4 (Maven com.azure::azure-cosmos) Asenkron API:
ArrayList<String> preferredRegions = new ArrayList<String>();
preferredRegions.add(region);
CosmosAsyncClient client =
new CosmosClientBuilder()
.endpoint(HOST)
.key(MASTER_KEY)
.multipleWriteRegionsEnabled(true)
.preferredRegions(preferredRegions)
.buildAsyncClient();
Asenkron Java V2 SDK
Java V2 SDK'sı Maven com.microsoft.azure::azure-cosmosdb kullanır. Uygulamanızda çok bölgeli yazmaları etkinleştirmek için verilerin tercihe policy.setUsingMultipleWriteLocations(true) göre sıralı olarak çoğaltıldığı bölgeleri ayarlayın policy.setPreferredLocations ve ayarlayınList. İdeal olarak, en kısa mesafeye veya en iyi gecikme süresine sahip bölgeler ilk olarak listelenir:
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 ve TypeScript SDK'ları
Uygulamanızda çok bölgeli yazmaları etkinleştirmek için connectionPolicy.UseMultipleWriteLocations'yi true olarak ayarlayın. Ayrıca, verilerin tercihe göre sıralı olarak çoğaltıldığı bölgelere ayarlayın connectionPolicy.PreferredLocations . İdeal olarak, en kısa mesafeye veya en iyi gecikme süresine sahip bölgeler ilk olarak listelenir:
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'sı
Uygulamanızda çok bölgeli yazmaları etkinleştirmek için, istemci başlatma işleminizde multiple_write_locations değerini True olarak ayarlayın ve içinde preferred_locations değerini, verilerin tercihe göre sıralı olarak çoğaltıldığı bölgelere ayarlayın. İdeal olarak, en kısa mesafeye veya en iyi gecikme süresine sahip bölgeler ilk olarak listelenir:
client = cosmos_client.CosmosClient(self.account_endpoint, self.account_key,
multiple_write_locations=True, preferred_locations=[region])
Go SDK'sı
Uygulamanızda birden çok bölgeyi etkinleştirmek için PreferredRegions içinde kullanın:
client, err := azcosmos.NewClient(endpoint, token, &azcosmos.ClientOptions{
PreferredRegions: []string{"West US", "Central US"},
})