Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A: NoSQL
Em vários cenários de gravação de região, você pode obter um benefício de desempenho gravando somente na região próxima à instância do aplicativo. O Azure Cosmos DB lida com a replicação para você nos bastidores.
Depois de habilitar sua conta para várias regiões de gravação, você deve fazer duas alterações no aplicativo para o ConnectionPolicy
. Dentro do ConnectionPolicy
, defina UseMultipleWriteLocations
como true
e passe o nome da região onde o aplicativo é implementado para ApplicationRegion
. Esta ação preenche a PreferredLocations
propriedade com base na proximidade geográfica do local passado. Se uma nova região for adicionada posteriormente à conta, o aplicativo não precisará ser atualizado ou reimplantado. Ele deteta automaticamente a região mais próxima e se conecta automaticamente a ela caso ocorra um evento regional.
Nota
As contas do Azure Cosmos DB inicialmente configuradas com uma única região de gravação podem ser configuradas para várias regiões de gravação com tempo de inatividade zero. Para saber mais, consulte Configurar regiões de gravação múltipla.
Portal do Azure
Para usar escritas de várias regiões, ative a sua conta do Azure Cosmos DB para várias regiões através do portal do Azure. Especifique em quais regiões a sua aplicação pode gravar.
Para habilitar gravações em várias regiões, use as seguintes etapas:
Inicie sessão no portal do Azure.
Navegue até sua conta do Azure Cosmos DB e, no menu, abra o painel Replicar dados globalmente .
Na opção Gravações em várias regiões, escolha ativar. Ele adiciona automaticamente as regiões existentes às regiões de leitura e escrita.
Você pode adicionar mais regiões selecionando os ícones no mapa ou selecionando o botão Adicionar região . Todas as regiões adicionadas têm leitura e gravação habilitadas.
Depois de atualizar a lista de regiões, selecione Salvar para aplicar as alterações.
SDK v2 de .NET
Para habilitar gravações em várias regiões na sua aplicação, defina UseMultipleWriteLocations
como true
. Além disso, defina SetCurrentLocation
para a região na qual o aplicativo está sendo implantado e onde o Azure Cosmos DB é replicado:
ConnectionPolicy policy = new ConnectionPolicy
{
ConnectionMode = ConnectionMode.Direct,
ConnectionProtocol = Protocol.Tcp,
UseMultipleWriteLocations = true
};
policy.SetCurrentLocation("West US 2");
SDK v3 de .NET
Para habilitar escritas em várias regiões no seu aplicativo, configure ApplicationRegion
para a região na qual o aplicativo está a ser implementado e onde o Azure Cosmos DB é replicado.
CosmosClient cosmosClient = new CosmosClient(
"<connection-string-from-portal>",
new CosmosClientOptions()
{
ApplicationRegion = Regions.WestUS2,
});
Opcionalmente, você pode usar o CosmosClientBuilder
e WithApplicationRegion
para obter o mesmo resultado:
CosmosClientBuilder cosmosClientBuilder = new CosmosClientBuilder("<connection-string-from-portal>")
.WithApplicationRegion(Regions.WestUS2);
CosmosClient client = cosmosClientBuilder.Build();
Java V4 SDK
Para ativar escritas em várias regiões na aplicação, chame .multipleWriteRegionsEnabled(true)
e .preferredRegions(preferredRegions)
no construtor de clientes, onde preferredRegions
é uma List
das regiões em que os dados são replicados por ordem de preferência - idealmente as regiões com menor distância/melhor latência primeiro:
API assíncrona do Java SDK V4 (Maven com.azure::azure-cosmos):
ArrayList<String> preferredRegions = new ArrayList<String>();
preferredRegions.add(region);
CosmosAsyncClient client =
new CosmosClientBuilder()
.endpoint(HOST)
.key(MASTER_KEY)
.multipleWriteRegionsEnabled(true)
.preferredRegions(preferredRegions)
.buildAsyncClient();
SDK Java V2 assíncrono
O Java V2 SDK usou o Maven com.microsoft.azure::azure-cosmosdb. Para habilitar gravações em várias regiões em seu aplicativo, defina policy.setUsingMultipleWriteLocations(true)
e defina policy.setPreferredLocations
para as regiões em que os List
dados são replicados ordenados por preferência - idealmente as regiões com menor distância/melhor latência primeiro:
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();
SDKs Node.js, JavaScript e TypeScript
Para configurar gravações em várias regiões na sua aplicação, defina connectionPolicy.UseMultipleWriteLocations
para true
. Além disso, defina connectionPolicy.PreferredLocations
para as regiões em que os dados são replicados ordenados por preferência - idealmente as regiões com menor distância/melhor latência primeiro:
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
Para habilitar gravações em várias regiões em seu aplicativo, defina connection_policy.UseMultipleWriteLocations
como true
. Além disso, defina connection_policy.PreferredLocations
para as regiões em que os dados são replicados ordenados por preferência - idealmente as regiões com menor distância/melhor latência primeiro.
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)