问题标签 [azure-cosmosdb-changefeed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 如何在 C# 中读取未知类型的 ComosDB 更改提要?
我有一个单一的 CosmosDB 容器,我想将更改馈送连接到该容器中。该容器内部存储了一些不同的数据结构,通常会通过数据类型标签进行查询。我想根据更新的对象类型以不同的方式处理更改提要。有没有办法将查询附加到更改提要上,或者我应该尝试将返回数据类型设置为字典或动态?
c# - 更改提要迭代器内容反序列化
目前,我正在寻找使用 System.Text.Json 从 Change Feed Iterator 内容中反序列化实体的方法。
我从文档中找到了这个示例,但它使用了 Newtonsoft.Json,我不喜欢使用 JObject 和 JsonTextReader 的方法。有什么办法可以让它更干净整洁吗?
我试图做这样的事情,但我的方法不起作用。
azure-cosmosdb - 复制 CosmosDB 集合并按物理分区保留项目顺序的最有效方法是什么?
我使用 Azure 数据工厂尝试了许多不同的组合来创建 CosmosDB 集合的克隆,该集合维护写入分区的项目的顺序,但除非我指定批量写入大小为 1,否则它不会保持顺序。即使从映射数据流中源的更改源触发也不会保留顺序。我们编写了一个简单的工具,可以一次复制一条记录,但很明显,这很慢。
我们将 Cosmos 用作事件存储,更改馈送处理器为我们的投影仪提供数据 - 这一切都运行良好,但我们希望将事件复制到不同的环境中以测试更改。这需要保留原始写入顺序。
提前致谢。
c# - 使用 IChangeToken 传递更改源数据的自定义 CosmosDB 配置提供程序
我正在实施一个自定义配置提供程序,以使用https://docs.microsoft.com/en-us/dotnet/core/extensions/custom-configuration-provider上的指南提供存储在我的 Azure Cosmos Db 中的配置设置。但是,除了本指南中的内容之外,我还想实现reload-on-change功能。
为此,我使用此处描述的提要处理器逻辑为我的 Cosmos Db 创建了一个“Watcher”类:https ://docs.microsoft.com/en-us/azure/cosmos-db/sql/change-feed -处理器。Watcher 给了我一个 IChangeToken,我将它传递给 ChangeToken.OnChange 方法,如下所示,并在新数据到达时设置它:
这很好用,但我的问题是我使用 ChangeFeedProcessor 实现的 Watcher 确切知道在调用它时更改了哪些项目。然而,在“Load(...)”调用中,我正在重新加载所有设置,并再次调用我的 Cosmos Db。
我传递有关“发生了什么变化?”的数据的正确方法是什么?当令牌更改为我的 ConfigurationProvider 时,我不需要重新查询我的数据库来获取所有设置?
azure-cosmosdb - 在 Cosmos DB 中生成序列
需要创建序列,以便代码当前在做什么 select max(name) from table where item1 = '' and item2= '' and item3 = '' 。获取最大值后,它会插入从最大值开始的元素。但这会导致并发问题。
注意:查询将始终在同一个分区中执行
目前我有两种方法:
一种是创建一个序列表,其中将包含 ID 和序列作为列。序列列将包含该 ID 的最后一个序列号。这将使用乐观并发进行更新。
第二个是使用存储过程。
但是,如果存在的话,我仍然在寻找一些更好的方法。