如何将AppSync的修改同步到Amplify?本地拉取编译无效
解决Amplify本地无法同步AWS控制台修改的AppSync Schema和Resolver问题
排查修复步骤
正确执行
amplify pull
执行amplify pull时,选对目标环境,当提示是否覆盖本地文件时,选Yes(前提是本地没有未提交的自定义改动)。很多时候默认选了No,导致文件没更新。核对API标识是否匹配
打开本地amplify/backend/api/<你的API名称>/amplify-meta.json,确认里面的apiId和AWS控制台AppSync的API ID完全一致。要是不一样,说明本地关联的是另一个API,得重新关联。手动同步Schema
从AWS控制台AppSync的Schema页面复制最新内容,直接替换本地amplify/backend/api/<你的API名称>/schema.graphql的内容,之后执行amplify push(注意:这会把本地修改推回云端,确保云端的改动是你要保留的版本)。同步Resolver到本地
Amplify不会自动把云端自定义的Resolver同步到本地,因为Resolver可能包含云端专属配置。要同步的话:- 在AWS控制台AppSync的Resolver页面,导出每个Resolver的代码
- 把代码粘贴到本地
amplify/backend/api/<你的API名称>/resolvers目录下对应的文件里(文件不存在就手动建同名的) - 执行
amplify push保证本地和云端一致
清除Amplify缓存再拉取
先清缓存再重新拉取,执行以下命令:amplify cache clear amplify pull升级Amplify CLI版本
旧版本CLI可能存在同步bug,先查看当前版本:amplify --version,如果版本较老,升级到最新版:npm install -g @aws-amplify/cli
内容的提问来源于stack exchange,提问作者Dionisis G
相关产品推荐
相关产品推荐

