Azure Data Factory复制活动:合并JSON导入Azure SQL DB如何获取全量财务数据
解决Azure Data Factory复制JSON全量字段到SQL DB的问题
一、扁平JSON结构场景
如果合并后的JSON是无嵌套的扁平结构,问题大概率出在映射配置遗漏:
- 打开Copy Activity的「映射」选项卡,点击「导入架构」,确保所有财务字段都被自动导入。
- 检查SQL目标表的结构,必须提前创建包含所有财务字段的列,字段类型要和JSON对应(比如财务数值对应
decimal/money,字符串对应nvarchar)。 - 若之前是手动映射,直接补充所有缺失的财务字段与SQL列的映射关系。
二、嵌套JSON结构场景
如果财务信息嵌套在子对象/数组中(比如{"countryCode":"US","CompanyId":456,"finance":{"revenue":50000,"tax":8000}}),直接复制会丢失嵌套字段,需先拆解结构:
方法1:用Data Flow处理嵌套结构
- 创建Data Flow,源选择合并后的JSON文件。
- 添加「展开」转换,将嵌套的财务对象拆分为独立字段(比如把
finance.revenue提取为revenue列);如果是数组嵌套,用「扁平化」转换处理。 - 通过「Sink」组件连接SQL DB,导入完整架构并完成字段映射。
方法2:在Copy Activity中配置JSON路径
- 在Copy Activity的源设置里,指定「JSON路径表达式」,比如用
$.*提取所有顶层及嵌套字段,或精准指定路径$.countryCode, $.CompanyId, $.finance.revenue, $.finance.tax。 - 确保SQL表有对应列后,在映射选项卡导入完整架构并完成映射。
三、验证与排错
- 执行任务后查看ADF监控日志,核对读取/写入行数是否一致,排查类型不匹配、字段截断类错误。
- 直接检查源JSON文件的结构,确认所有财务字段的名称、类型,确保SQL表列定义完全兼容。
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

