Azure 数据工厂,如何将 blob 数据增量复制到 sql

baa*_*hen 5 azure-data-factory azure-data-factory-2

我有一个 azure blob 容器,其中每 6 小时放置一些带有数据的 json 文件,我想使用 Azure 数据工厂将其复制到 Azure SQL DB。文件的文件模式是这样的:“customer_year_month_day_hour_min_sec.json.data.json”

blob 容器也有其他 json 数据文件,因此我对数据集中的文件进行了过滤。

第一个问题是如何在 blob 数据集上设置文件路径以仅查找我想要的 json 文件?我尝试使用通配符 *.data.json 但这不起作用。我开始工作的唯一文件名通配符是 *.json

第二个问题是如何仅将数据从位于 blob 存储中的新文件(具有特定文件模式)复制到 Azure SQL?我无法控制将数据放入 blob 容器的过程,也无法将文件移动到另一个位置,这使得操作变得更加困难。

请帮忙。

小智 3

您可以使用ADF 事件触发器来实现此目的。

将事件触发器定义为“创建 blob”,并根据文件名模式指定blobPathBeginsWithblobPathEndsWith属性。

对于第一个问题,当针对特定 blob 触发事件触发器时,该事件会将 blob 的文件夹路径和文件名捕获到属性@triggerBody().folderPath@triggerBody().fileName中。您需要将属性映射到管道参数,并将 @pipeline.parameters.parameterName 表达式传递到复制活动中的文件名。

这也回答了第二个问题,每次触发触发器时,您都会在@triggerBody().folderPath@triggerBody().fileName中获取最新创建的文件的 fileName 。谢谢。