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

如何将XML文件导入SQL Server?Azure Data Factory映射问题求助

解决Azure Data Factory导入JSON多条记录到SQL Server的问题

方案一:直接在ADF中解析嵌套JSON(无需修改Blob文件)

这是最简洁的处理方式,无需改动已存储的JSON文件,直接在复制活动中配置解析规则:

  1. 在复制活动的源设置里,选择JSON格式,找到JSON路径选项,填入$.counts.count,指定解析数组内的单条记录。
  2. 进入映射界面,ADF会自动识别数组内的字段结构,直接将id、direction、count、date映射到SQL Server表的对应列。
  3. 运行复制活动,即可将数组中所有记录批量导入SQL Server。

方案二:将Blob中的JSON转换为JSON Lines格式(单行对象)

如果需要将JSON改成你期望的单行对象格式(JSON Lines),可通过两种方式实现:

方式1:XML转JSON时直接生成JSON Lines

在XML转JSON的环节直接生成每行一个对象的格式,示例PowerShell脚本:

# 读取本地XML文件
$xmlContent = [xml](Get-Content -Path "input.xml" -Encoding UTF8)
# 遍历每个<count>节点,转换为压缩JSON字符串
$jsonLines = $xmlContent.counts.count | ForEach-Object {
    $_ | ConvertTo-Json -Compress
}
# 写入JSON Lines文件
$jsonLines | Out-File -Path "output.jsonl" -Encoding UTF8

# 上传到Azure Blob容器(需提前安装Az模块)
Connect-AzAccount
$storageAccount = Get-AzStorageAccount -ResourceGroupName "你的资源组名" -Name "你的存储账户名"
Set-AzStorageBlobContent -ContainerName "你的容器名" -File "output.jsonl" -Blob "output.jsonl" -Context $storageAccount.Context

方式2:用ADF数据流转换现有JSON文件

如果已有嵌套格式的JSON文件,用ADF数据流批量转换:

  • 源:连接Blob存储,选择目标JSON文件,格式设为JSON。
  • Flatten活动:添加Flatten转换,选择counts.count作为要展开的数组列,将数组中的每个元素拆分为单独记录。
  • Sink:连接Blob存储,格式选择JSON,勾选JSON Lines选项,设置目标Blob路径,运行数据流即可生成单行对象格式的JSON文件。

转换完成后,再用复制活动将JSON Lines文件导入SQL Server,ADF会自动识别每行作为一条记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:32:51