

# Anexar formulários
<a name="catalog-metadata-forms"></a>

**nota**  
O contexto de negócios e a pesquisa semântica estão em demonstração para o AWS Glue e estão sujeitos a alterações.

Você pode padronizar os metadados definindo os tipos de formulários, que são modelos de esquema estruturados e reutilizáveis. O esquema pode ser preenchido em seguida mediante a anexação das instâncias desses formulários aos ativos.

## Definir tipos de formulários
<a name="catalog-metadata-forms-defining"></a>

Um tipo de formulário define o esquema usando a sintaxe Smithy IDL. Os nomes têm de começar com uma letra maiúscula.

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

### Para criar um tipo de formulário
<a name="catalog-metadata-forms-put-form-type"></a>

Use `PutFormType` para criar ou atualizar um tipo de formulário.

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

Resultado do exemplo:

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

### Para recuperar um tipo de formulário
<a name="catalog-metadata-forms-get-form-type"></a>

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

## Anexar formulários aos ativos
<a name="catalog-metadata-forms-attaching"></a>

### Para anexar um formulário a um ativo
<a name="catalog-metadata-forms-put-attachment"></a>

Use `PutAttachment` com o identificador do ativo, o nome do anexo, a ID do tipo de formulário e o conteúdo JSON de acordo com o esquema.

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

## Recuperar metadados da coluna
<a name="catalog-metadata-forms-retrieving-columns"></a>

### Para listar as colunas de um ativo
<a name="catalog-metadata-forms-list-iterable"></a>

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

### Para recuperar colunas específicas com seus formulários
<a name="catalog-metadata-forms-batch-get"></a>

Use `BatchGetIterableForms` para recuperar as colunas e os formulários anexados em uma única solicitação.

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

## Excluir anexos e tipos de formulário
<a name="catalog-metadata-forms-deleting"></a>

### Para excluir um anexo
<a name="catalog-metadata-forms-delete-attachment"></a>

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

### Para excluir um tipo de formulário
<a name="catalog-metadata-forms-delete-form-type"></a>

Não é possível excluir um tipo de formulário que ainda seja referenciado por um tipo de ativo.

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

## Lista de tipos de formulário
<a name="catalog-metadata-forms-listing"></a>

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

Resultado do exemplo:

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