获取使用 Azure 数据工厂复制的即时文件名

问题描述

场景: 需要知道使用 azure 数据工厂的复制活动从源复制到目标的文件名。

问题: 获取元数据可用于获取文件名。但是,如果文件夹中存在多个文件,我们如何知道复制了哪个文件

解决方法

也许您可以尝试按上次修改时间进行过滤。开始时间使用这个表达式:

@activity('Copy data1').output.executionDetails[0].start

结束时间使用 @utcnow()

enter image description here

,

如果您想通过内置的 ADF 活动实现需求,则需要遵循以下流程,否则可以通过 python(Azure 函数)或 csutom 活动轻松实现。

  1. 创建 2 个变量: MaxLastProcessedDate = 1900-01-01 最新文件

  2. 在文件夹级别使用 GetMetaDataActivity 获取 childItems 列表

  3. 使用 childitems 字段的输出作为 foreach 循环活动的输入

  4. 在 Foreach 中: a) 文件级别的 GetMetaDataActivity(因为每次迭代都针对每个文件) b) 如果条件活动(如果 getmetadata 活动的 lastmodifieddate > MaxLastProcessedDate)
    如果为 true:将 MaxLastProcessedDate 变量更新为 getmetadata 活动的 lastmodifieddate,并将 LatexFile 变量更新为该迭代的文件名。