创建一个依赖管道来检查文件是最新的ADF



我试图在执行模型刷新(web活动)之前为文件创建依赖管道,我想确保所有相关文件都在各自的文件夹中,所有文件都是最新的。

假设,我的模型刷新使用adls-

中存在的以下文件
  1. myadls/生/主/file1.csv
  2. myadls/生/暗/file2.csv
  3. myadls/生/暗/file3.csv
  4. myadls/生/报告/file4.csv

我们需要将上次修改的文件与今天的日期进行比较。如果两者相等,则文件是最新的。如果任何文件不是最新的,那么我需要一个文件名不是最新的电子邮件,我不应该触发我的网络活动,通常会进行模型刷新。

我已经为每个活动、If-condition、web活动和Set variable活动使用get元数据创建了这个管道。但问题是我无法收到不是最新文件的电子邮件。

根据我的场景,我如何获得不是最新文件的文件的电子邮件?

注意,上面的文件夹可以有超过100个文件,但我只寻找我在模型中使用的特定文件。

我们使用SendGrid API在我的公司发送邮件。

您可以使用任何电子邮件API轻松地在电子邮件的正文中传递文件名。您可以将文件名写入变量,然后在主体中引用该变量。听起来您已经构建了几乎所有内容,因此在ForEach中,只需添加一个Append to Variable步骤,将新值写入数组变量。然后你可以在SendEmail Web Activity中使用这些数组值,或者使用字符串转换函数,有很多方法可以做到这一点。

稍后我会用例子更新这篇文章

根据您当前的arch,您可以为每个活动创建存储文件名的变量。所以在foreach活动中,如果文件不是最新的,使用追加变量活动您可以保存所有文件名。然后在最后的验证中,您可以连接每个循环变量的所有变量,以获得未修改的文件的最终列表。

但理想情况下,我建议使用以下方法:

  1. 将文件列表创建为查找活动输出。
  2. 为顺序执行中的每个活动提供单个foreach
  3. 中的foreach via IF活动和getmeta data活动,检查文件是否是最新的。如果没有通过追加变量活动追加文件名。
  4. 一旦退出foreach,通过If条件检查文件名变量是否为空或有一些值。如果它有值,那么你可以发送一封电子邮件,并且filename变量包含所有未更新的文件名

最新更新