AWS Amplify 使用重复信息创建多个 DynamoDB 表?
AWS Amplify creating multiple DynamoDB tables with duplicate information?
我正在使用 AWS Amplify、本地数据存储和云同步构建一个离线优先的移动应用程序。到目前为止,我一直在遵循文档,没有任何变化(我认为。)
到现在为止,我只有一个模型,让我们在Thing
中调用它。我注意到在 运行 amplify push
之后,我的环境包含的不是一个,而是两个 DynamoDB 表:
Thing-<app-id>-<env>
AmplifyDataStore-<app-id>-<env>
每当我保存一个 Thing
实体时,它似乎都冗余地保存在 两个 表中。这实际上使我的 DynamoDB 存储成本翻了一番。
这是否有合理的技术原因,或者有什么方法可以避免吗?还是我只是在某个地方犯了一个错误导致它持续出现两次?
假设您有 k
个模型,那么 Amplify DataStore 将提供 k + 1
table 个模型。您注意到的额外 table 称为“增量同步 table”。它用于存储自上次客户端与 AppSync 完全同步以来发生的增量更改。 Delta Sync table 在记录上携带一个短的 TTL,如果在 window 的时间内未使用,它们将被丢弃。
要了解有关 Delta Sync 和 DataStore 的更多信息,我推荐 Ed Lima 的 AWS AppSync offline reference architecture – powered by the Amplify DataStore。请特别参阅标有“Delta Sync table”的部分。“
”
资料来源:我是这个产品团队的一名工程师。
我正在使用 AWS Amplify、本地数据存储和云同步构建一个离线优先的移动应用程序。到目前为止,我一直在遵循文档,没有任何变化(我认为。)
到现在为止,我只有一个模型,让我们在Thing
中调用它。我注意到在 运行 amplify push
之后,我的环境包含的不是一个,而是两个 DynamoDB 表:
Thing-<app-id>-<env>
AmplifyDataStore-<app-id>-<env>
每当我保存一个 Thing
实体时,它似乎都冗余地保存在 两个 表中。这实际上使我的 DynamoDB 存储成本翻了一番。
这是否有合理的技术原因,或者有什么方法可以避免吗?还是我只是在某个地方犯了一个错误导致它持续出现两次?
假设您有 k
个模型,那么 Amplify DataStore 将提供 k + 1
table 个模型。您注意到的额外 table 称为“增量同步 table”。它用于存储自上次客户端与 AppSync 完全同步以来发生的增量更改。 Delta Sync table 在记录上携带一个短的 TTL,如果在 window 的时间内未使用,它们将被丢弃。
要了解有关 Delta Sync 和 DataStore 的更多信息,我推荐 Ed Lima 的 AWS AppSync offline reference architecture – powered by the Amplify DataStore。请特别参阅标有“Delta Sync table”的部分。“
”资料来源:我是这个产品团队的一名工程师。