捕获多个表中的更改的 Azure 函数

Azure Function that captures change in multiple tables

提问人:DamianStankowski 提问时间:10/25/2023 更新时间:10/25/2023 访问量:43

问:

我需要捕获对数据库中多个表的更改。 我考虑过使用 Azure Functions,但 SQLTrigger 仅支持一个表。 我知道我可以为每个表创建多个函数,但解决方案并不能说服我。 Azure 函数是否有办法捕获多个表? 我考虑过扩展 SQLTrigger 以支持多个表,这可能吗? 我愿意接受其他解决方案。 我考虑过使用逻辑应用,但它们最多只支持 10 个触发器。 我的数据库是 SQL Server。 非常重要的一点是数据库状况不佳,我无法加载太多逻辑。 我想过以下几点:Azure Functions、CDC、Logic Apss。 非常感谢您的关注

我一直在研究 Azure 或其他程序为我提供的可能解决方案。

数据库 Azure 事件 azure-functions azure-eventgrid

评论

0赞 Sean Feldman 10/26/2023
您是否只是响应多个表,每个表都会自行更改?或者您是否需要汇总更改并在以后/收集正确的数据时采取行动?也许你可以从流程/业务视角和更少的技术来解释问题,只是为了看看是否有其他事情可以做。
0赞 snowpotatoe 10/26/2023
这篇文章几乎没有反映任何研究。请尝试解决问题,并报告解决方案不起作用或不令人满意的原因。

答:

0赞 Bhaskar Reddy 11/27/2023 #1

您可以创建一个时间触发函数,该函数调用将更改跟踪与所有表(启用 CT)联接的存储过程。

示例:在表 上启用,并且 。CTProductOrderDelivery

创建一个存储过程,该存储过程将各种表的行作为 jSON 消息的格式设置为一列,将表名的格式设置为另一列。

存储过程输出将是一个包含 2 列的表:

ChangeContent | TableName

注意:您可以添加其他必需的列,例如等change_operation