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

Python调用GraphQL查询New Relic传参获取Synthetics监控GUID报错

解决方案

错误原因

你将variables变量块错误写入了GraphQL查询字符串内部,不符合New Relic GraphQL API的请求规范,因此触发语法报错。按照标准请求规则,查询字符串仅需包含操作定义和字段结构,变量需要作为独立参数和查询平级传入请求体。

修正后的代码

1. 拆分查询与变量

首先调整查询字符串,删除内部的variables块:

query = '''
query($query: String!) {
  actor {
    entitySearch(query: $query) {
      results {
        entities {
          guid
        }
      }
    }
  }
}
'''

2. 调整API调用参数

将变量作为variables字段独立放到请求的JSON参数中:

my_response = requests.get(
    url=my_url,
    headers=header,
    json={
        "query": query,
        "variables": {
            "query": "name LIKE 'MYMONITORNAME'"
        }
    }
)

可选优化

如果你的监控名称是完全匹配,可将查询条件改为"name = 'MYMONITORNAME'",既可以提升查询效率,也能避免LIKE模糊匹配到无关实体。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:15:03