使用 ADF 将子目录中的文件复制到 Azure 存储

Copy files in subdirs to azure storage with ADF

我有这样的文件夹结构:

folder1/folder2
               /YearNumber1
                           /monthYear1
                                     /somefile.csv, tbFiles.csv
                           /monthYear2
                                     /somefile2.csv, tbFiles2.csv
                           ...(many folders as above)
               /YearNumber2
                           /montYear11
                                      /somefileXXYYZz.csv, otherFile.csv
                           /monthYear12
                                       /someFileRandom.csv. dedFile.csv
                           ...(many folders as above)

来源: 二进制,通过文件共享链接服务链接

目的地: 二进制,在 Azure Blob 存储上

我不想保留结构,只需要复制所有csv文件。

使用 CopyActivity:

Wildcard Path: @concat('folder1/folder2/','*/','*/',) / '*.csv'

使用递归

但它没有复制任何内容,0 字节。

您可以在 CopyActivity 源设置中使用以下选项:

1. File path type

允许的通配符是:*(匹配零个或多个字符)和?(匹配零个或单个字符);如果您的实际文件夹名称中包含通配符或此转义字符,请使用 ^ 进行转义。
有关 Folder and file filter examples 中的更多示例,请参阅官方 MS 文档。

  • wildcardFolderPath - 在数据集中配置的文件系统下带通配符的文件夹路径,用于过滤源文件夹。
  • wildcardFileName-你的文件系统下带通配符的文件名+folderPath/wildcardFolderPath过滤源文件

2. recursive - 当设置为 true 时,将从子文件夹递归读取数据。

示例:

如果源目录中只有 .csv 个文件,您只需将 wildcardFileName 指定为 *