如何获取触发Azure数据工厂管道的文件的名称?

时间:2020-05-27 21:01:16

标签: azure azure-data-factory-2 azure-blob-storage azure-triggers azure-blob-trigger

我是ADF的新手。我需要将数据从15个CSV文件加载到15个Azure Sql数据库表。 在管道中,每次创建Blob时都有一个触发器来运行管道。

我想使这个管道动态化。我的CSV文件名包含表名。 例如,Input_202005是csv,表名是Input。

类似地,我还有其他14个元数据不同的文件/表。

因为我想在每次创建Blob时都运行管道,所以不需要元数据和foreachfile活动。我希望每个blob的管道并行运行。有没有一种方法可以知道哪个blob /文件触发了管道并获得了文件名,而无需在触发器中使用任何参数。我不想使用15个触发参数。

还是我的要求有更好的解决方案?任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

向您的管道添加一个参数,例如triggeringFile

创建触发器时,将在右侧弹出一个表单-提交第一页后弹出第二页-这将要求管道参数triggeringFile的值。在该框中,输入@trigger().outputs.body.fileName

如果您提供的格式是标准格式,那么表名就是@{split(pipeline().parameters.triggeringFile,'_')[0]}