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

自定义Lambda函数的GraphQL查询报“Syntax Error: Unexpected Name”错误求助

GraphQL查询定义报错:Syntax Error: Unexpected Name "getDashboardHeaderCount"

问题场景

我想要创建一个可触发Lambda函数的GraphQL查询,编写了如下schema.graphql文件,但出现「Syntax Error: Unexpected Name」错误,不清楚查询名称为何被判定为异常名称。

我的schema代码:

type GetDashboardHeaderCountOutput {
  instituteCnt: Int, 
  memberCnt: Int,
  tournamentCnt: Int
}

type Query {
  getDashboardHeaderCount: GetDashboardHeaderCountOutput #Line 84
  @function(name: "getDashboardHeaderCount-${env}")
  @auth(
    rules: [
      {
        allow: groups
        groups: ["AdminGroup"]
      }
    ]
  )
}

报错信息:

{
    "name": "GraphQLError",
    "classification": "ERROR",
    "options": {
        "message": "Syntax Error: Unexpected Name \"getDashboardHeaderCount\"."
    },
    "downstreamException": {
        "message": "Syntax Error: Unexpected Name \"getDashboardHeaderCount\".",
        "locations": [
            {
                "line": 84,
                "column": 3
            }
        ]
    },
    "link": "https://docs.amplify.aws/cli/project/troubleshooting/"
}

排查与解决方法

从报错位置(第84行)来看,问题大概率出在语法解析的上下文错误,而非字段名称本身,以下是具体排查方向:

  • 检查Query类型的前置语法:查看第84行之前的Query字段定义,确认是否存在未闭合的括号、缺失的逗号或语法错误,比如前一个字段没有正确结束,导致解析器无法识别当前字段名称。
  • 清除隐藏特殊字符:第84行可能存在全角空格、不可见控制字符等,导致解析失败。建议删除该行后手动重新输入字段定义。
  • 排查重复字段定义:检查整个schema文件,确认是否已经重复定义了getDashboardHeaderCount这个查询字段,重复定义会触发语法错误。
  • 验证指令语法:
    1. 先简化schema,移除@auth指令,仅保留字段和@function指令测试是否能正常解析。
    2. 如果简化后正常,再逐步添加@auth规则,注意对象字段的逗号格式(比如allow: groups后添加逗号),部分解析器对逗号的要求更严格:
      @auth(
        rules: [
          {
            allow: groups,
            groups: ["AdminGroup"]
          }
        ]
      )
      

内容的提问来源于stack exchange,提问作者Ham Dong Kyun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:02:33