

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exclusion des classes de stockage Amazon S3
<a name="aws-glue-programming-etl-storage-classes"></a>

Si vous exécutez des tâches ETL AWS Glue qui lisent des fichiers ou des partitions à partir d'Amazon Simple Storage Service (Amazon S3), vous pouvez exclure certains types de classe de stockage Amazon S3.

Les classes de stockage suivantes sont disponibles dans Amazon S3 :
+ `STANDARD` — pour le stockage à usage général des données fréquemment consultées.
+ `INTELLIGENT_TIERING` — pour les données ayant des modèles d'accès inconnus ou variables.
+ `STANDARD_IA` et `ONEZONE_IA` — pour les données à longue durée de vie, mais consultées moins fréquemment.
+ `GLACIER`, `DEEP_ARCHIVE` et `REDUCED_REDUNDANCY` — pour l'archivage à long terme et la conservation numérique.

Pour de plus amples informations, veuillez consulter [Classes de stockage Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) dans le *Guide du développeur Amazon S3*.

Les exemples de cette section montrent comment exclure les classes de stockage `GLACIER` et `DEEP_ARCHIVE`. Ces classes vous permettent de répertorier les fichiers, mais ne vous permettent pas de les lire, sauf s'ils sont restaurés. (Pour de plus amples informations, veuillez consulter [Restauration d'objets archivés](https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html) dans le *Guide du développeur Amazon S3*.)

En utilisant les exclusions de classe de stockage, vous pouvez garantir que vos tâches AWS Glue fonctionnent sur les tables ayant des partitions sur ces niveaux de classe de stockage. Sans exclusion, les tâches qui lisent les données de ces niveaux échouent avec l'erreur suivante : AmazonS3Exception: The operation is not valid for the object's storage class (AmazonS3Exception : l'opération n'est pas valide pour la classe de stockage de l'objet).

Vous pouvez filtrer les classes de stockage Amazon S3 de différentes façons dans AWS Glue.

**Topics**
+ [Exclusion des classes de stockage Amazon S3 lors de la création d'une image dynamique](#aws-glue-programming-etl-storage-classes-dynamic-frame)
+ [Exclusion de classes de stockage Amazon S3 d'une table Data Catalog](#aws-glue-programming-etl-storage-classes-table)

## Exclusion des classes de stockage Amazon S3 lors de la création d'une image dynamique
<a name="aws-glue-programming-etl-storage-classes-dynamic-frame"></a>

Pour exclure les classes de stockage Amazon S3 lors de la création d'une image dynamique, utilisez `excludeStorageClasses` dans `additionalOptions`. AWS Glue utilise automatiquement sa propre implémentation de `Lister` Amazon S3 pour répertorier et exclure les fichiers correspondant aux classes de stockage spécifiées.

Les exemples Python et Scala suivants montrent comment exclure les classes de stockage `GLACIER` et `DEEP_ARCHIVE` lors de la création d'une image dynamique.

Exemple Python :

```
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"]
    }
)
```

Exemple Scala :

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

## Exclusion de classes de stockage Amazon S3 d'une table Data Catalog
<a name="aws-glue-programming-etl-storage-classes-table"></a>

Vous pouvez spécifier les exclusions de classe de stockage à utiliser par une tâche AWS Glue ETL en tant que paramètre de table dans le catalogue de données AWS Glue. Vous pouvez inclure ce paramètre dans l'`CreateTable`opération à l'aide du AWS Command Line Interface (AWS CLI) ou par programmation à l'aide de l'API. Pour plus d'informations, voir [Structure du tableau](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Table) et [CreateTable](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateTable.html). 

Vous pouvez également spécifier des classes de stockage exclues sur la console AWS Glue.

**Pour exclure des classes de stockage Amazon S3 (console)**

1. Connectez-vous à la AWS Glue console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Dans le panneau de navigation de gauche, sélectionnez **Tables**.

1. Choisissez le nom de la table dans la liste, puis choisissez **Modifier la table**.

1. Dans **Propriétés de la table**, ajoutez **excludeStorageClasses** en tant que clé et **[\$1"GLACIER\$1",\$1"DEEP\$1ARCHIVE\$1"]** en tant que valeur.

1. Cliquez sur **Appliquer**.