Configurar região SDK
O SDK do .NET para Azure Cosmos DB para NoSQL inclui classes de configuração que podem ser usadas com a classe CosmosClient para configurar qual região você deseja que o SDK direcione para solicitações.
Há duas maneiras de configurar o cliente SDK:
- Use a propriedade ApplicationRegion para configurar uma única região para solicitações
- Use a propriedade ApplicationPreferredRegions para configurar uma lista de regiões preferenciais
Definindo uma região de aplicativo
A classe CosmosClientOptions contém um conjunto de opções de configuração para novas instâncias de cliente SDK. Usando essa classe, você pode configurar a região preferida para suas consultas e operações de leitura. Neste exemplo, a propriedade ApplicationRegion é configurada como Sul do Reino Unido.
CosmosClientOptions options = new ()
{
ApplicationRegion = "UK South"
};
CosmosClient client = new (connectionString, options);
Alternativamente; você pode usar a classe estática Microsoft.Azure.Cosmos.Regions , que inclui propriedades de cadeia de caracteres internas para várias regiões do Azure.
CosmosClientOptions options = new ()
{
ApplicationRegion = Regions.UKSouth
};
CosmosClient client = new (connectionString, options);
Como outra alternativa, você pode usar as classes fluentes CosmosClientBuilder para construir um novo cliente com a região do aplicativo definida.
CosmosClient client = new CosmosClientBuilder(connectionString)
.WithApplicationRegion(Regions.UKSouth)
.Build();
Definindo uma lista de regiões de aplicativos preferenciais
A propriedade ApplicationPreferredRegions é usada para definir uma lista priorizada de regiões replicadas geograficamente para usar com o SDK. Neste primeiro exemplo, uma coleção de cadeia de caracteres é criada com os valores de região do Leste Asiático, África do Sul Norte e Oeste dos EUA. Essa coleção é usada para atribuir a propriedade ApplicationPreferredRegions .
List<string> regions = new()
{
"East Asia",
"South Africa North",
"West US"
};
CosmosClientOptions options = new ()
{
ApplicationPreferredRegions = regions
};
CosmosClient client = new (connectionString, options);
Este exemplo também pode ser simplificado com o uso da classe estática Regions e do CosmosClientBuilder.
CosmosClient client = new CosmosClientBuilder(connectionString)
.WithApplicationPreferredRegions(
new List<string>
{
Regions.EastAsia
Regions.SouthAfricaNorth
Regions.WestUS
}
)
.Build();