使用 API 删除和重新创建数据库时,Azure Cosmos DB 上的存储设置不断从无限制更改为固定
Storage setting on Azure Cosmos DB keeps changing from Unlimited to Fixed when deleting and re-creating database using API
我目前正在通过 C# 控制台应用程序使用 Azure API 为我们的 Cosmos DB 播种。在此过程中,我删除并重新创建数据库以确保删除所有预先存在的数据(这可能不是最佳选择,但我没有看到截断所有选项)。最初,数据库的存储设置设置为无限制,如下所示。
但是,一旦我删除并重新创建数据库,它会将存储选项更改为固定的,如下所示。
我一直在谷歌上搜索修复,我所能找到的就是能够将 RequestOptions
添加到创建数据库的请求中。不幸的是,这只让我能够编辑数据库的吞吐量。
如何在重新创建数据库时更改存储类型?
更新:
以下是我如何创建数据库。该声明相当琐碎,这就是为什么我没有将其包含在原始 post 中的原因。
try
{
await this.client.DeleteDatabaseAsync(UriFactory.CreateDatabaseUri(environment.Settings.DatabaseName));
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
await this.client.CreateDatabaseIfNotExistsAsync(new Database { Id = environment.Settings.DatabaseName });
您必须指定分区键才能创建无限制的存储容量
var collection = new DocumentCollection
{
Id = collectionName,
DefaultTimeToLive = -1
};
collection.PartitionKey.Paths.Add(partitionKey);
var response = await this.cosmosDbClient.CreateDocumentCollectionIfNotExistsAsync(this.databaseUri, collection, new RequestOptions
{
OfferThroughput = offerThroughput
});
谢谢,
什拉达·阿格拉瓦尔
我目前正在通过 C# 控制台应用程序使用 Azure API 为我们的 Cosmos DB 播种。在此过程中,我删除并重新创建数据库以确保删除所有预先存在的数据(这可能不是最佳选择,但我没有看到截断所有选项)。最初,数据库的存储设置设置为无限制,如下所示。
但是,一旦我删除并重新创建数据库,它会将存储选项更改为固定的,如下所示。
我一直在谷歌上搜索修复,我所能找到的就是能够将 RequestOptions
添加到创建数据库的请求中。不幸的是,这只让我能够编辑数据库的吞吐量。
如何在重新创建数据库时更改存储类型?
更新: 以下是我如何创建数据库。该声明相当琐碎,这就是为什么我没有将其包含在原始 post 中的原因。
try
{
await this.client.DeleteDatabaseAsync(UriFactory.CreateDatabaseUri(environment.Settings.DatabaseName));
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
await this.client.CreateDatabaseIfNotExistsAsync(new Database { Id = environment.Settings.DatabaseName });
您必须指定分区键才能创建无限制的存储容量
var collection = new DocumentCollection
{
Id = collectionName,
DefaultTimeToLive = -1
};
collection.PartitionKey.Paths.Add(partitionKey);
var response = await this.cosmosDbClient.CreateDocumentCollectionIfNotExistsAsync(this.databaseUri, collection, new RequestOptions
{
OfferThroughput = offerThroughput
});
谢谢, 什拉达·阿格拉瓦尔