Amplify Datastore配置下能否关闭AWS AppSync仅本地运行?
关闭AWS AppSync纯本地运行Amplify Datastore的实现方案
完全可行。通过调整Datastore的初始化参数,就可以彻底切断AppSync云端同步链路,让Datastore仅运行在本地存储引擎上,解决开发阶段反复执行amplify push等待云端资源更新的耗时问题。
具体操作步骤
改造Datastore初始化逻辑
不要使用自动生成的云端配置完成Amplify全局初始化,那套逻辑会默认加载AppSync同步规则。可以单独引入Datastore模块,手动指定关闭同步的配置参数,核心是设置syncEnabled: false强制跳过所有云端同步流程。
参考配置写法:import { DataStore } from 'aws-amplify'; import { schema } from './models'; DataStore.configure({ schema, syncEnabled: false, });注意不要在项目入口处执行全局的
Amplify.configure(aws-exports配置对象),否则AppSync的端点配置会被自动注入,即使设置了syncEnabled: false,依然可能触发不必要的后台连接尝试。清理本地残留同步元数据
如果之前是在带AppSync同步的环境下开发,第一次切换到纯本地模式前,可以在调试入口临时执行一次DataStore.clear()操作,清除本地存储中残留的同步队列、增量同步版本号等元数据,避免后台任务反复尝试连接云端端点。实现双模式快速切换
如果后续需要临时切回带云端同步的调试模式,只需要把初始化逻辑改回全局加载aws-exports.js的配置,去掉手动设置的syncEnabled: false参数即可。整个调整过程不需要改动任何云端资源,也就不需要执行amplify push。
注意事项
- 纯本地模式下所有数据仅保存在设备本地的存储引擎中,清除应用缓存、重装应用都会导致数据丢失,不会触发云端备份,仅适合开发调试阶段使用,不要直接部署到生产环境。
- 关闭同步后,Datastore的所有读写操作都不需要依赖网络,响应速度会比开启同步时提升明显,调试效率更高。
- 纯本地模式下依然可以正常使用Datastore的所有本地能力,包括模型校验、查询过滤、实时订阅、关系型数据关联查询等,和开启同步时的本地操作体验完全一致。
内容的提问来源于stack exchange,提问作者Chuender
相关产品推荐
相关产品推荐

