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

Azure Data Factory:将Web活动响应数组用作复制数据的数据源

将Web活动的嵌套JSON响应写入Azure SQL Server

问题描述

已通过Web活动获取到嵌套结构的JSON响应,需要将数据保存到Azure SQL Server,但不知道如何把该Web活动的响应作为数据源使用。JSON结构如下:

{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
        "ColData": {
            "type": "array",
            "items": {
            "type": "object",
            "properties": {
                "value": {
                "type": "string"
                },
                "id": {
                "type": "string"
                }
            },
            "required": [
                "value"
            ]
            }
        },
        },
    }
}

解决方案

1. 暂存Web活动响应(可选)

如果数据量不大,可通过Set Variable活动将Web活动的响应存储到数组类型变量中,后续步骤直接引用该变量。变量类型选Array,值设为@activity('你的Web活动名称').output。

2. 扁平化嵌套JSON

由于你的JSON是两层数组嵌套(外层数组+每个元素内的ColData数组),必须先扁平化才能写入SQL表:

  • 用Data Flow处理:
    • 添加Source,选择Inline数据源,通过数据流参数传入@activity('你的Web活动名称').output作为输入。
    • 用Flatten转换先展开外层数组,再针对ColData数组做二次Flatten,将嵌套的value和id拆为平级字段。
    • 最后用Sink连接Azure SQL Server,完成字段映射后写入数据。
  • 用Copy Activity处理:
    • 源选择Inline数据集,将@activity('你的Web活动名称').output作为数据源内容。
    • 在Mapping面板开启Import schemas,手动调整嵌套字段映射,把ColData中的value、id对应到SQL表的目标列;若层级复杂,建议先通过Data Flow处理再复制。

3. 引用Web活动响应作为数据源

所有后续活动中,均可通过表达式@activity('你的Web活动名称').output直接引用Web活动的输出结果作为数据源。

4. 写入SQL的注意事项

  • 确保SQL表字段类型与JSON中value、id的类型匹配(如均为字符串类型)。
  • 大数据量优先用Data Flow处理,性能更优;小数据量用Copy Activity加映射即可。
  • 若需逐条处理数据,可使用For Each活动遍历@activity('你的Web活动名称').output,循环内通过Copy Activity或存储过程活动写入单条数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 16:53:27