Amplify推送失败:API Key未找到,求助删除未使用API Key
解决Amplify切换AppSync认证方式后API Key未找到的错误及删除方法
检查本地Amplify配置文件
- 打开
amplify/backend/api/<你的API名称>/parameters.json,删掉里面所有和apiKey相关的配置项。 - 查看
amplify/backend/api/<你的API名称>/transform.conf.json,确认authType已经设为AMAZON_COGNITO_USER_POOLS,清理掉任何残留的API Key相关配置。
- 打开
清理云端残留的API Key资源
- 登录AWS控制台,进入AppSync服务找到对应API。
- 左侧菜单选设置,在API Key区域删掉所有没用的API Key。
- 进入CloudFormation控制台,找到Amplify对应的API栈(一般命名是
amplify-<你的应用名>-<环境名>-<数字>-api-<API名称>),检查资源列表里有没有AWS::AppSync::ApiKey类型的资源,有的话直接手动删除(删之前确认确实没用了)。
重新推送配置
- 在项目根目录运行
amplify push,如果还报错,先跑amplify pull同步云端最新配置,再重新推送。 - 要是问题还在,运行
amplify api update,重新确认API认证方式是User Pool,保存后再推送。
- 在项目根目录运行
极端情况处理(前面步骤都没用的话)
- 备份
amplify/backend/api目录下的API配置文件。 - 运行
amplify api remove删掉当前API,重新创建API并配置User Pool认证,再把之前备份的schema等配置导回去。
- 备份
内容的提问来源于stack exchange,提问作者amineRd
相关产品推荐
相关产品推荐

