配置 SDK 区域

已完成

用于 Azure Cosmos DB for NoSQL 的 .NET SDK 包括可与 CosmosClient 类一起使用的配置类,这些类一起用于配置希望 SDK 为请求设置的目标区域。

有两种方法可以配置 SDK 客户端:

  • 使用 ApplicationRegion 属性为请求配置单个区域
  • 使用 ApplicationPreferredRegions 属性配置首选区域的列表

设置应用程序区域

CosmosClientOptions 类包含一组用于新 SDK 客户端实例的配置选项。 使用此类,可为查询和读取操作配置首选区域。 在本例中,ApplicationRegion 属性配置为“英国南部”。

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

或者,可以使用 Microsoft.Azure.Cosmos.Regions 静态类,其中包括各种 Azure 区域的内置字符串属性。

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

另一种选择是,可以使用 CosmosClientBuilder fluent 类来构造设置了应用程序区域的新客户端。

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

设置首选应用程序区域的列表

ApplicationPreferredRegions 属性用于设置要与 SDK 一起使用的异地复制区域的优先级列表。 在第一个示例中,使用区域值“东亚”、“南非北部”和“美国西部”创建了一个字符串集合。 然后,使用此集合分配 ApplicationPreferredRegions 属性。

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

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

还可以使用 Regions 静态类和 CosmosClientBuilder 来简化此示例。

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