View a markdown version of this page

中的托管数据实体 AWS 应用程序工作室 - AWS 应用程序工作室

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

中的托管数据实体 AWS 应用程序工作室

通常,您可以在 App Studio 中配置一个实体,使其与外部数据库表建立连接,并且必须使用连接的数据库表中的列来创建和映射每个实体字段。当您对数据模型进行更改时,必须更新外部数据库表和实体,并且必须重新映射更改后的字段。尽管这种方法灵活且支持使用不同类型的数据源,但它需要更多的前期规划和持续维护。

托管实体是一种实体,App Studio 为您管理整个数据存储和配置过程。当您创建托管实体时,将在关联 AWS 账户中创建相应的 DynamoDB 表。这确保了内部安全透明的数据管理 AWS。使用托管实体,您可以在 App Studio 中配置该实体的架构,相应的 DynamoDB 表也会自动更新。

在多个应用程序中使用托管实体

在 App Studio 应用程序中创建托管实体后,该实体便可以在其他 App Studio 应用程序中使用。通过提供单一的底层资源进行维护,这有助于为具有相同数据模型和架构的应用程序配置数据存储。

在多个应用程序中使用托管实体时,对相应 DynamoDB 表的所有架构更新都必须使用创建托管实体的原始应用程序进行。在其他应用程序中对实体所做的任何架构更改都不会更新相应的 DynamoDB 表。

托管实体限制

主键更新限制:创建实体主键名称或类型后,您无法对其进行更改,因为这是 DynamoDB 的破坏性更改,会导致现有数据丢失。

重命名列:在 DynamoDB 中重命名列时,实际上是在原始列保留原始数据的情况下创建了一个新列。原始数据不会自动复制到新列或从原始列中删除。您可以重命名托管实体字段,即系统名称,但您将无法访问原始列及其数据。重命名显示名称没有限制。

更改数据类型:尽管 DynamoDB 允许灵活地在创建表后修改列数据类型,但此类更改会严重影响现有数据以及查询逻辑和准确性。数据类型更改需要转换所有现有数据以符合新格式,这对于大型活动表来说很复杂。此外,在数据迁移完成之前,数据操作可能会返回意想不到的结果。您可以切换字段的数据类型,但现有数据不会迁移到新的数据类型。

排序列:DynamoDB 支持通过排序键检索已排序的数据。排序键必须与分区键一起定义为复合主键的一部分。限制包括强制排序键、仅限在一个分区内进行排序,以及不允许跨分区进行全局排序。需要对排序键进行仔细的数据建模,以避免分区过热。我们将不支持对预览里程碑进行排序。

加入:DynamoDB 不支持联接。表的设计是非规范化的,以避免昂贵的联接操作。为了对一对多关系进行建模,子表包含一个引用父表主键的属性。 Multi-table 数据查询涉及从父表中查找项目以检索详细信息。作为预览里程碑的一部分,我们将不支持托管实体的本机联接。作为一种解决方法,我们将引入一个自动化步骤,该步骤可以执行 2 个实体的数据合并。这将与单级查询非常相似。我们将不支持对预览里程碑进行排序。

环境阶段:我们将允许发布进行测试,但在两个环境中使用相同的托管存储