You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ADF Copy Activity通配符路径问题:仅复制Data Lake Gen2指定JSON文件

解决方案:仅复制ADLS Gen2嵌套JSON文件(忽略文件夹结构)

一、使用AzCopy(推荐,高效直接)

AzCopy的--flat参数可直接扁平化复制所有匹配文件,不保留源文件夹结构:

  1. 基础命令(匹配所有年份的JSON文件):
azcopy copy "https://<你的存储账户>.dfs.core.windows.net/<容器名>/Folder1/Folder2/Folder3/Folder4/Folder5/**/*.json" "https://<目标存储账户>.dfs.core.windows.net/<目标容器>/目标文件夹/" --recursive --flat=true
  • **:匹配任意层级的子文件夹
  • *.json:只筛选JSON文件
  • --flat=true:强制所有文件直接放到目标目录,不创建嵌套结构
  1. 过滤特定年份(比如仅2022、2023年):
azcopy copy "https://<你的存储账户>.dfs.core.windows.net/<容器名>/Folder1/Folder2/Folder3/Folder4/Folder5/{2022,2023}/**/*.json" "https://<目标存储账户>.dfs.core.windows.net/<目标容器>/目标文件夹/" --recursive --flat=true

二、使用Azure Data Factory(企业级集成场景)

在ADF复制活动中配置扁平化复制:

  1. 配置源数据集:
    • 容器和根路径设为Folder1/Folder2/Folder3/Folder4/Folder5
    • 文件路径的通配符设置:
      • 文件夹路径:填**(匹配所有子层级)或*/*/*/*/*(精确匹配年份/月份/日期/小时/分钟五层)
      • 文件名:填*.json
  2. 配置复制活动设置:
    • 进入设置选项卡,找到保留层级,选择不保留层级
  3. 过滤特定年份:
    • 直接修改源数据集的根路径为Folder1/Folder2/Folder3/Folder4/Folder5/2022(仅2022年),或用{2022,2023}匹配多个年份
    • 也可在源选项卡中添加筛选器,按文件夹名称或文件创建时间过滤

三、使用PowerShell(灵活自定义场景)

适合需要更复杂过滤逻辑的场景:

# 配置参数
$storageAccountName = "你的存储账户名"
$sourceContainer = "源容器名"
$sourceRootPath = "Folder1/Folder2/Folder3/Folder4/Folder5"
$targetContainer = "目标容器名"
$targetRootPath = "目标文件夹"

# 递归获取所有JSON文件
$jsonFiles = Get-AzDataLakeGen2ChildItem -AccountName $storageAccountName `
    -FileSystem $sourceContainer `
    -Path $sourceRootPath `
    -Recurse -File | Where-Object { $_.Name -match "\.json$" }

# 逐个复制到目标目录(自动去重同名文件,可按需修改)
foreach ($file in $jsonFiles) {
    Copy-AzDataLakeGen2Item -AccountName $storageAccountName `
        -FileSystem $sourceContainer `
        -Path $file.Path `
        -DestFileSystem $targetContainer `
        -DestPath "$targetRootPath/$($file.Name)"
}

常见问题排查

  • 仅复制部分文件:检查通配符是否正确,*仅匹配当前层级,**才匹配所有子层级;确保没有权限限制,比如部分文件夹无读取权限
  • 仍复制文件夹结构:确认是否开启了扁平化参数(AzCopy的--flat=true、ADF的“不保留层级”)

内容的提问来源于stack exchange,提问作者Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 12:05:19