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

Azure Data Factory Web源如何正确配置使用requestBody传参?

根因说明

Copy Data组件调用HTTP接口的默认逻辑和Web组件完全不同:

  • Web组件发POST请求时,会自动给请求添加Content-Type: application/json请求头,同时自动把你填入Body的内容序列化为标准JSON结构化payload
  • Copy Data组件作为通用数据复制组件,默认不会自动添加JSON格式请求头,会把你填入Request body的内容按application/x-www-form-urlencoded格式编码传输,哪怕你肉眼看到填的是JSON结构,实际发出去的内容格式和Logic App HTTP触发器的JSON解析预期不匹配,触发器自然无法识别参数、完成schema解析。
常见配置错误点
  • 直接照搬Web组件的Body配置逻辑,没有给Copy Data的数据源请求显式指定JSON格式的Content-Type头
  • 填Request body时给整段JSON加了外层引号,或者用动态表达式时错误调用@string()把JSON对象转成了转义字符串,Logic App收到的是纯文本而非结构化JSON对象,无法触发参数自动解析
  • 部分场景下误把参数拼到了URL query里,同时Body留空,Logic App POST触发器默认不会从query里读你预期的Body参数
正确配置步骤
  1. 打开Copy Data活动的源配置,找到对应Logic App数据源的链接服务配置,在「额外请求头」配置项中新增固定头:
    • 键:Content-Type
    • 值:application/json
  2. 回到源配置的Request body输入区域,硬编码参数时直接填入标准JSON结构,不要给整段内容加外层引号,示例如下:
{
  "targetGroup": "AAD_Security_Users",
  "syncScope": "all",
  "pageSize": 500
}
  1. 如果用动态表达式拼接参数,不要用@string()包裹JSON结构,用@json()包裹拼接逻辑,确保最终输出是结构化JSON而非转义文本
  2. 配置完成后先触发一次数据预览,同时打开Logic App的运行历史查看触发器原始输入:如果传入的参数字段直接出现在触发器body节点下,没有被包裹在$content转义字段里,就说明传参正常,后续解析和输出都会和Web组件调用效果一致。

避坑提醒:不需要把POST改成GET,GET场景下Logic App HTTP触发器只会解析URL后的query参数,完全不会读取请求Body内容,和你当前的场景不匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:31:16