Azure cosmosdb 如何知道分区密钥在Cosmos DB中是否正常工作
我试图创建一个测试宇宙,但对分区键有点困惑。我特别担心的是,当我向容器中添加一个项时,我没有看到分区列下填充了任何值 我想做的是设置一个webscraper,它可以获取文本值。从这个文件中,我选择Source和Date作为分区列,这样我就可以有一个比较均匀的分区分布 然后我创建了一个Cosmos DB并加载了一些测试值: 在设置期间,我写了减去引号/Source/Date的内容,并且我假设在上传该项目后,我会看到这些值被填写。然而,看起来这个测试容器正在寻找一个名为/Source/Date的列 我做了一个测试,其中我只使用Source作为分区键,它会自动填充该值: 我是不是遗漏了什么?我只能有一列作为分区键吗?如果在第一个屏幕截图中我看到/Source/News为空,这是否意味着没有分区键 我还做了另一个测试,使用了一个唯一的键,在我不能输入重复的Source/Date值的情况下,它确实起了作用,但是当我试图在容器请求分区键的字段中输入逗号时,我得到了一个错误 任何帮助都会有帮助 多谢各位 从该文件中,我选择源和日期作为分区 列,这样我可以有一个稍微均匀的分区分布 我相信您对分区密钥有点误解 当前无法在两个属性上指定分区键。分区键只能在JSON文档中的单个属性上创建 当您指定分区键时,实际上是在指定文档中JSON属性的路径 例如,考虑到您将分区键设置为Source/Date,您的文档将如下所示:Azure cosmosdb 如何知道分区密钥在Cosmos DB中是否正常工作,azure-cosmosdb,Azure Cosmosdb,我试图创建一个测试宇宙,但对分区键有点困惑。我特别担心的是,当我向容器中添加一个项时,我没有看到分区列下填充了任何值 我想做的是设置一个webscraper,它可以获取文本值。从这个文件中,我选择Source和Date作为分区列,这样我就可以有一个比较均匀的分区分布 然后我创建了一个Cosmos DB并加载了一些测试值: 在设置期间,我写了减去引号/Source/Date的内容,并且我假设在上传该项目后,我会看到这些值被填写。然而,看起来这个测试容器正在寻找一个名为/Source/Date的列
{
"id": "your document id",
"Source": {
"Date": "some date value"
},
"Url": "blah blah",
"Text": "more blah blah",
"Formal_Source": "even more blah blah"
}
从该文件中,我选择源和日期作为分区
列,这样我可以有一个稍微均匀的分区分布
我相信您对分区密钥有点误解
当前无法在两个属性上指定分区键。分区键只能在JSON文档中的单个属性上创建
当您指定分区键时,实际上是在指定文档中JSON属性的路径
例如,考虑到您将分区键设置为Source/Date,您的文档将如下所示:
{
"id": "your document id",
"Source": {
"Date": "some date value"
},
"Url": "blah blah",
"Text": "more blah blah",
"Formal_Source": "even more blah blah"
}
我懂了。我相信这就是困惑的根源。我认为我可以在那里添加多个列,然后可以根据源以及添加源时将数据分布到各个列。谢谢你的帮助。只是为了补充一点,我不会使用日期作为分区键。这将导致当前日期的热分区。Hi@MarkBrown,这是一个很好的观点。我认为有了这个web抓取源,它将是一个很好的分区,至少比其他一些分区要好。在高层次上,我所做的就是选择源的域是CNN、Reddit等。然后获取文本。从上面的模式来看,我认为源代码是最好的选择。当然,在分区键范围内均匀分布写操作是一个不错的选择。通常,在这些类型的应用程序(如单击跟踪等)中,有一个容器用于大容量写入,另一个容器用于通过Change Feed连接的具有不同分区键的查询。您是否这样做将取决于查询量和总体查询成本。我明白了。我相信这就是困惑的根源。我认为我可以在那里添加多个列,然后可以根据源以及添加源时将数据分布到各个列。谢谢你的帮助。只是为了补充一点,我不会使用日期作为分区键。这将导致当前日期的热分区。Hi@MarkBrown,这是一个很好的观点。我认为有了这个web抓取源,它将是一个很好的分区,至少比其他一些分区要好。在高层次上,我所做的就是选择源的域是CNN、Reddit等。然后获取文本。从上面的模式来看,我认为源代码是最好的选择。当然,在分区键范围内均匀分布写操作是一个不错的选择。通常,在这些类型的应用程序(如单击跟踪等)中,有一个容器用于大容量写入,另一个容器用于通过Change Feed连接的具有不同分区键的查询。是否这样做将取决于查询量和查询的总体成本。