Configurar região SDK

Concluído

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();