在文件夹 [Azure 数据工厂] 中获取最新添加的文件

get the latest added file in a folder [Azure Data Factory]

在Data Lake里面,我们有一个文件夹,基本上就是每天外源推送的文件。但是,我们只想处理该文件夹中最新添加的文件。 有什么方法可以通过 Azure 数据工厂实现吗?

您可以设置modifiedDatetimeStart and modifiedDatetimeEnd在副本activity中使用ADLS连接器时过滤文件夹中的文件activity。

可能有两种情况:

1.The 数据由外部源推送 在时间表中 ,您应该知道要配置的时间表时间。

2.The频率是随机,那可能你要在别处记录推送数据的时间,然后把时间作为参数传入copyactivity 执行之前的管道。


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

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

第一步,创建两个变量,maxtime 和 filename:

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

第二步,使用GetMetadataActivity和ForEachActivity获取文件夹下的文件。

获取元数据 1 配置:

ForEach Activity配置:

第三步:在ForEachActivity内部,使用GetMetadata和If-Condition,结构如下:

获取元数据 2 配置:

If-Condition Activity 配置:

Step4: 在 If-Condition True 分支内,使用 Set Variable Activity:

设置变量 1 配置:

设置变量 2 配置:

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


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

您可以使用 Modified datetime startModified datetime end 字段,如下面的屏幕截图所示。

此处的示例显示从当前日期时间开始的 24 小时内获取文件。