

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.

# Maintenance de S3 Tables
<a name="s3-tables-maintenance-overview"></a>

Amazon S3 propose des opérations de maintenance pour améliorer les performances de vos tables ou compartiments de table S3. La maintenance est effectuée au niveau du compartiment de table et de la table individuelle et comprend les éléments suivants :

**Maintenance au niveau du compartiment de table :**  
+ **Suppression des fichiers non référencés** : nettoie les fichiers orphelins afin d'optimiser l'utilisation et les coûts du stockage.

**Maintenance au niveau de la table :**  
+ **Compactage des fichiers** : consolide les petits fichiers pour améliorer les performances des requêtes et réduire les coûts de stockage.
+ **Gestion des instantanés** : contrôle l’historique des versions des tables et empêche la croissance excessive des métadonnées.

Ces options sont activées par défaut. Vous pouvez modifier ou désactiver ces opérations via les fichiers de configuration de maintenance. 

Outre ces options, vous pouvez également activer et configurer les paramètres d'expiration des enregistrements pour les tables. Avec cette option, Amazon S3 supprime automatiquement les enregistrements d'une table lorsqu'ils expirent.

**Topics**
+ [Statut des tâches de maintenance de S3 Tables](s3-tables-maintenance-status.md)
+ [Maintenance des compartiments de table](s3-table-buckets-maintenance.md)
+ [Maintenance des tables](s3-tables-maintenance.md)
+ [Expiration des enregistrements pour les tables](s3-tables-record-expiration.md)
+ [Considérations et restrictions relatives aux tâches de maintenance](s3-tables-considerations.md)

# Statut des tâches de maintenance de S3 Tables
<a name="s3-tables-maintenance-status"></a>

Les tâches de maintenance de S3 Tables s’exécutent régulièrement pour vos tables ou compartiments de tables S3. Vous pouvez interroger le statut de ces tâches à l’aide de l’API `GetTableMaintenanceJobStatus`.

**Pour connaître l'état de vos tâches de maintenance à l'aide du AWS CLI**  
L’exemple suivant permet d’obtenir les statuts des tâches de maintenance à l’aide de l’API `GetTableMaintenanceJobStatus`.  

```
aws s3tables get-table-maintenance-job-status \
   --table-bucket-arn="arn:aws:s3tables:arn:aws::111122223333:bucket/amzn-s3-demo-bucket1" \
   --namespace="mynamespace" \
   --name="testtable"
```
Pour plus d’informations, consultez [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/get-table-maintenance-job-status.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/get-table-maintenance-job-status.html) dans la *Référence des commandes de l’AWS CLI *.

Les tâches de maintenance de S3 Tables peuvent évoluer entre quatre statuts possibles :
+ `Successful`
+ `Failed`
+ `Disabled`
+ `Not_Yet_Run`

Les tâches dont le statut a échoué incluront un message d’échec. La liste suivante décrit les messages d’échec possibles. 
+ Exception de validation Iceberg rencontrée lors de la tentative de lecture de la table. Assurez-vous que votre table est lisible, qu’elle respecte la spécification Iceberg et qu’il ne contient que des chemins S3 commençant par votre alias de table S3.
+ La gestion des instantanés Iceberg ne prend actuellement pas en charge les balises ou les références définies par l’utilisateur.
+ La configuration de maintenance des tables Iceberg est incompatible avec « history.expire ». max-snapshot-age-ms' et « history.expire ». min-snapshots-to-keep' propriétés du tableau.
+ La gestion des instantanés Iceberg et la suppression de fichiers non référencés ne sont pas prises en charge lorsque la propriété de table « gc.enabled » est définie sur false. Assurez-vous que cette propriété n’est pas définie ou qu’elle est explicitement définie sur true.
+ Impossible de valider, car les métadonnées ne sont pas à jour. La maintenance sera retentée dès que l’occasion se présentera.
+ Accès insuffisant pour effectuer la maintenance de la table. Assurez-vous que la clé utilisée pour chiffrer la table est active, existe et dispose d’une politique de ressources accordant l’accès au principal du service S3 `maintenance.s3tables.amazonaws.com`.
**Note**  
 Pour plus d'informations sur AWS KMS les autorisations pour les tables S3, consultez[Exigences d’autorisation pour le chiffrement SSE-KMS de S3 Tables](s3-tables-kms-permissions.md). 
+ Erreur interne

# Maintenance des compartiments de table
<a name="s3-table-buckets-maintenance"></a>

Amazon S3 propose des opérations de maintenance pour améliorer la gestion et les performances de vos compartiments de table. L’option suivante est activée par défaut pour tous les compartiments de tables. Vous pouvez modifier ou désactiver cette option en spécifiant un fichier de configuration de maintenance pour votre compartiment de tables.

