Azure Logic App能否在视图上使用‘项创建时’触发器?
情况是否正常?
这种情况是正常的。Azure Logic Apps的“项创建时”触发器依赖IDENTITY列实现增量数据追踪,但视图本身并不具备原生的IDENTITY属性——即便底层主表包含IDENTITY列,视图也不会将该属性暴露给触发器识别,因此无法在视图上启用“项创建时”触发逻辑。而“项修改时”触发器依赖的timestamp列是行版本标识,视图可以继承底层表的行版本信息,所以能正常支持。
解决方法
给新架构的关联表添加IDENTITY列
直接在你新建的独立架构表中添加一个IDENTITY类型列(例如Id INT IDENTITY(1,1)),然后通过SQL Server触发器、Change Data Capture(CDC)或Azure Logic Apps定期流,将主表的新增数据同步到这个新表中。之后基于该新表配置“项创建时”触发器,同时保留视图用于“项修改时”触发,既不污染主架构,也能满足两种触发需求。改用CDC结合Logic Apps触发器
在主表上开启Change Data Capture(CDC)功能,无需修改主架构。之后在Logic Apps中使用“当CDC记录可用时”的触发器,通过CDC日志精准捕获数据的创建和修改操作。这种方式无需额外建表或视图,也不会影响主表原有结构。定期扫描+增量筛选替代原生触发器
放弃“项创建时”原生触发器,改用逻辑应用的“定期运行”触发器。每次运行时,通过主表(或视图)的创建时间戳列做增量筛选(例如只取上次运行时间之后创建的记录)。该方式无需IDENTITY列,只要主表有创建时间字段即可实现,唯一缺点是无法实时触发,延迟取决于扫描间隔。
内容的提问来源于stack exchange,提问作者Coxy

