如何从无参数的GraphQL查询pullUserData获取数据?
问题分析与解决建议
核心问题定位
你遇到的Lambda:Unhandled + Unable to parse event错误,本质是后端Lambda处理该查询时无法正确解析传入的事件数据——你的查询{ pullUserData { __typename } }完全符合Schema要求,和GraphQL语法本身无关。
具体排查步骤
- 检查请求身份上下文:既然无参数的
pullUserData能返回UserData,大概率是通过请求上下文识别用户的。去项目里找其他调用这个查询的代码,看是否携带了特定请求头(比如Authorization)或AWS身份凭证(比如Cognito Token),测试时原样复制这些信息。 - 查看Lambda CloudWatch日志:登录AWS控制台找到对应的Lambda函数,查看CloudWatch日志里的
Unable to parse event相关条目,对比正常请求和你的测试请求的event结构差异,就能找到缺失的关键数据。 - 核对Lambda实现与Schema:有可能离职人员写的Lambda代码里,期望从event的非GraphQL字段(比如
requestContext、自定义请求头)获取用户标识,但没更新Schema。直接看Lambda的处理代码,找解析event的逻辑,确认需要哪些额外数据。 - 模拟真实请求环境:用Postman或GraphiQL测试时,完全复刻项目中正常请求的所有请求头和身份信息,不要用匿名请求。
总结
这个问题不是GraphQL语法错误,而是后端Lambda依赖请求上下文数据,你的测试请求缺少这些数据才导致解析失败。优先排查请求身份信息和Lambda日志,就能快速解决问题。
内容的提问来源于stack exchange,提问作者Wesley Williams
相关产品推荐
相关产品推荐

