使用Azure Libraries for Net的CosmosDB区域冗余



我目前创建了一个具有以下属性的CosmosDB:

cosmosDb = await azure.CosmosDBAccounts
.Define(cosmosDbResource.Name)
.WithRegion(cosmosDbResource.Region)
.WithExistingResourceGroup(cosmosDbResource.ResourceGroup.Name)
.WithKind(DatabaseAccountKind.GlobalDocumentDB)
.WithStrongConsistency()
.WithTags(cosmosDbResource.ResourceGroup.Tags)
.CreateAsync();

我看到的唯一能够设置区域冗余的地方是ReadReplication数据库,如下所示:

cosmosDb = await azure.CosmosDBAccounts
.Define(cosmosDbResource.Name)
.WithRegion(cosmosDbResource.Region)
.WithExistingResourceGroup(cosmosDbResource.ResourceGroup.Name)
.WithKind(DatabaseAccountKind.GlobalDocumentDB)
.WithStrongConsistency()
.WithReadReplication(Region.USEast, true)
.WithTags(cosmosDbResource.ResourceGroup.Tags)
.CreateAsync();

问题是我不关心读复制数据库。我想在我创建的初始数据库上设置区域冗余。我注意到,在Azure门户中,当我手动创建CosmosDB时,它为我提供了设置区域冗余的选项。这不可能通过Azure Libraries for NET SDK实现吗?

要使用区域冗余指定写入区域,请执行以下操作:

.WithWriteReplication(Region.USWest2, true)

附言:如果可能的话,我建议你使用这个SDK的自动休息生成版本。流利的API通常不像自动评审生成的API那样是最新的。这是直接根据我们的Cosmos DB swagger规范构建的,下游的一切都是基于此构建的,包括ARM、PowerShell和CLI。

还有一个存储库,其中包含一组相当完整的示例,您可以使用这些示例来帮助构建自己的管理库。它还包括流畅的样本,但也过时了。Cosmos DB样品

这是自动休息生成的SDK的repo。用于.NET 的Cosmos数据库管理SDK

最新更新