托管架构 - Amazon Cloud Directory

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

托管架构

Cloud Directory 使您可以使用托管架构轻松快速地开发应用程序。借助托管架构,您可以创建一个目录并从该目录以更快的速度开始创建和检索对象。有关更多信息,请参阅 创建您的目录

目前,有一个称为 QuickStartSchema 的托管架构。您可以使用 类型化链接 等构造来构建丰富的分层数据模型并建立对象之间的关系。然后,您可以通过遍历该层次结构来查询数据中的任何信息。

QuickStartSchema 托管架构由以下 JSON 表示:

QuickStartSchema: { "facets": { "DynamicObjectFacet": { "facetStyle": "DYNAMIC" }, "DynamicTypedLinkFacet": { "facetAttributes": { "DynamicTypedLinkAttribute": { "attributeDefinition": { "attributeRules": {}, "attributeType": "VARIANT", "isImmutable": false }, "requiredBehavior": "REQUIRED_ALWAYS" } }, "identityAttributeOrder": [ "DynamicAttribute" ] } } }

QuickStartSchema ARN

QuickStartSchema 托管架构使用以下 ARN:

String QUICK_START_SCHEMA_ARN = "arn:aws:clouddirectory:::schema/managed/quick_start/1.0/001" ;

例如,您可以使用此 ARN 创建一个名为 ExampleDirectory 的目录,如下所示:

CreateDirectoryRequest createDirectoryRequest = new CreateDirectoryRequest() .withName("ExampleDirectory") // Directory name .withSchemaArn(QUICK_START_SCHEMA_ARN);

分面样式

您可以在任何给定分面定义两种不同的样式:StaticDynamic

静态分面

如果您拥有目录的数据模型的所有详细信息,如包含其数据类型的属性列表,并且您还希望定义必填字段或唯一字段等属性的约束条件,静态分面是最佳选择。Cloud Directory 将在创建或更改对象期间强制执行数据约束和规则检查。

动态分面

如果您需要灵活地更改属性数或更改要存储在属性内的数据值,您可以使用动态分面。在创建或更改对象期间,Cloud Directory 不会强制执行任何数据约束和规则检查。

在使用动态分面创建架构后,您可以定义在创建对象时所需的任何属性。Cloud Directory 将接受键/值对形式的属性并将其存储在提供的对象上。

您可以将动态分面添加到新架构或现有架构。也可以在单个架构中组合静态和动态分面,以便在目录内获得每个分面样式的优势。

在使用动态分面创建任何属性时,它们将创建为 Variant 数据类型。要存储定义为Variant数据类型,您可以使用 Cloud Directory 支持的任何基元数据类型的值,如String或者Binary。随着时间的推移,您还可以将该属性的值更改为其他数据类型。不实施数据验证。

您可以使用动态分面定义以下类型的对象:

  • NODE

  • LEAF_NODE

  • POLICY

有关托管架构、动态方面或变体数据类型的其他详细信息,以及查看示例使用案例,请参阅如何使用 AWS 托管架构在 Amazon Cloud Directory 上快速开发应用程序在 Amazon Cloud Directory 博客中。