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

如何在Azure Data Factory中实现多文件动态复制?映射表是什么?

动态源/目标数据复制流水线构建方案(Azure Data Factory)

关于“Mapping Table”的明确

Mapping Table是一种设计概念,并非Azure Data Factory(ADF)Copy Activity里的原生选项。它本质是用一张存储映射关系的表(比如Azure SQL数据库、ADLS中的CSV文件)来维护「源位置/配置」与「目标位置/配置」的对应关系,让流水线能动态读取这些关系,实现批量、可扩展的复制任务。

ADF中实现动态源/目标复制的步骤

1. 创建映射表

先在数据存储(比如Azure SQL Database)中创建一张映射表,结构示例:

CREATE TABLE DataCopyMapping (
    MappingID INT IDENTITY(1,1) PRIMARY KEY,
    SourceType VARCHAR(50), -- 例如BlobStorage、SQL
    SourceConnectionString VARCHAR(500),
    SourcePath VARCHAR(200), -- 例如容器名、表名
    SinkType VARCHAR(50),
    SinkConnectionString VARCHAR(500),
    SinkPath VARCHAR(200),
    IsEnabled BIT DEFAULT 1 -- 控制该映射是否执行
);

每日新增/删除源-目标对时,直接修改这张表即可。

2. 读取映射表数据

在ADF中配置:

  • 新建Lookup活动,连接到映射表,筛选出IsEnabled = 1的记录,获取所有需要执行的源-目标映射关系。
  • 添加ForEach活动,遍历Lookup返回的结果集,将每条映射数据作为循环变量。

3. 动态配置Copy Activity

在ForEach内部添加Copy Activity,通过动态内容绑定循环变量中的参数:

  • 源数据集的连接字符串、路径:使用@item().SourceConnectionString、@item().SourcePath
  • 目标数据集的连接字符串、路径:使用@item().SinkConnectionString、@item().SinkPath
  • 若需要字段映射,可在映射表中新增字段映射规则列,通过动态内容解析后绑定到Copy Activity的映射设置。

4. 错误处理与监控

  • 在ForEach活动中开启逐行执行(避免并行冲突),或根据存储能力设置合理的并行度。
  • 添加失败触发的后续活动(例如将失败的映射记录写入日志表),方便后续排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 21:18:12