AWS Amplify添加API及Push/Pull报错问题求助
AWS Amplify API添加失败后Push报错的解决方法
问题现象
- 完成
amplify configure、amplify init后,执行amplify add api并设置:- 授权模式:API Key(默认,7天过期)
- 冲突检测:Disabled
- 执行
amplify add api时直接报错:There was an error adding the API resource. - 但
amplify status显示API资源被标记为待创建:┌──────────┬────────────────┬───────────┬───────────────────┐ │ Category │ Resource name │ Operation │ Provider plugin │ ├──────────┼────────────────┼───────────┼───────────────────┤ │ Api │ calorieexpoapp │ Create │ awscloudformation │ - 执行
amplify push时触发同步错误:- Fetching updates to backend environment: dev from the cloud. × There was an error pulling the backend environment dev. 🛑 The specified key does not exist. - AWS控制台可见应用已关联云端,但未生成任何API资源。
解决步骤
1. 清理本地错误的API记录
先移除本地标记的无效API资源:
amplify remove api calorieexpoapp
执行后运行amplify status确认API资源已从列表中移除。
2. 重置本地与云端的同步状态
修复本地状态与云端不一致的问题:
amplify env pull --restore
该命令会从云端拉取最新的环境配置,覆盖本地可能存在的错误状态缓存。
3. 重新添加API资源
重新执行API创建命令,确保配置过程无中断:
amplify add api
配置时注意:
- 确认选择的API类型(GraphQL/REST)符合需求
- 授权模式选择API Key时,确认过期时间设置正确
- 冲突检测保持Disabled(若无需使用DataStore)
4. 强制推送本地配置
若重新添加后推送仍失败,跳过状态检查直接推送:
amplify push --force
5. 更新Amplify CLI到最新版本
旧版本CLI可能存在已知bug,更新后重试:
npm install -g @aws-amplify/cli
额外排查方向
- 检查本地
amplify/backend/api/calorieexpoapp目录是否存在损坏的配置文件,若有直接删除该目录后再执行移除命令。 - 确认当前AWS账号拥有CloudFormation、AppSync(若用GraphQL)的资源创建权限。
内容的提问来源于stack exchange,提问作者benwl
相关产品推荐
相关产品推荐

