使用Amplify的Vue应用配置异常,如何撤销误操作的后端变更?
核心问题根源
amplify mock api生成的测试配置aws_appsync_dangerously_connect_to_http_endpoint_for_testing: true被意外通过amplify push同步到了云端AppSync服务,导致客户端持续使用测试端点规则,引发连接异常。
分步解决方法
1. 修正本地配置文件
直接编辑项目根目录下的aws-exports.js,删除"aws_appsync_dangerously_connect_to_http_endpoint_for_testing": true这一行,保存文件。
2. 重置云端AppSync配置
方式一:通过Amplify CLI操作
运行以下命令:
amplify update api
按照提示选择你的AppSync API,进入Configure additional settings选项,找到与测试端点相关的配置项,确认关闭强制启用HTTP测试端点的设置,完成配置更新后执行:
amplify push
将修正后的配置同步到云端。
方式二:通过AWS控制台操作
登录AWS控制台,进入AppSync服务页面,选中你的目标API,点击Settings标签页,找到Dangerously connect to HTTP endpoint for testing选项,取消勾选后保存设置。
3. 清除本地缓存并拉取正确配置
运行以下命令刷新本地配置缓存:
amplify env pull amplify codegen
amplify env pull会从云端拉取最新的正确配置,覆盖本地残留的错误缓存;amplify codegen会重新生成GraphQL相关文件,确保没有测试配置残留。
4. 验证修复效果
重启Vue开发服务器,通过浏览器开发者工具查看网络请求,确认AppSync连接使用HTTPS端点而非HTTP测试地址,同时验证DataStore数据同步、WebSocket连接是否恢复正常。
额外排查(若问题依旧)
- 检查项目中是否有自定义配置文件、环境变量硬编码了该测试配置项;
- 运行
amplify status查看本地与云端的配置差异,确保所有变更已同步。
内容的提问来源于stack exchange,提问作者idig

