

# Asociación de formularios
<a name="catalog-metadata-forms"></a>

**nota**  
El contexto empresarial y la búsqueda semántica se encuentran en una versión preliminar para AWS Glue, y están sujetos a cambios.

Los metadatos se pueden estandarizar al definir los tipos de formulario, que son plantillas de esquema estructuradas y reutilizables. Luego, dichos esquemas se pueden rellenar asociando instancias de estos formularios a los activos.

## Definición de tipos de formulario
<a name="catalog-metadata-forms-defining"></a>

Un tipo de formulario define el esquema mediante la sintaxis de Smithy IDL. Los nombres deben empezar con una letra mayúscula.

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

### Cómo crear un tipo de formulario
<a name="catalog-metadata-forms-put-form-type"></a>

Utilice `PutFormType` para crear o actualizar un tipo de formulario.

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

Ejemplo de código de salida:

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

### Cómo recuperar un tipo de formulario
<a name="catalog-metadata-forms-get-form-type"></a>

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

## Asociación de formularios a los activos
<a name="catalog-metadata-forms-attaching"></a>

### Cómo asociar un formulario a un activo
<a name="catalog-metadata-forms-put-attachment"></a>

Utilice `PutAttachment` con el identificador del activo, el nombre del anexo, el ID del tipo de formulario y el contenido JSON que se ajuste al 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}'
```

## Recuperación de metadatos de columna
<a name="catalog-metadata-forms-retrieving-columns"></a>

### Cómo consultar las columnas de un activo
<a name="catalog-metadata-forms-list-iterable"></a>

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

### Cómo recuperar columnas específicas con sus formularios
<a name="catalog-metadata-forms-batch-get"></a>

Utilice `BatchGetIterableForms` para recuperar columnas y formularios asociados en una sola solicitud.

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

## Eliminación de asociaciones y tipos de formulario
<a name="catalog-metadata-forms-deleting"></a>

### Para eliminar una asociación
<a name="catalog-metadata-forms-delete-attachment"></a>

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

### Cómo eliminar un tipo de formulario
<a name="catalog-metadata-forms-delete-form-type"></a>

No puede eliminar un tipo de formulario al que sigue haciendo referencia un tipo de activo.

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

## Consulta de tipos de formulario
<a name="catalog-metadata-forms-listing"></a>

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

Ejemplo de salida:

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