Expiration des enregistrements pour les tables - Amazon Simple Storage Service

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.

Expiration des enregistrements pour les tables

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, consultezExpiration des enregistrements d’une table de journal. 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.

Comment fonctionne l'expiration des enregistrements

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_metricsdefault_storage_metrics,,expanded_prefixes_activity_metrics, etexpanded_prefixes_storage_metrics. Pour déterminer à quel moment les enregistrements de ces tables expirent, Amazon S3 utilise le report_time champ 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é.

  2. 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, consultezMaintenance des tables.

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

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'PutTableRecordExpirationConfigurationopération. Pour plus d'informations, consultez la section Développement avec Amazon S3 dans le manuel Amazon Simple Storage Service API Reference.

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/.

  2. Dans le volet de navigation de gauche, choisissez Compartiments de tables.

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

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

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

  6. Sous Expiration de l'enregistrement, choisissez Activer.

  7. 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, entrez365.

    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.

  8. 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.

Pour configurer et gérer les paramètres d'expiration des enregistrements pour une table S3 à l'aide de AWS CLI, exécutez la put-table-record-expiration-configurationcommande.

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'settingsobjet du fichier. Par exemple :

{ "status": "disabled" }

Après avoir créé un fichier JSON avec 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

Pour surveiller l'état et les résultats des opérations d'expiration des enregistrements pour vos tables S3, utilisez l'GetTableRecordExpirationJobStatusopération ou, si vous utilisez le AWS CLI, exécutez la get-table-record-expiration-job-statuscommande. 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

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.