azure - 获取文件夹中最新添加的文件 [Azure 数据工厂]
问题描述
在数据湖里面,我们有一个文件夹,里面基本上就是每天外源推送的文件。但是,我们只想处理该文件夹中最新添加的文件。有没有办法通过 Azure 数据工厂实现这一目标?
解决方案
当您在复制活动中使用 ADLS 连接器时,您可以设置modifiedDatetimeStart 和 modifiedDatetimeEnd来过滤文件夹中的文件。
可能有两种情况:
1.排程中的数据是由外部源推送的,您应该知道排程时间来配置。
2.频率是随机的,那么可能你必须在另一个住所记录推送数据的时间,然后将时间作为参数传递到复制活动管道中,然后再执行它。
我尝试在 ADF 管道中为您提供如下流程:
我在同一文件夹中的示例文件:
Step1,创建两个变量,maxtime和filename:
maxtime 是特定日期的关键日期时间,文件名是空字符串。
Step2,使用GetMetadata Activity和ForEach Activity获取文件夹下的文件。
获取元数据 1 配置:
ForEach 活动配置:
Step3:在ForEach Activity内部,使用GetMetadata和If-Condition,结构如下:
获取元数据 2 配置:
If-Condition Activity 配置:
Step4:在 If-Condition True 分支中,使用 Set Variable Activity:
设置 variable1 配置:
设置 variable2 配置:
以上所有步骤都是为了找到最新的文件名,变量文件名正是目标。
在 GetMetadata 2 中添加另一个新数据集
推荐阅读
- javascript - 为什么我在 CSS 中的背景颜色没有被覆盖?另外,为什么“keypress”不起作用但“keydown”起作用?
- animation - SwiftUI - 如何拥有一次性动画状态
- node.js - 无法读取未定义的属性“用户名”,excel4node 无法读取属性用户名
- javascript - 警告:渲染不同组件时无法更新组件(`App`)
- reactjs - React Native 应该使用以下种类的 SDK
- dns - HTTP 有效,但 HTTPS 无效(使用 Cloudflare、Github Pages 和 Namecheap)
- php - 我正在尝试使用 php PDO 准备好的语句创建简历注册表
- saml-2.0 - SP 发起的 saml 流中的 SAMLResponse 中哪里需要“InResponseTo”?
- javascript - 如何在 Javascript 中将 Switch() 与 IF 语句一起使用?
- c++ - 递归尾部消除,影响时间?