AWS Amplify DataStore的数据存储位置与机制是怎样的?
Amplify DataStore 存储机制说明
Amplify DataStore 不是单纯的 pub-sub 机制,默认场景下不需要你额外编写代码实现数据持久化写入,它的存储逻辑分本地、云端两层:
- 本地端存储:所有通过 DataStore 执行的增删改查操作会优先写入设备本地的持久化存储,Web 端默认用 IndexedDB,iOS、Android 原生端默认用 SQLite,本地存储的数据支持完全离线访问,断网状态下产生的操作变更会暂存在本地,网络恢复后自动排队同步。
- 云端存储:只要你在初始化 Amplify 项目时开通了云同步能力(完成后端资源的自动部署),DataStore 会自动处理本地和云端的双向实时同步,云端默认的持久化存储就是 Amazon DynamoDB,整个同步、写入DynamoDB的流程都已经封装完成,不需要你额外写对接代码。它底层用 AppSync 实现实时增量同步的 pub/sub 传输,这部分只是同步通道的实现,不是 DataStore 的全部能力。
- 自定义存储扩展:只有当你需要把数据同步到 DynamoDB 之外的其他存储服务时,才需要额外开发逻辑,比如配置 DynamoDB 流触发 Lambda 函数做数据转存,常规使用场景下不需要额外写持久化相关的代码。
如果你初始化项目时选择纯本地使用模式、不开通云同步,数据就只会存在设备本地存储中,不会上传到云端。
内容的提问来源于stack exchange,提问作者nasiphi vinqishe
相关产品推荐
相关产品推荐

