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

如何在ADF管道中为GraphQL查询传参至Azure Synapse专用SQL池?

解决ADF Copy活动调用带参数GraphQL API的无效JSON错误问题

核心问题原因

ADF中直接使用带换行的GraphQL查询作为请求体,或者参数绑定方式不符合JSON格式要求,导致触发"无效JSON"错误。

具体解决步骤

1. 配置ADF管道参数

在ADF管道中创建对应参数,比如命名为createdAtParam,数据类型选择字符串(匹配API要求的DateTimeString类型)。

2. 构造标准的GraphQL请求体

在Copy活动的REST源设置中,将请求方法设为POST,并按以下格式构造请求体(使用ADF动态内容绑定参数):

{
  "query": "query( $createdAt: DateTimeString ){ Trans( last: 10, filter: { CreatedAt_gte: $createdAt } ) { pageInfo { hasPreviousPage hasNextPage } edges { cursor node { invNumber subledgerId CreatedAt ModifiedAt } } } }",
  "variables": {
    "createdAt": "@pipeline().parameters.createdAtParam"
  }
}
  • 注意:将GraphQL查询转为单行字符串,避免JSON中出现未转义的换行符。如果需要保留查询格式,需将换行转义为\n,示例如下:
    {
      "query": "query( $createdAt: DateTimeString ){\n  Trans( last: 10, filter: { CreatedAt_gte: $createdAt } ) {\n    pageInfo {\n      hasPreviousPage\n      hasNextPage\n    }\n    edges {\n      cursor\n      node {\n        invNumber\n        subledgerId\n        CreatedAt\n        ModifiedAt\n      }\n    }\n  }\n}",
      "variables": {
        "createdAt": "@pipeline().parameters.createdAtParam"
      }
    }
    

3. 验证请求格式

  • 进入ADF调试模式,运行管道后查看Copy活动的请求体预览,确认参数已正确替换,且整个JSON结构合法。
  • 可将预览的JSON内容复制到JSON校验工具(如ADF内置的JSON编辑器),检查是否存在格式错误。

4. 额外注意事项

  • 确保createdAtParam的参数值符合API要求的时间格式,例如2024-01-01T00:00:00Z。
  • 确认API的身份验证配置(如Bearer Token)已正确添加到Copy活动的源设置中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:37:29