

# Consultar os objetos restaurados do Amazon Glacier
<a name="querying-glacier"></a>

É possível usar o Amazon Athena para consultar os objetos restaurados das [classes de armazenamento do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html#sc-glacier) do Amazon Glacier Flexible Retrieval (antigo Glacier) e do Amazon Glacier Deep Archive. É necessário habilitar esse recurso com base em tabelas. Se você não habilitar o atributo em uma tabela antes de executar a consulta, o Athena ignorará todos os objetos do Amazon Glacier Flexible Retrieval e do Amazon Glacier Deep Archive dessa tabela durante a execução da consulta. 

## Condições e limitações
<a name="querying-glacier-considerations-and-limitations"></a>
+  A consulta de objetos restaurados do Amazon Glacier é compatível apenas com a versão 3 do mecanismo do Athena. 
+  O atributo é compatível somente com tabelas do Apache Hive. 
+  É necessário restaurar seus objetos antes de consultar os dados; o Athena não restaura objetos para você. 

## Configurar uma tabela para usar objetos restaurados
<a name="querying-glacier-configuring-a-table-to-use-restored-objects"></a>

 Para configurar sua tabela do Athena de modo a incluir objetos restaurados em suas consultas, é necessário definir a propriedade de tabela `read_restored_glacier_objects` como `true`. Para fazer isso, você pode usar o editor de consultas do Athena ou o console do AWS Glue. Você também pode usar a [CLI do AWS Glue](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/update-table.html), a [API do AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-UpdateTable) ou o [SDK do AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/sdk-general-information-section.html). 

### Usar o editor de consultas do Athena
<a name="querying-glacier-using-the-athena-query-editor"></a>

 No Athena, você pode usar o comando [ALTER TABLE SET TBLPROPERTIES](alter-table-set-tblproperties.md) para definir a propriedade da tabela, como no exemplo a seguir. 

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

### Usar o console do AWS Glue
<a name="querying-glacier-using-the-aws-glue-console"></a>

 Edite a tabela no console do AWS Glue e realize as seguintes etapas para adicionar a propriedade de tabela `read_restored_glacier_objects`. 

**Para configurar as propriedades da tabela no console do AWS Glue**

1. Faça login no Console de gerenciamento da AWS e abra o console do AWS Glue em [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Execute um destes procedimentos:
   + Escolha **Ir para catálogo de dados**.
   + No painel de navegação, escolha **Tabelas do catálogo de dados**.

1. Na página **Tabelas**, na lista de tabelas, escolha o link para a tabela que você deseja editar.

1. Selecione **Actions** (Ações), **Edit** (Editar).

1. Na página **Editar tabela**, na seção **Propriedades da tabela**, adicione o par de chave-valor a seguir.
   + Em **Chave**, adicione `read_restored_glacier_objects`.
   + Em **Valor**, insira `true`.

1. Escolha **Salvar**.

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

 Na AWS CLI, você pode usar o comando [update-table](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/update-table.html) do AWS Glue e seu argumento `--table-input` para redefinir a tabela e, ao fazer isso, adicionar a propriedade `read_restored_glacier_objects`. No argumento `--table-input`, use a estrutura `Parameters` para especificar a propriedade `read_restored_glacier_objects` e o valor de `true`. O argumento para `--table-input` não deve ter espaços e deve usar barras invertidas como escape das aspas duplas. No exemplo a seguir, substitua {{my\_database}} e {{my\_table}} pelos nomes de seu banco de dados e tabela.

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

**Importante**  
O comando `update-table` do AWS Glue funciona no modo de substituição, o que significa que ele substitui a definição da tabela existente pela nova definição especificada pelo parâmetro `table-input`. Por esse motivo, não se esqueça de especificar também todos os campos que deseja que estejam em sua tabela no parâmetro `table-input` ao adicionar a propriedade `read_restored_glacier_objects`. 