

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# マネージド型スキーマ
<a name="schemas_managed"></a>

Cloud Directory は、マネージド型スキーマを使用して、迅速なアプリケーション開発を容易にします。マネージド型スキーマにより、ディレクトリを作成し、そのディレクトリからより速いペースでオブジェクトの作成と取得を開始できます。詳細については、「[ディレクトリを作成する](how_to_manage_directory_create.md)」を参照してください。

現在、`QuickStartSchema` と呼ばれる 1 つのマネージド型スキーマがあります。[型付きリンク](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` で、異なる 2 つのスタイルがあります。

### 静的なファセット
<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`

管理スキーマ、動的ファセット、バリアントデータ型の詳細、およびユースケースの例については、[AWS マネージド型スキーマを使用してアプリケーションを迅速に Amazon Cloud Directory で開発する方法](https://aws.amazon.com/blogs/database/rapidly-develop-applications-on-amazon-cloud-directory-with-managed-schema/)を Amazon Cloud Directory ブログでご覧ください。