Azure Cosmos DB kullanan uygulamalarınızda çoklu yönetici yapılandırmaConfigure multi-master in your applications that use Azure Cosmos DB

Birden fazla yazma bölgesi etkinken bir hesap oluşturulduktan sonra, Azure Cosmos DB ' de çok yöneticili ve çok girişli özellikleri etkinleştirmek üzere, uygulamanızda, DocumentClient için ConnectionPolicy için iki değişiklik yapmalısınız.Once an account has been created with multiple write regions enabled, you must make two changes in your application to the ConnectionPolicy for the DocumentClient to enable the multi-master and multi-homing capabilities in Azure Cosmos DB. ConnectionPolicy içinde UseMultipleWriteLocations öğesini true olarak ayarlayın ve uygulamanın SetCurrentLocation 'a dağıtıldığı bölgenin adını geçirin.Within the ConnectionPolicy, set UseMultipleWriteLocations to true and pass the name of the region where the application is deployed to SetCurrentLocation. Bu işlem, PreferredLocations özelliğini geçirilen konumdan coğrafi yakınlık temelinde doldurur.This will populate the PreferredLocations property based on the geo-proximity from location passed in. Yeni bir bölge daha sonra hesaba eklenirse, uygulamanın güncellenmesi veya yeniden dağıtılması gerekmez, daha yakın bölgeyi otomatik olarak algılar ve bölgesel bir olay oluşması gerekir.If a new region is later added to the account, the application does not have to be updated or redeployed, it will automatically detect the closer region and will auto-home on to it should a regional event occur.

Not

Başlangıçta tek bir yazma bölgesiyle yapılandırılan Cosmos hesapları, sıfır aşağı doğru bir şekilde birden fazla yazma bölgesine (yani çok yöneticili) yapılandırılabilir.Cosmos accounts initially configured with single write region can be configured to multiple write regions (i.e. multi-master) with zero down time. Daha fazla bilgi edinmek için bkz. birden çok yazma bölgelerini yapılandırmaTo learn more see, Configure multiple-write regions

.NET SDK v2.NET SDK v2

Uygulamanızda çoklu yönetici özelliğini etkinleştirmek için olarak UseMultipleWriteLocations trueayarlayın.To enable multi-master in your application, set UseMultipleWriteLocations to true. Ayrıca, uygulamanın SetCurrentLocation dağıtıldığı bölgeye ve Azure Cosmos DB nerede çoğaltıldığına ayarlanır:Also, set SetCurrentLocation to the region in which the application is being deployed and where Azure Cosmos DB is replicated:

ConnectionPolicy policy = new ConnectionPolicy
    {
        ConnectionMode = ConnectionMode.Direct,
        ConnectionProtocol = Protocol.Tcp,
        UseMultipleWriteLocations = true
    };
policy.SetCurrentLocation("West US 2");

.NET SDK V3.NET SDK v3

Uygulamanızda çoklu yönetici özelliğini etkinleştirmek için, uygulamanın dağıtıldığı bölgeye ApplicationRegion ve Cosmos DB nerede çoğaltılacağı konuma ayarlayın:To enable multi-master in your application, set ApplicationRegion to the region in which the application is being deployed and where Cosmos DB is replicated:

CosmosClient cosmosClient = new CosmosClient(
    "<connection-string-from-portal>", 
    new CosmosClientOptions()
    {
        ApplicationRegion = Regions.WestUS2,
    });

İsteğe bağlı olarak, aynı sonucu CosmosClientBuilder elde WithApplicationRegion etmek için ve kullanabilirsiniz:Optionally, you can use the CosmosClientBuilder and WithApplicationRegion to achieve the same result:

CosmosClientBuilder cosmosClientBuilder = new CosmosClientBuilder("<connection-string-from-portal>")
            .WithApplicationRegion(Regions.WestUS2);
CosmosClient client = cosmosClientBuilder.Build();

Java Async SDK’sıJava Async SDK

Uygulamanızda çoklu yönetici özelliğini etkinleştirmek için, ayarlayın policy.setUsingMultipleWriteLocations(true) policy.setPreferredLocations ve uygulamanın dağıtıldığı bölgeyi ve Cosmos DB nerede çoğaltıldığından ayarlayın:To enable multi-master in your application, set policy.setUsingMultipleWriteLocations(true) and set policy.setPreferredLocations to the region in which the application is being deployed and where Cosmos DB is replicated:

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ıNode.js, JavaScript, and TypeScript SDKs

Uygulamanızda çoklu yönetici özelliğini etkinleştirmek için olarak connectionPolicy.UseMultipleWriteLocations trueayarlayın.To enable multi-master in your application, set connectionPolicy.UseMultipleWriteLocations to true. Ayrıca, uygulamanın connectionPolicy.PreferredLocations dağıtıldığı bölgeye ve Cosmos DB nerede çoğaltıldığına ayarlanır:Also, set connectionPolicy.PreferredLocations to the region in which the application is being deployed and where Cosmos DB is replicated:

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ıPython SDK

Uygulamanızda çoklu yönetici özelliğini etkinleştirmek için olarak connection_policy.UseMultipleWriteLocations trueayarlayın.To enable multi-master in your application, set connection_policy.UseMultipleWriteLocations to true. Ayrıca, uygulamanın connection_policy.PreferredLocations dağıtıldığı bölgeye ve Cosmos DB nerede çoğaltıldığına ayarlanır.Also, set connection_policy.PreferredLocations to the region in which the application is being deployed and where Cosmos DB is replicated.

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)

Sonraki adımlarNext steps

Aşağıdaki makaleleri okuyun:Read the following articles: