

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 受管結構描述
<a name="schemas_managed"></a>

Cloud Directory 讓快速開發應用程式變得更加容易，藉此使用受管結構描述。透過受管結構描述，您就能建立目錄，然後更快速地從該目錄開始建立和擷取物件。如需詳細資訊，請參閱 [建立您的目錄](how_to_manage_directory_create.md)。

本服務目前擁有一個受管結構描述，稱為 `QuickStartSchema`。您可以利用[類型連結](directory_objects_links.md#directory_objects_links_typedlink)等架構，藉此建置豐富的階層式資料模型，並建立各物件間的關係。接著，您便能周遊這些階層，進而在資料中查詢任何資訊。

`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);
```

## 面向樣式
<a name="schemas_managed_facet_styles"></a>

本服務擁有兩種不同的樣式 (`Static`​ 和 `Dynamic`)，可供您定義任何指定面向。

### 靜態面向
<a name="schemas_managed_static_facets"></a>

靜態面向是最佳選擇，當您擁有資料模型的所有細節 (如屬性及其資料類型的清單)，並且您還想定義屬性的限制條件 (如必要或唯一欄位)。Cloud Directory 會在您的物件建立或變更期間強制執行資料約束和規則檢查。

### 動態面向
<a name="schemas_managed_dynamic_facets"></a>

若您選擇使用動態面向，即可視需要彈性地變更屬性數量，或是變更屬性內存放的資料值。在建立或變更物件期間，Cloud Directory 不會強制執行任何資料限制和規則檢查。

一旦建立具有動態面向的結構描述，您就能定義建立物件時所需的任何屬性。Cloud Directory 會接受索引鍵/值組形式的屬性，並將其存放至提供的物件上。

您可以將動態面向新增至新的或現有的結構描述。此外，您也可以在單一結構描述內結合使用靜態和動態面向，進而在目錄內善用每種面向樣式的優點，從中獲益。

當您使用動態面向建立任何屬性時，系統即會將這些屬性建立為 `Variant`​ 資料類型。若要儲存定義為`Variant`資料類型，您可以使用 Cloud Directory 支援的任何基本資料類型值 (如`String`或`Binary`。日後，您也能將屬性值變更為另一種資料類型；系統並不會強制驗證資料。

您可以透過動態面向來定義下列類型的物件：
+ `NODE`
+ `LEAF_NODE`
+ `POLICY`

如需有關受管理的結構描述、動態 Facet 或變體資料類型的其他詳細資料，以及查看範例使用案例，請參閱[如何使用 AWS 受管結構描述，快速開發應 Amazon Cloud Directory 程式](https://aws.amazon.com/blogs/database/rapidly-develop-applications-on-amazon-cloud-directory-with-managed-schema/)在 Amazon Cloud Directory 部落格中。