

# フォームのアタッチ
<a name="catalog-metadata-forms"></a>

**注記**  
ビジネスコンテキストとセマンティック検索は AWS Glue のプレビューであり、変更される可能性があります。

再利用可能な構造化スキーマテンプレートであるフォームタイプを定義することで、メタデータを標準化できます。その後、これらのフォームのインスタンスをアセットにアタッチすることで、スキーマを入力できます。

## フォームタイプの定義
<a name="catalog-metadata-forms-defining"></a>

フォームタイプは、Smithy IDL 構文を使用してスキーマを定義します。名前は大文字で始める必要があります。

```
structure DataResidency {
    region: String
    complianceFramework: String
    retentionDays: Integer
}
```

### フォームタイプを作成するには
<a name="catalog-metadata-forms-put-form-type"></a>

`PutFormType` を使用してフォームタイプを作成または更新します。

```
aws glue put-form-type \
    --name DataResidency \
    --schema 'structure DataResidency {
    region: String
    complianceFramework: String
    retentionDays: Integer
}'
```

出力の例:

```
{
    "Id": "DataResidency",
    "Name": "DataResidency"
}
```

### フォームタイプを取得するには
<a name="catalog-metadata-forms-get-form-type"></a>

```
aws glue get-form-type --identifier DataResidency
```

## アセットへのフォームのアタッチ
<a name="catalog-metadata-forms-attaching"></a>

### フォームをアセットにアタッチするには
<a name="catalog-metadata-forms-put-attachment"></a>

`PutAttachment` をアセット識別子、アタッチメント名、フォームタイプ ID、およびスキーマに準拠した JSON コンテンツとともに使用します。

```
aws glue put-attachment \
    --asset-identifier {{asset-id}} \
    --attachment-name residencyInfo \
    --form-type-id DataResidency \
    --content '{"region":"us-east-1","complianceFramework":"SOC2","retentionDays":730}'
```

## 列メタデータの取得
<a name="catalog-metadata-forms-retrieving-columns"></a>

### アセットの列を一覧表示するには
<a name="catalog-metadata-forms-list-iterable"></a>

```
aws glue list-iterable-forms \
    --asset-identifier {{asset-id}} \
    --iterable-form-name columns \
    --max-results 20
```

### フォームを含む特定の列を取得するには
<a name="catalog-metadata-forms-batch-get"></a>

`BatchGetIterableForms` を使用して、1 つのリクエストで列とアタッチされたフォームを取得します。

```
aws glue batch-get-iterable-forms \
    --asset-identifier {{asset-id}} \
    --iterable-form-name columns \
    --item-identifiers region email
```

## アタッチメントとフォームタイプの削除
<a name="catalog-metadata-forms-deleting"></a>

### アタッチメントを削除するには
<a name="catalog-metadata-forms-delete-attachment"></a>

```
aws glue delete-attachment \
    --asset-identifier {{asset-id}} \
    --attachment-name residencyInfo
```

### フォームタイプを削除するには
<a name="catalog-metadata-forms-delete-form-type"></a>

フォームタイプは、アセットタイプによってまだ参照されている場合、削除できません。

```
aws glue delete-form-type --identifier DataResidency
```

## フォームタイプの一覧表示
<a name="catalog-metadata-forms-listing"></a>

```
aws glue list-form-types --max-results 20
```

出力の例:

```
{
    "Items": [
        {"Id": "DataResidency", "Name": "DataResidency"},
        {"Id": "DataClassification", "Name": "DataClassification"}
    ]
}
```