Configuración de la región del SDK

Completado

El SDK de .NET para Azure Cosmos DB for NoSQL incluye clases de configuración que se pueden usar con la clase CosmosClient para configurar la región a la que quiere que se dirija el SDK para las solicitudes.

Existen dos maneras de configurar el cliente del SDK:

  • Uso de la propiedad ApplicationRegion para configurar una sola región para las solicitudes
  • Uso de la propiedad ApplicationPreferredRegions para configurar una lista de regiones preferidas

Establecimiento de una región de aplicación

La clase CosmosClientOptions contiene un conjunto de opciones de configuración para nuevas instancias de cliente del SDK. Con esta clase, puede configurar la región preferida para las consultas y las operaciones de lectura. En este ejemplo, la propiedad ApplicationRegion está configurada para el Sur de Reino Unido.

CosmosClientOptions options = new () 
{ 
    ApplicationRegion = "UK South"
};
CosmosClient client = new (connectionString, options);

Como alternativa; puede usar la clase estática Microsoft.Azure.Cosmos.Regions, que incluye propiedades de cadena integradas para varias regiones de Azure.

CosmosClientOptions options = new () 
{ 
    ApplicationRegion = Regions.UKSouth
};
CosmosClient client = new (connectionString, options);

Como otra alternativa, puede usar las clases fluidas de CosmosClientBuilder para construir un nuevo cliente con la región de la aplicación configurada.

CosmosClient client = new CosmosClientBuilder(connectionString)
    .WithApplicationRegion(Regions.UKSouth)
    .Build();

Configuración de una lista de regiones de aplicación preferidas

La propiedad ApplicationPreferredRegions se usa para establecer una lista prioritaria de regiones con replicación geográfica que se usarán con el SDK. En este primer ejemplo, se crea una colección de cadenas con los valores de región del Este de Asia, Norte de Sudáfrica y Oeste de EE. UU. A continuación, esta colección se usa para asignar la propiedad ApplicationPreferredRegions.

List<string> regions = new()
{
    "East Asia",
    "South Africa North",
    "West US"
};

CosmosClientOptions options = new () 
{ 
    ApplicationPreferredRegions = regions
};
CosmosClient client = new (connectionString, options);

Este ejemplo también se puede simplificar con el uso de la clase estática Regions y CosmosClientBuilder.

CosmosClient client = new CosmosClientBuilder(connectionString)
    .WithApplicationPreferredRegions(
        new List<string>
        {
            Regions.EastAsia
            Regions.SouthAfricaNorth
            Regions.WestUS
        }
    )
    .Build();