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

如何用Azure Data Factory按每批2条批量POST JSON数据至REST API

解决JSON分批POST到REST API(每批最多2条)的方案

步骤1:用Lookup活动读取完整JSON数组

  • 配置Lookup活动指向目标JSON文件,关闭First row only选项,确保读取整个数组,输出结构示例:
    {
      "value": [
        {"name": "sa","salary": 1000,"age": 10},
        {"name": "sb","salary": 2000,"age": 20},
        ...
      ]
    }
    

步骤2:计算总批数并存储到变量

  • 添加Set Variable活动,变量类型选Int,变量名设为totalBatches,值用以下表达式计算:
    @ceil(length(activity('Lookup JSON').output.value) / 2)
    
    该表达式会根据总记录数自动算出需要拆分的批次数(比如13条记录会生成7批)。

步骤3:用ForEach循环遍历每一批

  • 添加ForEach活动,设置Items为:
    @range(0, variables('totalBatches'))
    
    这会生成从0到totalBatches-1的数字序列,对应每一批的索引。
  • 若API不支持并行请求,开启ForEach的Sequential选项。

步骤4:在循环内截取批次数据并POST

  • 在ForEach内部添加Web Activity:
    • 请求方法选POST,填写API的目标URL。
    • 请求体(Body)用以下表达式截取当前批次的2条记录:
      @take(skip(activity('Lookup JSON').output.value, item()*2), 2)
      
      表达式说明:
      • skip(..., item()*2):跳过前面item()*2条记录,定位到当前批次的起始位置
      • take(..., 2):从起始位置取最多2条记录(最后一批若总记录数为奇数,会自动取剩余的1条)
    • 根据API要求配置请求头(比如Content-Type: application/json)。

验证效果

运行管道后,查看每个Web Activity的请求体,确认每批最多包含2条记录,最后一批(若存在)会自动适配剩余记录数。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 16:50:22