0

我有一个包含大约 30,000 条记录的数据源。当我轮询数据源时,我一口气收到了所有记录。没有指示数据源上次更新时间的时间戳。

我想使用 Azure 将数据转换为发布到服务总线的一系列添加、更新和删除指令。

我可以将每条记录发布到 CosmosDB 并使用更改提要生成添加和更新指令,然后将其发布到服务总线。但这不会处理删除。在删除的情况下,CosmosDB 会有记录,但传入的数据源没有,因此不会创建删除指令。

在这种情况下,有没有办法使用 CosmosDB 更改提要来生成删除?如果没有,是否有另一种“Azurey”方式来通过轮询非时间戳数据源生成添加、更新和删除指令?非常感谢任何帮助!谢谢

4

1 回答 1

1

今天实现这一点的一种方法是"delete": true在您的记录中插入一个墓碑标志。

然后,当此项目出现在 Change Feed 中时,您可以检查此属性,如果存在,将其触发到 ServiceBus,然后DeleteItemAsync()从托管 Change Feed 的进程调用 VM、Azure Function 等。

于 2020-11-23T17:25:52.317 回答