获取文件夹 [Azure Data Factory] ​​中最新添加的文件

Ore*_*ics 3 last-modified azure azure-data-factory azure-data-lake

在数据湖里面,我们有一个文件夹,里面基本上每天都有外部源推送的文件。但是,我们只想处理该文件夹中最新添加的文件。有没有办法通过 Azure 数据工厂实现这一目标?

Jay*_*ong 5

当您在复制活动中使用 ADLS 连接器时,您可以设置modifiedDatetimeStart 和 modifiedDatetimeEnd来过滤文件夹中的文件。

可能有两种情况:

1.数据是由外部源推的时间表,你是假设知道计划时间进行配置。

2.频率是随机的,那么可能你必须在另一个住所记录推送数据的时间,然后在执行之前将时间作为参数传递给复制活动管道。


我尝试在 ADF 管道中为您提供如下流程:

我在同一文件夹中的示例文件:

在此处输入图片说明

Step1,创建两个变量,maxtime 和 filename:

maxtime 是特定日期的关键日期时间,filename 为空字符串。

在此处输入图片说明

Step2,使用GetMetadata Activity和ForEach Activity获取文件夹下的文件。

在此处输入图片说明

GetMetadata 1 配置:

在此处输入图片说明

ForEach Activity 配置:

在此处输入图片说明

Step3:在ForEach Activity内部,使用GetMetadata和If-Condition,结构如下:

在此处输入图片说明

GetMetadata 2 配置:

在此处输入图片说明

If-Condition 活动配置:

在此处输入图片说明

步骤 4:在 If-Condition True 分支中,使用 Set Variable Activity:

在此处输入图片说明

设置 variable1 配置:

在此处输入图片说明

设置 variable2 配置:

在此处输入图片说明

以上所有步骤旨在找到最新的文件名,变量文件名正是目标。


在 GetMetadata 2 中添加另一个新数据集

在此处输入图片说明