

# Excluir classes de armazenamento do Amazon S3
<a name="aws-glue-programming-etl-storage-classes"></a>

Se você estiver executando trabalhos de ETL do AWS Glue que leiam arquivos ou partições do Amazon Simple Storage Service (Amazon S3), poderá excluir alguns tipos de classe de armazenamento do Amazon S3.

As seguintes classes de armazenamento estão disponíveis no Amazon S3:
+ `STANDARD`: para armazenamento de uso geral de dados acessados com frequência.
+ `INTELLIGENT_TIERING`: para dados com padrões de acesso desconhecidos ou inconstantes.
+ `STANDARD_IA` e `ONEZONE_IA`: para dados de longa duração, mas acessados com menos frequência.
+ `GLACIER`, `DEEP_ARCHIVE` e `REDUCED_REDUNDANCY`: para arquivamento de longo prazo e preservação digital.

Para obter mais informações, consulte [Classes de armazenamento do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) no *Guia do desenvolvedor do Amazon S3*.

Os exemplos nesta seção mostram como excluir as classes de armazenamento `GLACIER` e `DEEP_ARCHIVE`. Essas classes permitem que você liste arquivos, mas elas não permitem que você leia os arquivos, a menos que sejam restaurados. (Para obter mais informações, consulte [Restaurar objetos arquivados](https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html) no *Guia do desenvolvedor do Amazon S3*).

Ao usar exclusões de classe de armazenamento, você pode garantir que seus trabalhos do AWS Glue funcionarão em tabelas com partições entre esses níveis de classe de armazenamento. Sem exclusões, os trabalhos que leem dados desses níveis falham com o seguinte erro: AmazonS3Exception: The operation is not valid for the object's storage class (AmazonS3Exception: a operação não é válida para a classe de armazenamento do objeto).

Há diferentes maneiras de filtrar classes de armazenamento do Amazon S3 no AWS Glue.

**Topics**
+ [Excluir classes de armazenamento do Amazon S3 ao criar um quadro dinâmico](#aws-glue-programming-etl-storage-classes-dynamic-frame)
+ [Excluir classes de armazenamento do Amazon S3 em uma tabela do Data Catalog](#aws-glue-programming-etl-storage-classes-table)

## Excluir classes de armazenamento do Amazon S3 ao criar um quadro dinâmico
<a name="aws-glue-programming-etl-storage-classes-dynamic-frame"></a>

Para excluir classes de armazenamento do Amazon S3 ao criar um quadro dinâmico, use `excludeStorageClasses` em `additionalOptions`. O AWS Glue usa automaticamente sua própria implementação do `Lister` do Amazon S3 para listar e excluir arquivos correspondentes às classes de armazenamento especificadas.

Os exemplos de Python e Scala a seguir mostram como excluir as classes de armazenamento `GLACIER` e `DEEP_ARCHIVE` ao criar um quadro dinâmico.

Exemplo de Python do:

```
glueContext.create_dynamic_frame.from_catalog(
    database = "my_database",
    tableName = "my_table_name",
    redshift_tmp_dir = "",
    transformation_ctx = "my_transformation_context",
    additional_options = {
        "excludeStorageClasses" : ["GLACIER", "DEEP_ARCHIVE"]
    }
)
```

Exemplo do Scala:

```
val* *df = glueContext.getCatalogSource(
    nameSpace, tableName, "", "my_transformation_context",  
    additionalOptions = JsonOptions(
        Map("excludeStorageClasses" -> List("GLACIER", "DEEP_ARCHIVE"))
    )
).getDynamicFrame()
```

## Excluir classes de armazenamento do Amazon S3 em uma tabela do Data Catalog
<a name="aws-glue-programming-etl-storage-classes-table"></a>

É possível especificar exclusões de classe de armazenamento a serem usadas por um trabalho de ETL do AWS Glue como um parâmetro de tabela no catálogo de dados do Glue da AWS. Você pode incluir esse parâmetro na operação `CreateTable` usando a AWS Command Line Interface (AWS CLI) ou de forma programática com a API. Para obter mais informações, consulte [Estrutura de tabelas](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Table) e [CreateTable](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateTable.html). 

Você também pode especificar classes de armazenamento excluídas no console do AWS Glue.

**Como excluir classes de armazenamento do Amazon S3 (console)**

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. No painel de navegação à esquerda, escolha **Tables (Tabelas)**.

1. Escolha o nome da tabela na lista e, depois, escolha **Edit table (Editar tabela)**.

1. Em **Table properties (Propriedades da tabela)**, adicione **excludeStorageClasses** como uma chave e **[\\"GLACIER\\",\\"DEEP\_ARCHIVE\\"]** como um valor.

1. Escolha **Aplicar**.