如何使用ADF将Azure Blob二级子文件夹迁移为同名独立容器
ADF 动态配置实现子文件夹转独立容器操作步骤
1. 给源、接收器数据集配置参数
首先为两个二进制类型的Blob存储数据集新增动态参数,用于灵活传递路径和容器名:
- 源数据集:添加两个字符串类型参数
containerName、folderPath,在数据集「连接」选项卡,将容器名称设为动态内容@dataset().containerName,将目录设为动态内容@dataset().folderPath - 接收器数据集:添加一个字符串类型参数
targetContainerName,在数据集「连接」选项卡,将容器名称设为动态内容@dataset().targetContainerName,目录栏留空不填
2. 配置管道遍历逻辑
先定义需要迁移的子文件夹列表,再通过循环批量执行复制操作:
- 点击管道空白处,切换到「变量」选项卡,新建数组类型变量
subFolderList,值设为@createArray('ana','hem','thg','oud');如果后续子文件夹名称会变动,可先新增Get Metadata活动,自动获取source容器下a文件夹内的所有子文件夹名称赋值给该变量 - 拖入「ForEach」活动,将活动的「项」属性设为
@variables('subFolderList'),进入ForEach活动内部,放入已创建的Copy Data活动
3. 配置Copy Data活动参数
进入ForEach活动内的Copy Data活动,分别配置源和接收器:
- 源配置:选择提前创建的源数据集,参数
containerName填固定值'source',参数folderPath填@concat('a/', item());切换到「源设置」选项卡,勾选「递归」、「二进制复制」,文件名填* - 接收器配置:选择提前创建的接收器数据集,参数
targetContainerName填@item();切换到「接收器设置」选项卡,勾选「自动创建容器」,复制行为选择「保留层次结构」,确保原文件夹内的文件结构会直接同步到新容器根目录
4. 验证生效
配置完成后先执行管道调试,确认四个同名容器自动创建、容器内文件和原source/a/对应子文件夹内容完全一致后,即可发布管道正式运行。
内容的提问来源于stack exchange,提问作者Azure Cloud Enthusiast
相关产品推荐
相关产品推荐

