

# Consulta de objetos de Amazon Glacier restaurados
<a name="querying-glacier"></a>

Puede utilizar Athena para consultar objetos restaurados de las [clases de almacenamiento de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html#sc-glacier) de Amazon Glacier Flexible Retrieval (anteriormente Glacier) y Amazon Glacier Deep Archive. Debe habilitar esta capacidad por tabla. Si no habilita la característica en una tabla antes de ejecutar una consulta, Athena omite todos los objetos de Amazon Glacier Flexible Retrieval y Amazon Glacier Deep Archive de la tabla durante la ejecución de la consulta. 

## Condiciones y limitaciones
<a name="querying-glacier-considerations-and-limitations"></a>
+  La consulta de objetos de Amazon Glacier restaurados solo es compatible con la versión 3 del motor de Athena. 
+  La característica solo es compatible con las tablas de Apache Hive. 
+  Debe restaurar los objetos antes de consultar los datos; Athena no restaura los objetos en su nombre. 

## Configuración de una tabla para utilizar objetos restaurados
<a name="querying-glacier-configuring-a-table-to-use-restored-objects"></a>

 Para configurar una tabla de Athena de modo que incluya objetos restaurados en las consultas, debe establecer su propiedad de tabla `read_restored_glacier_objects` en `true`. Para ello, puede utilizar el editor de consultas de Athena o la consola de AWS Glue. También puede utilizar la [CLI de AWS Glue](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/update-table.html), la [API de AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-UpdateTable) o el [SDK de AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/sdk-general-information-section.html). 

### Uso del editor de consultas de Athena
<a name="querying-glacier-using-the-athena-query-editor"></a>

 En Athena, puede utilizar el comando [ALTER TABLE SET TBLPROPERTIES](alter-table-set-tblproperties.md) para establecer la propiedad de la tabla, como en el siguiente ejemplo. 

```
ALTER TABLE table_name SET TBLPROPERTIES ('read_restored_glacier_objects' = 'true')
```

### Uso de la consola de AWS Glue
<a name="querying-glacier-using-the-aws-glue-console"></a>

 En la consola de AWS Glue, realice los siguientes pasos para agregar la propiedad de tabla `read_restored_glacier_objects`. 

**Para configurar propiedades de tabla en la consola de AWS Glue**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS Glue en [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Realice una de las siguientes acciones siguientes:
   + Elija **Ir al catálogo de datos**.
   + En el panel de navegación, elija **Tablas del catálogo de datos**.

1. En la página **Tablas**, en la lista de tablas, elija el enlace de la tabla que desea editar.

1. Seleccione **Acciones**, **Editar la tabla**.

1. En la página **Editar tabla**, en la sección **Propiedades de la tabla**, agregue el siguiente par de clave-valor.
   + En **Clave**, añada `read_restored_glacier_objects`.
   + En **Valor**, introduzca `true`.

1. Seleccione **Save**.

### Utilizar AWS CLI
<a name="querying-glacier-using-the-aws-cli"></a>

 En la AWS CLI, puede utilizar el comando AWS Glue [update-table](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/update-table.html) y su argumento `--table-input` para redefinir la tabla y, al hacerlo, agregar la propiedad `read_restored_glacier_objects`. En el argumento `--table-input`, utilice la estructura `Parameters` para especificar la propiedad `read_restored_glacier_objects` y el valor de `true`. Tenga en cuenta que el argumento de `--table-input` debe tener espacios y utilizar barras invertidas para evitar las comillas dobles. En el siguiente ejemplo, sustituya {{my\_database}} y {{my\_table}} por el nombre de la base de datos y la tabla.

```
aws glue update-table \
   --database-name {{my_database}} \
   --table-input={\"Name\":\"{{my_table}}\",\"Parameters\":{\"read_restored_glacier_objects\":\"true\"}}
```

**importante**  
El comando `update-table` de AWS Glue funciona en modo de sobrescritura, lo que significa que reemplaza la definición de tabla existente por la nueva definición especificada por el parámetro `table-input`. Por este motivo, asegúrese de especificar también todos los campos que quiera que estén presentes en la tabla del parámetro `table-input` cuando añada la propiedad `read_restored_glacier_objects`. 