Amplify API GraphQL:AWS控制台查询报错‘Cannot read properties of undefined’
AWS私有GraphQL API查询报错排查:Cannot read properties of undefined (reading 'data')
可能的原因及解决办法
API权限配置问题
私有GraphQL API要求执行查询的IAM身份(用户/角色)具备对应访问权限:- 检查附加到身份的IAM Policy,确认包含针对目标API ARN的
appsync:GraphQL操作权限。 - 进入AppSync控制台的Settings页面,验证访问控制规则是否允许该身份访问,私有API默认依赖IAM授权,避免配置错误的拒绝策略。
- 检查附加到身份的IAM Policy,确认包含针对目标API ARN的
查询与Schema不匹配
确认查询语句和API定义的Schema一致:- 在AppSync控制台的Schema页面,检查
type Query下是否存在listData字段,以及其返回类型是否包含nextToken。 - 若Schema中未定义
listData或nextToken字段,查询会返回异常结构,导致控制台解析时找不到data属性,需修正Schema并重新部署。
- 在AppSync控制台的Schema页面,检查
API未完成部署
未部署的Schema不会生效:- 在Schema页面右上角确认状态为“已部署”,若显示“未部署”,点击部署按钮完成操作。
- 查看CloudWatch日志(控制台Monitoring页面),排查是否存在数据源连接失败、后端权限不足等问题,这类错误会导致API无法返回正常的
data结构。
控制台会话缓存异常
临时缓存问题可能导致控制台解析错误:- 刷新AppSync控制台页面,重新选择API后执行查询。
- 用AWS CLI验证查询是否正常:
若CLI返回正常结果,清除浏览器缓存后重试控制台操作即可。aws appsync start-graphql-execution --api-id 你的API_ID --query "query MyQuery { listData(limit: 10) { nextToken } }" --auth-type AWS_IAM
内容的提问来源于stack exchange,提问作者Cristal
相关产品推荐
相关产品推荐

