

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

# 連接表單
<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>

您可以將表單連接至資產的單一資料欄。

每個資料欄都是可`columns`重複格式的單一項目，其資料欄名稱為項目識別符。

下列命令會將表單連接至特定資料欄：

```
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` 在單一請求中擷取資料欄和連接的表單。

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

若要移除連接至單一資料欄的表單，請執行下列命令。傳遞可重複的表單名稱、項目識別符和附件名稱：

```
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"}
    ]
}
```