La modification de cette configuration nécessite l’autorisation `s3tables:PutTableBucketMaintenanceConfiguration`.

**Topics**
+ [Suppression des fichiers non référencés](#s3-table-bucket-maintenance-unreferenced)
+ [Considérations et restrictions](#s3-tables-buckets-considerations-see-more)

## Suppression des fichiers non référencés
<a name="s3-table-bucket-maintenance-unreferenced"></a>

La suppression des fichiers non référencés identifie et supprime tous les objets qui ne sont référencés par aucun instantané de table. Dans le cadre de votre politique de suppression des fichiers non référencés, vous pouvez configurer deux propriétés : `unreferencedDays` (3 jours par défaut) et `nonCurrentDays` (10 jours par défaut).

Pour tout objet non référencé par votre table et plus ancien que la propriété `unreferencedDays`, S3 marque l’objet comme non actuel. S3 supprime les objets non actuels après le nombre de jours spécifié par la propriété `nonCurrentDays`.

**Note**  
Les suppressions des objets non actuels sont permanentes et il n’est pas possible de récupérer ces objets.

Pour consulter ou récupérer des objets marqués comme non actuels, vous devez contacter AWS Support. Pour plus d'informations sur la prise de [contact AWS Support, consultez la section Contact AWS](https://aws.amazon.com/contact-us/) ou la [AWS Support documentation](https://aws.amazon.com/documentation/aws-support/).

La suppression des fichiers non référencés détermine les objets à supprimer de votre table en référence uniquement à cette table. Aucune référence faite à ces objets en dehors de la table n’empêchera la fonctionnalité de suppression des fichiers non référencés de supprimer un objet.

Si vous désactivez la suppression des fichiers non référencés, les tâches en cours ne seront pas affectées. La nouvelle configuration prendra effet pour la prochaine tâche après la modification de la configuration. Pour plus d’informations, consultez les informations de tarification dans [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/).

Vous ne pouvez configurer la suppression des fichiers non référencés qu’au niveau du compartiment de tables. Cette configuration s’appliquera à chaque table figurant dans votre compartiment.

**Pour configurer la suppression de fichiers non référencés à l'aide du AWS CLI**  
L’exemple suivant définit le paramètre `unreferencedDays` sur 4 jours et le paramètre `nonCurrentDays` sur 10 jours à l’aide de l’API `PutTableBucketMaintenanceConfiguration`.  

```
aws s3tables put-table-bucket-maintenance-configuration \
   --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \
   --type icebergUnreferencedFileRemoval \
   --value '{"status":"enabled","settings":{"icebergUnreferencedFileRemoval":{"unreferencedDays":4,"nonCurrentDays":10}}}'
```

Pour plus d’informations, consultez [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-bucket-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-bucket-maintenance-configuration.html) dans la *Référence des commandes de l’AWS CLI *.

## Considérations et restrictions
<a name="s3-tables-buckets-considerations-see-more"></a>

Pour en savoir plus sur les considérations supplémentaires et les limites relatives à la suppression des fichiers non référencés, consultez [Considérations et restrictions relatives aux tâches de maintenance](s3-tables-considerations.md).

# Maintenance des tables
<a name="s3-tables-maintenance"></a>

S3 Tables propose des opérations de maintenance pour améliorer la gestion et les performances de chaque table. Les options suivantes sont activées par défaut pour toutes les tables du compartiment de table. Vous pouvez modifier ou désactiver ces options en spécifiant des fichiers de configuration de maintenance pour votre table S3.

La modification de cette configuration nécessite les autorisations `s3tables:GetTableMaintenanceConfiguration` et `s3tables:PutTableMaintenanceConfiguration`.

**Note**  
Vous pouvez suivre les opérations de maintenance automatisées de S3 Tables sur vos tables par le biais de CloudTrail journaux. Pour plus d'informations, consultez[CloudTrail événements de gestion pour la maintenance des tables S3](s3-tables-logging.md#s3-tables-maintenance-events).

**Topics**
+ [Compactage](#s3-tables-maintenance-compaction)
+ [Gestion des instantanés](#s3-tables-maintenance-snapshot)
+ [Considérations et restrictions](#s3-tables-considerations-see-more)

## Compactage
<a name="s3-tables-maintenance-compaction"></a>

Le compactage est configuré au niveau de la table et combine plusieurs petits objets en un plus petit nombre d’objets plus grands afin d’améliorer les performances des requêtes Apache Iceberg. Lorsque vous combinez des objets, le compactage applique également les effets des suppressions au niveau des lignes dans votre table.

Le compactage est activé par défaut pour toutes les tables, avec une taille de fichier cible par défaut de 512 Mo ou une valeur personnalisée que vous spécifiez, comprise entre 64 Mo et 512 Mo. Les fichiers compactés sont écrits sous la forme de l’instantané le plus récent de votre table.

**Note**  
Le compactage est pris en charge sur les types de fichiers Apache Parquet, Avro et ORC.

### Stratégies de compactage
<a name="s3-tables-maintenance-compaction-strategies"></a>

Vous pouvez choisir parmi plusieurs stratégies de compactage qui peuvent améliorer encore les performances des requêtes en fonction de vos modèles de requêtes et de l’ordre de tri des tables.

S3 Tables prend désormais en charge de nouvelles stratégies de compactage pour les tables :
+ **Auto (par défaut)**
  + Amazon S3 sélectionne la meilleure stratégie de compactage en fonction de l’ordre de tri de votre table. Il s’agit de la stratégie de compactage par défaut pour toutes les tables.
  + Pour les tables dont l’ordre de tri est défini dans leurs métadonnées, `auto` applique automatiquement le compactage `sort`.
  + Pour les tables sans ordre de tri, `auto` utilise par défaut le compactage `binpack`.
+ **Binpack**
  + Combine de petits fichiers en fichiers plus volumineux, en ciblant généralement des tailles supérieures à 100 Mo, tout en appliquant les suppressions en attente. Il s’agit de la stratégie de compactage par défaut pour les tables non triées.
+ **Tri**
  + Organise les données en fonction de colonnes spécifiées qui sont automatiquement triées hiérarchiquement lors du compactage, améliorant ainsi les performances des requêtes pour les opérations filtrées. Cette stratégie est recommandée lorsque vos requêtes filtrent fréquemment sur des colonnes spécifiques. Lorsque vous utilisez cette stratégie, S3 Tables applique automatiquement un tri hiérarchique aux colonnes lorsque un `sort_order` est défini dans les propriétés de la table.
+ **Ordre Z**
  + Optimise l’organisation des données en fusionnant plusieurs attributs en une seule valeur scalaire qui peut être utilisée pour le tri, ce qui permet d’effectuer des requêtes efficaces sur plusieurs dimensions. Cette stratégie est recommandée lorsque vous devez interroger des données simultanément sur plusieurs dimensions. Cette stratégie exige que vous définissiez un ordre de tri dans les propriétés de votre table Iceberg à l’aide de la propriété de table `sort_order`.

Le compactage entraîne des coûts supplémentaires. Les stratégies de compactage `z-order` et `sort` peuvent entraîner un coût plus élevé que `binpack`. Pour plus d’informations, consultez les informations de tarification dans [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/).

### Exemples de compactage
<a name="tables-compaction-examples"></a>

Les exemples suivants illustrent les configurations de compactage de table.

**Pour configurer la taille du fichier cible de compactage à l'aide du AWS CLI**  
La taille minimale du fichier de compactage cible est de 64 Mo ; la taille maximale est de 512 Mo.  
L’exemple suivant modifie la taille du fichier cible en la définissant sur 256 Mo à l’aide de l’API `PutTableMaintenanceConfiguration`.  

```
aws s3tables put-table-maintenance-configuration \
   --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket1 \
   --type icebergCompaction \
   --namespace mynamespace \
   --name testtable \
   --value='{"status":"enabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'
```
Pour plus d’informations, consultez [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html) dans la *Référence des commandes de l’AWS CLI *.

**Pour configurer la stratégie de compactage à l'aide du AWS CLI**  
L’exemple suivant modifie la stratégie de compactage en `sort` en utilisant l’API `PutTableMaintenanceConfiguration`. Lorsque vous définissez le compactage, vous pouvez choisir l’une des stratégies de compactage suivantes : `auto`, `binpack`, `sort` ou `z-order`  
Pour définir la stratégie de compactage sur `sort` ou `z-order`, vous devez respecter les prérequis suivants :  
+ Ordre de tri défini dans les propriétés de votre table Iceberg.
+ l’autorisation `s3tables:GetTableData`.

```
aws s3tables put-table-maintenance-configuration \
   --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \
   --type icebergCompaction \
   --namespace mynamespace \
   --name testtable \
   --value='{"status":"enabled","settings":{"icebergCompaction":{"strategy":"sort"}}}'
```
Pour plus d’informations, consultez [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html) dans la *Référence des commandes de l’AWS CLI *.

**Pour désactiver le compactage à l'aide du AWS CLI**  
L’exemple suivant permet de désactiver le compactage à l’aide de l’API `PutTableMaintenanceConfiguration`.  

```
aws s3tables put-table-maintenance-configuration \
   --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \
   --type icebergCompaction \
   --namespace mynamespace \
   --name testtable \
   --value='{"status":"disabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'
```
Pour plus d’informations, consultez [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html) dans la *Référence des commandes de l’AWS CLI *.

## Gestion des instantanés
<a name="s3-tables-maintenance-snapshot"></a>

La gestion des instantanés détermine le nombre d’instantanés actifs pour votre table. Ceci est basé sur les paramètres `MinimumSnapshots` (1 par défaut) et `MaximumSnapshotAge` (120 heures par défaut). La gestion des instantanés expire et supprime les instantanés de table en fonction de ces configurations.

Lorsqu’un instantané expire, Amazon S3 marque tous les objets référencés uniquement par cet instantané comme non actuels. Ces objets non actuels sont supprimés après le nombre de jours spécifié par la propriété `NoncurrentDays` dans votre politique de suppression des fichiers non référencés.

**Note**  
Les suppressions des objets non actuels sont permanentes et il n’est pas possible de récupérer ces objets.

Pour consulter ou récupérer des objets marqués comme non actuels, vous devez contacter AWS Support. Pour plus d'informations sur la prise de [contact AWS Support, consultez la section Contact AWS](https://aws.amazon.com/contact-us/) ou la [AWS Support documentation](https://aws.amazon.com/documentation/aws-support/).

La gestion des instantanés détermine les objets à supprimer de votre table en se référant uniquement à cette table. Aucune référence faite à ces objets en dehors de la table n’empêche la gestion des instantanés de supprimer un objet.

**Note**  
La gestion des instantanés ne prend pas en charge les valeurs de conservation que vous configurez en tant que propriétés de table Iceberg dans le fichier `metadata.json` ou via une commande SQL `ALTER TABLE SET TBLPROPERTIES`, y compris la conservation basée sur les branches ou les balises. La gestion des instantanés est désactivée lorsque vous configurez une politique de conservation basée sur les branches ou les balises, ou lorsque vous configurez une politique de conservation sur le fichier `metadata.json` qui est plus longue que les valeurs configurées via l’API `PutTableMaintenanceConfiguration`. Dans ces cas, S3 n’expire pas et ne supprime pas les instantanés, et vous devez supprimer manuellement les instantanés ou supprimer les propriétés de votre table Iceberg pour éviter les frais de stockage.

Vous pouvez uniquement configurer la gestion des instantanés au niveau de la table. Pour plus d’informations, consultez les informations de tarification dans [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/).

### Exemples de gestion des instantanés
<a name="tables-snapshot-examples"></a>

Les exemples suivants illustrent les configurations de gestion d’instantanés de table.

**Pour configurer la gestion des snapshots à l'aide du AWS CLI**  
L’exemple suivant définit le paramètre `MinimumSnapshots` sur 10 et le paramètre `MaximumSnapshotAge` sur 2 500 heures à l’aide de l’API `PutTableMaintenanceConfiguration`.  

```
aws s3tables put-table-maintenance-configuration \
--table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \
--namespace my_namespace \
--name my_table \
--type icebergSnapshotManagement \
--value '{"status":"enabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":10,"maxSnapshotAgeHours":2500}}}'
```

**Pour désactiver la gestion des snapshots à l'aide du AWS CLI**  
L’exemple suivant permet de désactiver la gestion des instantanés à l’aide de l’API `PutTableMaintenanceConfiguration`.  

```
aws s3tables put-table-maintenance-configuration \
--table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \
--namespace my_namespace \
--name my_table \
--type icebergSnapshotManagement \
--value '{"status":"disabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":1,"maxSnapshotAgeHours":120}}}'
```

Pour plus d’informations, consultez [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3tables/put-table-maintenance-configuration.html) dans la *Référence des commandes de l’AWS CLI *.

## Considérations et restrictions
<a name="s3-tables-considerations-see-more"></a>

Pour en savoir plus sur les considérations et les restrictions supplémentaires relatives au compactage et à la gestion des instantanés, consultez [Considérations et restrictions relatives aux tâches de maintenance](s3-tables-considerations.md).

**Note**  
S3 Tables applique la row-group-default taille des parquets de 128 Mo.

# Expiration des enregistrements pour les tables
<a name="s3-tables-record-expiration"></a>

Par défaut, les enregistrements de vos tables S3 n'expirent pas. Pour minimiser les coûts de stockage de vos tables, vous pouvez activer et configurer l'expiration des enregistrements pour les tables. Avec cette option, Amazon S3 supprime automatiquement les enregistrements d'une table lorsqu'ils expirent.

Si vous activez l'expiration des enregistrements pour une table, vous spécifiez le nombre de jours pendant lesquels les enregistrements doivent être conservés dans la table avant leur expiration. Cela peut prendre n'importe quel nombre de jours allant de 1 jour à 2 147 483 647 jours. Par exemple, pour conserver les enregistrements d'une table pendant un an, spécifiez les `365` jours. Les enregistrements sont ensuite conservés pendant 365 jours. Au bout de 365 jours, les enregistrements expirent et Amazon S3 les supprime automatiquement.

Vous pouvez activer et configurer l'expiration des enregistrements pour les tables AWS gérées qui stockent des ensembles de données spécifiques provenant de certains Services AWS, actuellement Amazon S3 Storage Lens et Amazon SageMaker Catalog. Les options d'expiration des enregistrements ne sont actuellement pas disponibles pour les autres tables AWS gérées. L'exception concerne les tables de journal des métadonnées Amazon S3. Les tables de journal utilisent des paramètres d'expiration d'enregistrement distincts que vous spécifiez au niveau du service. Pour plus d'informations sur la configuration de l'expiration des enregistrements pour ce type de table, consultez[Expiration des enregistrements d’une table de journal](metadata-tables-expire-journal-table-records.md). Notez que les options d'expiration des enregistrements ne sont pas disponibles pour les tables S3 que vous créez.

Après avoir activé l'expiration des enregistrements pour une table, vous pouvez la désactiver à tout moment. Amazon S3 arrête alors d'expirer et de supprimer les enregistrements de la table.

**Topics**
+ [Comment ça marche](#s3-tables-record-expiration-how-it-works)
+ [Configuration de l'expiration des enregistrements](#s3-tables-record-expiration-configure)
+ [Surveillance de l'expiration des enregistrements](#s3-tables-record-expiration-monitor)
+ [Considérations](#s3-tables-expiration-considerations)

## Comment fonctionne l'expiration des enregistrements
<a name="s3-tables-record-expiration-how-it-works"></a>

L'expiration des enregistrements supprime automatiquement les enregistrements d'une table S3 lorsque les enregistrements sont antérieurs au nombre de jours que vous spécifiez dans les paramètres d'expiration des enregistrements de la table. Pour déterminer la date d'expiration des enregistrements, Amazon S3 utilise des horodatages spécifiques dans les enregistrements. Le choix de la colonne d'horodatage découle directement du schéma de table d'une table. Il n'est pas nécessaire de spécifier la colonne d'horodatage à utiliser. Les tables sont gérées par Amazon S3 AWS et choisit automatiquement la colonne appropriée à utiliser lorsque vous activez l'expiration des enregistrements pour une table.

Vous pouvez activer et configurer les paramètres d'expiration des enregistrements pour les tables AWS gérées qui stockent des métriques Amazon S3 Storage Lens spécifiques ou des métadonnées spécifiques du SageMaker catalogue Amazon. Les options d'expiration des enregistrements sont disponibles pour les tables AWS gérées suivantes pour ces services :
+ Lentille de stockage S3 — `bucket_property_metrics` `default_activity_metrics``default_storage_metrics`,,`expanded_prefixes_activity_metrics`, et`expanded_prefixes_storage_metrics`. Pour déterminer la date d'expiration des enregistrements de ces tables, Amazon S3 utilise le `report_time` champ indiqué dans les enregistrements.
+  SageMaker Catalogue Amazon —`ASSET`. Pour déterminer à quel moment les enregistrements de cette table expirent, Amazon S3 utilise le `snapshot_time` champ dans les enregistrements.

Une fois que vous avez activé l'expiration des enregistrements pour une table, Amazon S3 commence à exécuter des tâches d'expiration d'enregistrement qui effectuent les opérations suivantes pour la table :

1. Identifiez les enregistrements plus anciens que le paramètre d'expiration spécifié.

1. Créez un nouvel instantané qui exclut les références aux enregistrements expirés.

La suppression est également basée sur les paramètres d'expiration des instantanés et de suppression de fichiers non référencés dans les paramètres de configuration de maintenance de la table. Pour en savoir plus sur ces paramètres, consultez[Maintenance des tables](s3-tables-maintenance.md).

**Avertissement**  
Amazon S3 expire et supprime les enregistrements dans les 24 à 48 heures suivant leur éligibilité à l'expiration. Les enregistrements de table sont supprimés du dernier instantané. Les données et le stockage des enregistrements sont supprimés par le biais d'opérations de maintenance des tables. Les enregistrements de table ne peuvent pas être récupérés après leur expiration.

## Configuration de l'expiration des enregistrements pour une table
<a name="s3-tables-record-expiration-configure"></a>

Vous pouvez activer, configurer et gérer les paramètres d'expiration des enregistrements pour une table S3 à l'aide de la console Amazon S3, de l'API REST Amazon S3, AWS Command Line Interface (AWS CLI) ou AWS SDKs.

Avant d'essayer d'effectuer ces tâches pour une table, assurez-vous que vous disposez des autorisations Gestion des identités et des accès AWS (IAM) suivantes :
+ `s3tables:GetTableRecordExpirationConfiguration`— Cette action vous permet d'accéder aux paramètres d'expiration des enregistrements actuels pour les tables.
+ `s3tables:PutTableRecordExpirationConfiguration`— Cette action vous permet d'activer, de configurer et de désactiver les paramètres d'expiration des enregistrements pour les tables.
+ `s3tables:GetTableRecordExpirationJobStatus`— Cette action vous permet de surveiller l'état des opérations d'expiration des enregistrements (jobs) pour les tables et les métriques d'accès pour les opérations.

Les sections suivantes expliquent comment activer, configurer et désactiver les paramètres d'expiration des enregistrements pour une table à l'aide de la console Amazon S3 et du AWS CLI. Pour effectuer ces tâches avec l'API REST d'Amazon S3 ou un AWS SDK, utilisez l'[https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_PutTableRecordExpirationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_PutTableRecordExpirationConfiguration.html)opération. Pour plus d'informations, consultez la section [Développement avec Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/API/developing-s3.html) dans le manuel *Amazon Simple Storage Service API Reference*.

### Utilisation de la console S3
<a name="configure-table-record-expiration-console"></a>

Pour activer et configurer les paramètres d'expiration des enregistrements pour une table S3 à l'aide de la console, procédez comme suit.

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

1. Dans le volet de navigation de gauche, choisissez **Compartiments de tables**.

1. Sur la page **Compartiments de table**, choisissez le compartiment dans lequel est stockée la table.

1. **Dans l'onglet Tables**, sélectionnez le tableau.

1. Dans l'onglet **Maintenance**, dans la section **Expiration des enregistrements**, choisissez **Modifier**.

1. Sous **Expiration de l'enregistrement**, choisissez **Activer**.

1. Pour **Jours après lesquels les enregistrements expirent**, entrez le nombre de jours pendant lesquels les enregistrements sont conservés dans le tableau. Il peut s'agir de n'importe quel nombre entier compris entre 1 et 2 147 483 647. Par exemple, pour conserver les enregistrements pendant un an, entrez**365**.
**Avertissement**  
Lorsque vous déterminez la période de conservation appropriée pour les enregistrements du tableau, notez que les enregistrements ne peuvent pas être récupérés après leur expiration.

1. Sélectionnez **Enregistrer les modifications**.

Pour modifier ultérieurement la période de conservation, répétez les étapes précédentes.

Pour désactiver ultérieurement l'expiration des enregistrements, répétez les étapes 1 à 5. Ensuite, pour l'étape 6, choisissez **Désactiver**. Lorsque vous avez terminé, choisissez **Enregistrer les modifications**.

### En utilisant le AWS CLI
<a name="configure-table-record-expiration-CLI"></a>

Pour configurer et gérer les paramètres d'expiration des enregistrements pour une table S3 à l'aide de AWS CLI, exécutez la [https://docs.aws.amazon.com/cli/latest/reference/s3tables/put-table-record-expiration-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/s3tables/put-table-record-expiration-configuration.html)commande.

Vous pouvez commencer par créer un fichier JSON contenant les paramètres d'expiration des enregistrements à appliquer à la table. L'exemple suivant montre le contenu d'un fichier JSON qui active l'expiration des enregistrements pour une table. Il spécifie également une période de conservation de 30 jours pour les enregistrements du tableau. En d'autres termes, il indique que les enregistrements de table doivent expirer au bout de 30 jours.

```
{
    "status": "enabled",
        "settings": {
            "days": 30
        {
}
```

Pour utiliser l'exemple précédent, remplacez le `user input placeholders` par vos propres informations.

**Avertissement**  
Lorsque vous déterminez la période de conservation appropriée pour les enregistrements du tableau, notez que les enregistrements ne peuvent pas être récupérés après leur expiration.

Pour désactiver l'expiration des enregistrements pour une table, spécifiez `disabled` le `status` champ et omettez l'`settings`objet du fichier. Par exemple :

```
{
    "status": "disabled"
}
```

Après avoir créé un fichier JSON contenant les paramètres à appliquer, exécutez la `put-table-record-expiration-configuration` commande. Pour le `table-arn` paramètre, spécifiez l'Amazon Resource Name (ARN) de la table. Pour le `value` paramètre, spécifiez le nom du fichier qui stocke les paramètres.

Par exemple, la commande suivante met à jour les paramètres d'expiration des enregistrements pour une table. Les paramètres sont spécifiés dans un fichier nommé*`record-expiration-config.json`*.

```
aws s3tables put-table-record-expiration-configuration \
    --table-arn arn:aws:s3tables:us-east-1:123456789012:bucket/amzn-s3-demo-table-bucket/table/amzn-s3-demo-table \
    --value file://./record-expiration-config.json
```

Pour utiliser l'exemple précédent, remplacez le `user input placeholders` par vos propres informations.

## Surveillance de l'expiration des enregistrements pour une table
<a name="s3-tables-record-expiration-monitor"></a>

Pour surveiller l'état et les résultats des opérations d'expiration des enregistrements pour vos tables S3, utilisez l'[https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_GetTableRecordExpirationJobStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_GetTableRecordExpirationJobStatus.html)opération ou, si vous utilisez le AWS CLI, exécutez la [https://docs.aws.amazon.com/cli/latest/reference/s3tables/get-table-record-expiration-job-status.html](https://docs.aws.amazon.com/cli/latest/reference/s3tables/get-table-record-expiration-job-status.html)commande. Dans votre demande, spécifiez le Amazon Resource Name (ARN) de la table.

Par exemple, la AWS CLI commande suivante permet de récupérer l'état des opérations d'expiration des enregistrements pour une table spécifique dans un bucket de tables. Pour utiliser cet exemple, remplacez les `user input placeholders` par vos propres informations.

```
aws s3tables get-table-record-expiration-job-status \
    --table-arn arn:aws:s3tables:us-east-1:123456789012:bucket/amzn-s3-demo-table-bucket/table/amzn-s3-demo-table
```

Si votre demande aboutit, vous recevez une réponse qui fournit des informations détaillées, telles que la date à laquelle Amazon S3 a effectué les dernières opérations d'expiration des enregistrements pour la table et le statut de cette exécution. Si l'exécution la plus récente a réussi, la réponse inclut également des mesures de traitement, par exemple le nombre de fichiers de données et d'enregistrements supprimés, et la taille totale des données supprimées. Si des erreurs se sont produites lors de la dernière exécution, la réponse inclut un message d'échec décrivant pourquoi l'exécution a échoué.

## Considérations
<a name="s3-tables-expiration-considerations"></a>

Lorsque vous configurez et gérez les paramètres d'expiration des enregistrements pour vos tables S3 AWS gérées, gardez à l'esprit les points suivants :
+ L'expiration des enregistrements n'est disponible que pour certaines tables AWS gérées créées par Supported Services AWS, Amazon S3 Storage Lens et Amazon SageMaker Catalog. En outre, l'expiration des enregistrements n'est disponible que pour des tables individuelles, et non pour des compartiments de tables entiers.
+ Pour déterminer la date d'expiration des enregistrements, Amazon S3 utilise des horodatages spécifiques dans les tables. Ces horodatages représentent le moment où les données ont été créées, et non le moment où Amazon S3 a ingéré les enregistrements d'une table. La colonne d'horodatage utilisée dépend du service qui publie la table : pour les métriques S3 Storage Lens, le `report_time` champ ; et, pour les métadonnées Amazon SageMaker Catalog, le `snapshot_time` champ. Vous ne pouvez pas spécifier le champ à utiliser car les tables sont gérées par AWS.
+ En cas de retard lors de l'exportation des données vers une table, les enregistrements peuvent devenir éligibles à l'expiration plus tôt que prévu. Pour cette raison, nous vous recommandons de prendre en compte les éventuels retards d'ingestion en ajoutant de la mémoire tampon à la période de conservation dans les paramètres d'expiration de vos tables.
+ Les enregistrements expirent et sont supprimés dans les 24 à 48 heures suivant leur éligibilité à l'expiration. Amazon S3 n'expire pas et supprime les enregistrements immédiatement après leur éligibilité à l'expiration.
+ Les enregistrements ne peuvent pas être récupérés une fois qu'ils ont expiré et ont été supprimés.

# Considérations et restrictions relatives aux tâches de maintenance
<a name="s3-tables-considerations"></a>

Amazon S3 propose des opérations de maintenance pour améliorer les performances de vos tables ou compartiments de tables S3. Ces options sont le compactage des fichiers, la gestion des instantanés et la suppression des fichiers non référencés. Les restrictions et considérations suivantes se rapportent à ces options de gestion.

**Topics**
+ [Considérations relatives au compactage](#s3-tables-compaction-considerations)
+ [Considérations relatives à la gestion des instantanés](#s3-tables-snapshot-considerations)
+ [Considérations relatives à la suppression des fichiers non référencés](#s3-tables-unreferenced-file-removal-considerations)
+ [Limites des opérations de maintenance des tables S3 et des seaux de table et connexes APIs](#s3-tables-maintenance-limits)

## Considérations relatives au compactage
<a name="s3-tables-compaction-considerations"></a>

Les considérations suivantes se rapportent au compactage. Pour plus d’informations sur le compactage, consultez [Maintenance des tables](s3-tables-maintenance.md).
+ Le compactage est pris en charge sur les types de fichiers Apache Parquet, Avro et ORC.
+ Le compactage écrit les nouveaux fichiers au format Apache Parquet par défaut. Pour compacter les fichiers aux formats Avro ou ORC à la place, définissez la propriété de la table `write.format.default` sur `avro` ou `orc`.
+ Le compactage ne prend pas en charge le type de données : `Fixed`.
+ Le compactage ne prend pas en charge les types de compression : `brotli`, `lz4`.
+ Le compactage s’effectue selon un calendrier automatique. Si vous souhaitez éviter les frais associés au compactage, vous pouvez le désactiver manuellement pour une table à l'aide de l'opération [PutTableMaintenanceConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_PutTableMaintenanceConfiguration.html)API.

**Note**  
Apache Iceberg utilise un modèle de simultanéité optimiste ainsi que la détection des conflits pour arbitrer les transactions d’écriture. Avec une simultanéité optimiste, les transactions effectuées par l’utilisateur et les transactions de compactage peuvent entrer en conflit et entraîner l’échec des transactions. En cas de conflit, les tâches de compactage seront retentées en cas d’échec. Il est recommandé que vos pipelines utilisent également la logique des nouvelles tentatives pour éviter les transactions qui échouent en raison d’opérations en conflit.

## Considérations relatives à la gestion des instantanés
<a name="s3-tables-snapshot-considerations"></a>

Les considérations suivantes se rapportent à la gestion des instantanés. Pour plus d’informations sur la gestion des instantanés, consultez [Maintenance des tables](s3-tables-maintenance.md).
+ Les instantanés sont conservés seulement lorsque les deux critères suivants sont remplis : le nombre minimum d’instantanés à conserver et la période de conservation spécifiée.
+ La gestion des instantanés supprime les métadonnées des instantanés expirés d’Apache Iceberg, empêchant ainsi les requêtes d’historique d’instantanés expirés et supprimant éventuellement les fichiers de données associés.
+ La gestion des instantanés ne prend pas en charge les valeurs de conservation que vous configurez en tant que propriétés de table Iceberg dans le fichier `metadata.json` ou via une commande SQL `ALTER TABLE SET TBLPROPERTIES`, y compris la conservation basée sur les branches ou les balises. La gestion des instantanés est désactivée lorsque vous configurez une politique de conservation basée sur les branches ou les balises, ou lorsque vous configurez une politique de conservation sur le fichier `metadata.json` qui est plus longue que les valeurs configurées via l’API `PutTableMaintenanceConfiguration`. Dans ces cas, S3 n’expire pas et ne supprime pas les instantanés, et vous devez supprimer manuellement les instantanés ou supprimer les propriétés de votre table Iceberg pour éviter les frais de stockage.

## Considérations relatives à la suppression des fichiers non référencés
<a name="s3-tables-unreferenced-file-removal-considerations"></a>

Les considérations suivantes se rapportent à la suppression des fichiers non référencés. Pour plus d’informations sur la suppression des fichiers non référencés, consultez [Maintenance des compartiments de table](s3-table-buckets-maintenance.md).
+ La suppression des fichiers non référencés supprime les fichiers de données et de métadonnées qui ne sont plus référencés par les métadonnées Iceberg si leur date de création est antérieure à la période de conservation.

## Limites des opérations de maintenance des tables S3 et des seaux de table et connexes APIs
<a name="s3-tables-maintenance-limits"></a>




| Opération de maintenance | Propriété | Configurable au niveau du compartiment de tables ? | Configurable au niveau de la table ? | Valeur par défaut | Valeur minimale | Routine de maintenance Iceberg associée | API de contrôle de S3 Tables | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Compactage | targetFileSizeMB | Non | Oui | 512 Mo | 64 Mo | [https://iceberg.apache.org/docs/latest/maintenance/#compact-data-files](https://iceberg.apache.org/docs/latest/maintenance/#compact-data-files) | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html) | 
| Gestion des instantanés | minimumSnapshots | Non | Oui | 1 | 1 | [https://iceberg.apache.org/docs/latest/maintenance/#expire-snapshots](https://iceberg.apache.org/docs/latest/maintenance/#expire-snapshots) retainLast | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html) | 
| Gestion des instantanés | maximumSnapshotAge | Non | Oui | 120 heures | 1 heure | [https://iceberg.apache.org/docs/latest/maintenance/#expire-snapshots](https://iceberg.apache.org/docs/latest/maintenance/#expire-snapshots) expireOlderThan | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableMaintenanceConfiguration.html) | 
| Suppression des fichiers non référencés | unreferencedDays | Oui | Non | 3 jours | 1 jour | [https://iceberg.apache.org/docs/latest/maintenance/#delete-orphan-files](https://iceberg.apache.org/docs/latest/maintenance/#delete-orphan-files) | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html) | 
| Suppression des fichiers non référencés | nonCurrentDays | Oui | Non | 10 jours | 1 jour | N/A | [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3tables_PutTableBucketMaintenanceConfiguration.html) | 

**Note**  
S3 Tables applique la row-group-default taille des parquets de 128 Mo.