

# フォームのアタッチ
<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-get-asset-attachments"></a>

`GetAsset` を使用して、フォームと添付ファイルを含むアセットを取得します。

次のコマンドは、アセットを取得します。

```
aws glue get-asset --asset-identifier {{asset-id}}
```

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

アセットの 1 つの列にフォームをアタッチできます。

各列は `columns` 反復可能な形式の 1 つの項目で、列名を項目識別子として使用します。

次のコマンドは、フォームを特定の列にアタッチします。

```
aws glue put-attachment \
    --asset-identifier {{asset-id}} \
    --iterable-form-name columns \
    --item-identifier region \
    --attachment-name sensitivity \
    --form-type-id DataClassification \
    --content '{"classification":"PII","sensitivity":"HIGH"}'
```

フォームをアタッチしたら、 `SearchAssets` を使用してフォームの検索可能なフィールドでアセットを検出します。

## 列メタデータの取得
<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-attachment-item"></a>

1 つの列にアタッチされたフォームを削除するには、次のコマンドを実行します。反復可能なフォーム名、項目識別子、添付ファイル名を指定します。

```
aws glue delete-attachment \
    --asset-identifier {{asset-id}} \
    --iterable-form-name columns \
    --item-identifier region \
    --attachment-name sensitivity
```

### フォームタイプを削除するには
<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"}
    ]
}
```