Amazon Amplify GraphQL API_KEY调用仅返回_deleted项,如何配置公开读权限?
问题解决步骤
你遇到的核心问题是对Amplify GraphQL的@auth规则理解有误,加上缺少API Key模式的配套配置,导致仅返回_deleted条目。以下是需要补充的配置:
修正
@auth权限规则
Amplify中allow: public指的是已认证用户,而非真正的公开访问。要实现未认证用户(公开)可读取数据,需将规则修改为:type Garden @model @auth(rules: [{allow: unauthenticated, operations: [read]}]) { # 你的字段定义 }启用API Key认证模式
确保你的GraphQL API已开启API Key认证:- 运行
amplify update api,选择目标GraphQL API - 选择"Edit auth settings",勾选"API key"作为认证模式之一
- 完成配置后,运行
amplify push部署变更
- 运行
验证API Key有效性
确认你使用的authToken是正确的API Key:- 可通过Amplify控制台进入对应API的设置页面查看
- 或运行
amplify status,在API模块下获取当前有效的API Key - 注意默认API Key有有效期,若过期需生成新的API Key
重新部署后端
修改schema或认证配置后,必须执行amplify push,确保所有变更同步到云端。
内容的提问来源于stack exchange,提问作者Flummox uses codidact.com
相关产品推荐
相关产品推荐

