Azure cosmosdb Cosmos数据库中的更改数据捕获

Azure cosmosdb Cosmos数据库中的更改数据捕获,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我希望通过azure函数或其他方式使用调度作业捕获Cosmos DBJSON文档中更改的数据,而不会影响数据库的在线性能,因为web应用程序/移动应用程序正在使用API调用将数据读写到Cosmos DB中。我希望数据用于脱机ETL和分析目的,就像oracle脱机提供重做日志文件一样。有两种方法可以通过更改提要来实现这一点,具体取决于此操作是需要作为批处理作业运行还是可以流式处理 如果不需要批处理,可以使用内置的Azure函数触发器。这是最简单的方法,但您只能从一开始或Azure函数启动时开始。可

我希望通过azure函数或其他方式使用调度作业捕获Cosmos DBJSON文档中更改的数据,而不会影响数据库的在线性能,因为web应用程序/移动应用程序正在使用API调用将数据读写到Cosmos DB中。我希望数据用于脱机ETL和分析目的,就像oracle脱机提供重做日志文件一样。

有两种方法可以通过更改提要来实现这一点,具体取决于此操作是需要作为批处理作业运行还是可以流式处理

如果不需要批处理,可以使用内置的Azure函数触发器。这是最简单的方法,但您只能从一开始或Azure函数启动时开始。可以从这里开始

如果确实需要批处理,则需要使用Change Feed Processor library并将开始时间配置为返回到批处理运行的最后日期时间。从这里开始。这里是示例代码


关于宇宙中的变化反馈,需要了解一些注意事项。首先,它不是一个真正的操作日志。它只显示集合中某个项的最新版本更新,不显示删除,您需要创建isDeleted属性并将其设置为true以进行软删除。第二,changefeed不会告诉您发生了什么变化,只会告诉您发生了什么变化。第三,Change Feed确实会在其监视的集合上消耗少量的RU/s,并且在您发出读取以拉入数据时再次消耗。但与RU/s写入相比,这是很小的。您需要监控RU消耗,以确保留出足够的净空。

有两个选项可以通过更改馈送来完成此操作,具体取决于此操作是需要作为批处理作业运行还是可以流式处理

如果不需要批处理,可以使用内置的Azure函数触发器。这是最简单的方法,但您只能从一开始或Azure函数启动时开始。可以从这里开始

如果确实需要批处理,则需要使用Change Feed Processor library并将开始时间配置为返回到批处理运行的最后日期时间。从这里开始。这里是示例代码

关于宇宙中的变化反馈,需要了解一些注意事项。首先,它不是一个真正的操作日志。它只显示集合中某个项的最新版本更新,不显示删除,您需要创建isDeleted属性并将其设置为true以进行软删除。第二,changefeed不会告诉您发生了什么变化,只会告诉您发生了什么变化。第三,Change Feed确实会在其监视的集合上消耗少量的RU/s,并且在您发出读取以拉入数据时再次消耗。但与RU/s写入相比,这是很小的。您需要监控RU消耗,以确保留出足够的净空