【问题标题】:Get immediate file name copied using Azure data factory获取使用 Azure 数据工厂复制的即时文件名
【发布时间】:2021-05-06 11:13:33
【问题描述】:

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

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

【问题讨论】:

  • 您现在可以使用$$FILEPATH 语法在复制活动中添加像文件路径这样的列。请参阅more examples 的文档。如果您需要更好的示例,请回复。

标签: azure azure-data-factory azure-data-factory-2 azure-synapse


【解决方案1】:

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

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

结束时间使用@utcnow()

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-05
      • 2021-12-12
      • 2020-08-14
      • 2017-03-06
      • 1970-01-01
      • 2019-11-19
      • 2021-05-01
      • 1970-01-01
      相关资源
      最近更新 更多