我创建了一个文档db数据库,其中RU在数据库级别而不是在容器级别共享。是否可以在同一数据库下创建没有分区的集合?当我尝试对下面的代码执行相同操作时,出现错误“已配置的吞吐量收集应具有分区键”。
private async Task CreatePartitionLessCollection()
{
try
{
DocumentClient documentClient = new DocumentClient(new Uri(EndpointUrl), PrimaryKey);
DocumentCollection myCollection = new DocumentCollection();
myCollection.Id = "MyCollection";
await documentClient.CreateDocumentCollectionAsync(
UriFactory.CreateDatabaseUri("MyDB"), myCollection, new RequestOptions { OfferThroughput = 400 });
}
catch (Exception ex)
{
Console.WriteLine(ex.GetBaseException().Message);
}
}
答案 0 :(得分:0)
从我的角度重现您的问题,它表明没有分区键我们无法创建预配置的吞吐量集合。因为数据库级别的吞吐量设置将在所有内部共享 集合:
请参阅此document以了解有关设置数据库级别或容器级别吞吐量的选择。如果要创建一些分区集合和一些非分区集合,则可以尝试将其设置为集合级别
一些关键声明:
为单个容器配置吞吐量将确保 保留该特定Cosmos DB容器的吞吐量(即, 表,集合或图形)由吞吐量SLA支持 该容器。这使您可以对 您在任何给定时间点所需的容器吞吐量。上 另一方面,在Cosmos DB数据库上配置吞吐量, 允许您在所有容器之间共享吞吐量 属于那个数据库。这使您可以集中配置的资源 Cosmos数据库数据库中一组容器的吞吐量。