如何减少Azure Copy Activity扫描时长?仅扫描当日文件夹
Azure Copy Activity性能优化:仅扫描当日文件夹方案
核心解决方案:动态定位当日文件夹
可以通过动态路径表达式直接指定当日日期命名的文件夹,让Copy Activity仅扫描目标目录,无需遍历所有200个文件夹,从根源减少扫描耗时。
实现步骤
- 打开源数据集的配置页面,找到文件夹路径配置项(不同存储类型的字段名略有差异,例如Blob Storage为「容器+文件夹路径」)
- 点击「动态内容」按钮(fx图标),输入对应日期格式的表达式:
- 假设文件夹命名格式为
yyyy-MM-dd(如2024-05-20),表达式示例:@concat('你的根文件夹路径/', formatDateTime(utcNow(), 'yyyy-MM-dd')) - 如果是其他日期格式(如
MM-dd-yyyy),调整formatDateTime的格式参数即可
- 假设文件夹命名格式为
- 保存配置后,Copy Activity每次运行时会自动定位到当日生成的文件夹,仅扫描该目录下的文件
进一步优化:文件夹内文件筛选
如果当日文件夹内仍有大量文件,仅需复制其中少量,可结合以下筛选规则:
- 文件名筛选:在Copy Activity的「源」选项卡中,设置「文件筛选」为匹配规则(如
*.csv仅复制CSV文件,report_*.txt复制指定前缀的文件) - 修改时间筛选:勾选「根据最后修改时间筛选」,设置时间范围为当日(起始时间
@startOfDay(utcNow()),结束时间@utcNow()),仅复制当日文件夹内当日更新的文件
辅助性能提升建议
- 启用并行复制:在Copy Activity的「设置」选项卡中,调整「并行复制」数量(根据存储类型和资源情况调整,例如Blob Storage可设置为8-32),提升多文件复制的并行效率
- 采用增量复制策略:若需持续同步当日文件夹的新增文件,可结合Lookup Activity获取当日文件夹的文件列表,再将列表传递给Copy Activity进行精准复制,进一步降低扫描开销
内容的提问来源于stack exchange,提问作者Srinath Sona
相关产品推荐
相关产品推荐

