读取Cosmos DB Change Feed是否在要读取其提要的容器上消耗RU / s?从我的实验中,我认为答案是“否”,但我希望证实。我在文档中找不到答案。谢谢!
答案 0 :(得分:3)
变更Feed的费用与读取Feed基本上相同。读取变更Feed(无结果)消耗2 RU / s。对于结果,作为“读取提要”,取决于结果的数量和数量。
答案 1 :(得分:0)
实际上,我正在努力解决类似的问题,也找不到任何具体的文档(就像@Sajeetharan一样),但我的发现可能对您有所帮助。我想知道收听变更提要将如何影响注册流量(或更优:RU数量)。我希望它的影响最小,并且在任何情况下都比手动轮询机制低得多。那应该是变更Feed的重点,不是吗?
备注:我正在使用C#和 CosmosDB-MongoDB-API 。因此,体验到的行为可能是API实现的结果,而不是CosmosDB记帐的结果。
这是一个对C#应用程序的测试,该应用程序仅在集合上运行Watch()
,并在观察者注意到更改后立即打印标记。基本上是这样:
using (var cursor = c.Watch(pipeline, new ChangeStreamOptions
{
FullDocument = ChangeStreamFullDocumentOption.UpdateLookup,
}))
{
foreach (var change in cursor.ToEnumerable())
{
// process change event
Console.WriteLine(change);
}
}
在不更改集合的情况下,显然有一些事情导致了大约 1 RU / s 的费用...就我而言,我不需要立即通知,因此每隔几秒钟进行一次手动轮询便宜得多。这似乎使变更Feed的目的大大缩小了。
在阅读@MatiasQuaranta的答案后(特别注意2RU / s与1RU / s的差异),我也想提供此信息。我仍然希望有人能提出更详细的答案。