根据表中的事件执行数据工厂管道

问题描述

我需要在表中有新记录时触发 Azure 数据工厂管道。有什么办法可以做到这一点。

解决方法

不,Event-based trigger 目前仅支持 Azure Blob 存储。 您可以投票 here 以在 Azure 数据工厂中改进此功能。

,

目前是不可能的。 在以下线程中进行了类似的讨论: https://docs.microsoft.com/en-us/answers/questions/197465/how-to-trigger-an-adf-based-on-any-data-changes-wi.html

,

虽然目前不支持,但这里有一个关于如何伪造它的想法。 (只是分享一个想法,不确定这是否可行。)

  1. 在插入时创建触发器
  2. 触发器执行存储过程
  3. 存储过程使用 Polybase 在 Blob 存储中创建包含相关信息(如新行 ID)的文本文件。
  4. 在 ADF 或逻辑应用中的该存储位置上创建 BlobCreated 事件触发器。

这样做应该以一个事件触发器结束,该触发器在插入新行时触发。

,

我们可以使用逻辑应用程序根据查找过去 x 分钟/秒内插入的数据的查询触发管道

,

在 ADF 中还没有直接的方法来做到这一点(目前)。正如其他人指出的那样,您可以投票支持要添加的功能,Microsoft 可能会添加它。但仍有办法做到这一点:

您可以设置逻辑应用。这里有一个非常好的视频教程:https://www.youtube.com/watch?v=z0sMIN4xMSY

您可以设置逻辑应用以使用 SQL 数据库作为触发器,然后您可以决定是否要根据特定表中新创建的内容或特定表中修改的内容来触发它。然后,您可以操作逻辑应用以触发 Azure 数据工厂管道的运行。您可以将逻辑应用设置为按您喜欢的频率检查表格,例如每分钟、3 分钟或更长时间等。

如果您希望 ADF 管道在每次修改某个表或插入行时运行,但该表非常大,您可以通过创建跟踪更改表来减少计算量。基本上有另一个非常小的表来记录更改,然后将此表用于逻辑应用程序监视的表。在这种情况下,这会使其更快、更高效。

观看视频。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...