ADF利用SQL表变化触发流水线的建议方法 [英] Suggested way for ADF to trigger pipeline by SQL table change

查看:19
本文介绍了ADF利用SQL表变化触发流水线的建议方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个跟踪SQL表,其架构如下:

CREATE TABLE [dbo].[TEST_TABLE](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [value] [nvarchar](50) NULL,
    [status] [nvarchar](50) NULL,
    [source] [nvarchar](50) NULL,
    [timestamp] [datetime] NULL
)

我的应用程序代码将通过插入记录并更新字段status来自动维护表格。

我的目标是根据以下查询的结果触发ADF管道:

SELECT COUNT(1) AS cnt FROM [dbo].[TEST_TABLE] WHERE [status] = 'active'

如果结果为>;0,则触发ADF管道。

当前状态:

我目前的工作:

  1. 如果满足条件,则将存储过程SP_TEST设置为返回1;否则返回0
  2. 设置管道如下:
SP的结果被解析并用于路由以触发后续阶段(这将把SQL表状态标记为‘Inactive’,以避免重复处理) 3.每隔5分钟将管道与调度触发器相关联。

我目前的工作是";Working";,它可以每隔5分钟检测一次是否有数据库更改,并执行后续处理。

问题:

然而,调度触发器可能过于频繁,并且在每次执行时都要花费活动单元,这可能是代价高昂的。是否有像SQL表更改触发器这样的触发器?

我尝试的内容:

  • 快速搜索一下link,但似乎还没有答案。

  • 我也知道存储事件触发器和自定义事件触发器。遗憾的是,我们不被允许创建其他Azure资源。仅向我们提供了现有的ADF和SQL服务器。

提前了解任何见解/方向。

推荐答案

使用adf进行轮询可能会很昂贵,我们希望避免这种情况。而不是在Azure Logic应用程序中进行投票,这要便宜得多。以下是侦听SQL Server DB(包括Azure)并在发现表更改时触发ADF管道的步骤。

以下是Azure Logic App的定价:

我认为这意味着每个触发器都使用标准连接器,因此每1000次应用程序触发12.5美分(美元),每触发1000次操作2.5美分(美元)。

ADF是每1000个活动1美元,所以ADF要贵得多

如果您有任何问题,请告诉我!

这篇关于ADF利用SQL表变化触发流水线的建议方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