Azure数据工厂:如何检查文件夹是否存在

hfsqlsce  于 2023-03-24  发布在  其他
关注(0)|答案(2)|浏览(134)

我已经设置了一个每周向存储帐户触发的成本管理导出。
在该存储帐户中,CSV被导出到一个容器、一个文件夹、另一个文件夹中,然后导出到一个日期为FROM-TO的文件夹中:

我希望Data Factory检查:

  • 如果文件夹存在--〉执行操作
  • 如果文件夹存在但后缀为“*-imported”--〉不执行任何操作

所以我需要一个布尔值。
所以我创建了一个验证,但我唯一能放的是二进制文件:

我不需要二进制或CSV或任何其他文件格式。
如何检查文件夹是否存在以及是否有后缀?
link没有帮助。

h43kikqp

h43kikqp1#

您确实需要一个数据集,而Binary对这种情况最有意义。
使用文件夹路径参数创建二进制数据集:

参考“连接”选项卡中的参数:

在管道中,使用GetMetadata。指向此数据集并选择“字段列表”下的“存在”:

如果文件夹路径中不包含“-imported”,则将忽略它们。
这是我写的一篇关于使用GetMetadata和另一篇关于Parameterized Datasets的文章的链接,你可能会发现它们很有用。

axr492tv

axr492tv2#

您可以使用两个验证活动。第一个活动是检查文件夹fromdate-todate-imported是否存在。如果存在,则不执行任何操作。如果第一个验证活动失败,则添加另一个验证活动以检查文件夹fromdate-todate是否存在。如果存在,则执行所需的活动。

  • 在validation 1中,采用二进制数据集,文件路径为containername/folder1/folder2/fromdate-todate-imported。文件路径中的文件名为空。
  • 在validation 2中,采用二进制数据集,文件路径为containername/folder1/folder2/fromdate-todate。文件路径中的文件名为空。

我负责三个不同的案子。

case:1文件夹存在且文件夹名中包含-导入

  • 执行流水线时,成功运行,只运行了validation 1。

情况:2文件夹存在且文件夹名称不包含-导入

  • 当管道运行时,所有3个活动都将执行。x1c4d 1x
    用例:3文件夹不存在时流水线运行时结果,

相关问题