Création de configurations de tables de métadonnées - 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.

Création de configurations de tables de métadonnées

Pour générer et stocker les métadonnées Amazon S3 dans des tables de Apache Iceberg métadonnées entièrement gérées, vous devez créer une configuration de table de métadonnées pour votre compartiment à usage général. Amazon S3 est conçu pour mettre à jour en permanence les tables de métadonnées afin de refléter les dernières modifications apportées à vos données tant que la configuration est active sur le compartiment. En outre, Amazon S3 optimise en permanence vos tables de métadonnées afin de réduire les coûts de stockage et d’améliorer les performances des requêtes d’analytique.

Pour chaque compartiment à usage général, vous pouvez créer une configuration de table de métadonnées contenant deux tables de métadonnées complémentaires :

  • Table de journal : par défaut, la configuration de votre table de métadonnées contient une table de journal qui capture les événements qui se produisent pour les objets de votre compartiment. Le tableau du journal enregistre les modifications apportées à vos données en temps quasi réel, ce qui vous aide à identifier les nouvelles données téléchargées dans votre bucket, à suivre les objets récemment supprimés, à surveiller les transitions du cycle de vie, etc. La table du journal enregistre les nouveaux objets et les mises à jour de vos objets et de leurs métadonnées (mises à jour nécessitant une opération PUT ou une DELETE opération).

    La table de journal capture les métadonnées uniquement pour les événements de modification (tels que les téléchargements, les mises à jour et les suppressions) qui se produisent après la création de la configuration de votre table de métadonnées. Comme cette table peut être interrogée, vous pouvez auditer les modifications apportées à votre bucket par le biais de simples requêtes SQL.

    La table de journal est obligatoire pour chaque configuration de table de métadonnées. (Dans la version initiale de S3 Metadata, la table de journal était appelée « table de métadonnées ».)

    Pour plus d'informations sur les données stockées dans les tables de journal, voirSchéma des tables de journal des métadonnées S3.

    Pour minimiser vos coûts de stockage, vous pouvez choisir d'activer l'expiration des enregistrements de la table de journal. Pour de plus amples informations, veuillez consulter Enregistrements de table de journal expirant.

  • Table d'inventaire dynamique : vous pouvez éventuellement ajouter une table d'inventaire dynamique à la configuration de votre table de métadonnées. Le tableau d'inventaire en temps réel fournit un inventaire simple et interrogeable de tous les objets et de leurs versions dans votre compartiment afin que vous puissiez déterminer l'état le plus récent de vos données.

    Vous pouvez utiliser le tableau d'inventaire en temps réel pour simplifier et accélérer les flux de travail commerciaux et les tâches liées au Big Data en identifiant les objets que vous souhaitez traiter pour différentes charges de travail. Par exemple, vous pouvez interroger la table d'inventaire dynamique pour trouver tous les objets stockés dans une classe de stockage donnée, tous les objets dotés de certaines balises, tous les objets qui ne sont pas chiffrés par chiffrement côté serveur à l'aide de clés AWS Key Management Service (AWS KMS) (SSE-KMS), etc.

    Lorsque vous activez la table d'inventaire dynamique pour la configuration de votre table de métadonnées, la table est soumise à un processus appelé backfilling, au cours duquel Amazon S3 analyse votre compartiment à usage général pour récupérer les métadonnées initiales de tous les objets présents dans le compartiment. Selon le nombre d'objets contenus dans votre compartiment, ce processus peut prendre de quelques minutes (minimum 15 minutes) à plusieurs heures. Lorsque le processus de remblayage est terminé, le statut de votre tableau d'inventaire en temps réel passe de Remblayage à Actif. Une fois le remblayage terminé, les mises à jour apportées à vos objets sont généralement reflétées dans le tableau d'inventaire en temps réel en moins d'une heure.

    Le remplissage de votre tableau d'inventaire en ligne vous est facturé. Si votre bucket à usage général contient plus d'un milliard d'objets, des frais mensuels vous sont également facturés pour votre tableau d'inventaire en ligne. Pour plus d’informations, consultez Tarification Amazon S3.

    Pour plus d'informations sur les données stockées dans les tables d'inventaire dynamiques, consultezSchéma des tables d'inventaire en temps réel des métadonnées S3.

Les tables de métadonnées possèdent le format d’Amazon Resource Name (ARN) suivant :

arn:aws:s3tables:region-code:account-id:bucket/aws-s3/table/metadata_table_name

Les tables de journal portent le nom journal et les tables d'inventaire dynamiques portent le nominventory.

Lorsque vous créez la configuration de vos tables de métadonnées, celles-ci sont stockées dans un bucket de tables AWS géré. Toutes les configurations de tables de métadonnées de votre compte et de la même région sont stockées dans un seul compartiment de table AWS géré. Ces compartiments de tables AWS gérés sont nommés aws-s3 et ont le format Amazon Resource Name (ARN) suivant :

arn:aws:s3tables:region:account_id:bucket/aws-s3

Par exemple, si votre identifiant de compte est 123456789012 et que votre compartiment à usage général se trouve dans l'est des États-Unis (Virginie du Nord) (us-east-1), votre compartiment de table AWS géré est également créé dans l'est des États-Unis (Virginie du Nord) (us-east-1) et possède l'ARN suivant :

arn:aws:s3tables:us-east-1:123456789012:bucket/aws-s3

Par défaut, les compartiments de tables AWS gérés sont chiffrés par chiffrement côté serveur à l'aide de clés gérées Amazon S3 (SSE-S3). Après avoir créé votre première configuration de métadonnées, vous pouvez définir le paramètre de chiffrement par défaut pour le compartiment de table AWS géré afin d'utiliser le chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS). Pour plus d'informations, consultez les sections Chiffrement pour les compartiments de tables AWS gérés etSpécification du chiffrement côté serveur à l'aide de AWS KMS clés (SSE-KMS) dans des compartiments de table.

Dans votre compartiment de tables AWS géré, les tables de métadonnées de votre configuration sont généralement stockées dans un espace de noms au format de dénomination suivant :

b_general-purpose-bucket-name

Pour plus d'informations sur les espaces de noms des tables de métadonnées, consultezFonctionnement des tables de métadonnées.

Lorsque vous créez la configuration de votre table de métadonnées, vous pouvez choisir de chiffrer vos tables de métadonnées AWS gérées avec un chiffrement côté serveur à l'aide de clés AWS Key Management Service (AWS KMS) (SSE-KMS). Si vous choisissez d'utiliser SSE-KMS, vous devez fournir une clé KMS gérée par le client dans la même région que votre bucket à usage général. Vous pouvez définir le type de chiffrement de vos tables uniquement lors de leur création. Une fois qu'une table AWS gérée est créée, vous ne pouvez pas modifier ses paramètres de chiffrement. Pour spécifier SSE-KMS pour vos tables de métadonnées, vous devez disposer de certaines autorisations. Pour plus d'informations, consultez la section Autorisations pour SSE-KMS.

Le paramètre de chiffrement d'une table de métadonnées a priorité sur le paramètre de chiffrement par défaut au niveau du compartiment. Si vous ne spécifiez pas de chiffrement pour une table, celle-ci héritera du paramètre de chiffrement par défaut du compartiment.

AWS les compartiments de tables gérés ne sont pas pris en compte dans vos quotas de tables S3. Pour plus d'informations sur l'utilisation des compartiments de tables AWS gérés et des tables AWS gérées, consultez la section Utilisation des compartiments de tables AWS gérés.

Vous pouvez créer une configuration de table de métadonnées à l'aide de la console Amazon S3, de l'API REST AWS Command Line Interface (AWS CLI) ou de l'API REST Amazon S3. AWS SDKs

Note
  • Si vous avez créé votre configuration de métadonnées S3 avant le 15 juillet 2025, nous vous recommandons de la supprimer et de la recréer afin de pouvoir faire expirer les enregistrements des tables de journal et créer une table d'inventaire. Pour de plus amples informations, veuillez consulter Activation des tables d'inventaire sur les configurations de métadonnées créées avant le 15 juillet 2025.

  • Si vous avez supprimé la configuration de votre table de métadonnées et que vous souhaitez recréer une configuration pour le même compartiment à usage général, vous devez d'abord supprimer manuellement les anciennes tables de journal et d'inventaire de votre compartiment de tables AWS géré. Dans le cas contraire, la création de la nouvelle configuration de table de métadonnées échoue car ces tables existent déjà. Pour supprimer vos tables de métadonnées, consultezSuppression d’une table de métadonnées.

    La suppression d'une configuration de table de métadonnées entraîne uniquement la suppression de la configuration. Le bucket de table AWS géré et vos tables de métadonnées existent toujours, même si vous supprimez la configuration des tables de métadonnées.

Prérequis

Avant de créer une configuration de table de métadonnées, assurez-vous de remplir les conditions préalables suivantes :

  • Avant de créer une configuration de table de métadonnées, assurez-vous que vous disposez des autorisations AWS Identity and Access Management (IAM) nécessaires pour créer et gérer des tables de métadonnées. Pour de plus amples informations, veuillez consulter Définition des autorisations pour la configuration des tables de métadonnées.

  • Si vous envisagez d'interroger vos tables de métadonnées avec Amazon Athena ou un autre moteur de AWS requête, assurez-vous d'intégrer votre compartiment de tables AWS géré aux services AWS d'analyse. Pour de plus amples informations, veuillez consulter Utilisation d'Amazon S3 Tables avec des services AWS d'analyse.

    Si vous avez déjà intégré un bucket de table existant dans cette région, votre bucket de table AWS géré est également intégré automatiquement. Pour déterminer le statut d'intégration de vos compartiments de table dans cette région, ouvrez la console Amazon S3 et choisissez Buckets de table dans le volet de navigation de gauche. Sous Intégration aux services AWS d'analyse, vérifiez la région et vérifiez si le statut d'intégration indique Activé.

Création de la configuration d’une table de métadonnées

Pour créer la configuration d’une table de métadonnées

Avant de créer la configuration d’une table de métadonnées, assurez-vous que vous avez vérifié les prérequis, que vous les respectez et que vous avez passé en revue Limites et restrictions liées à une table de métadonnées.

  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 à usage général.

  3. Choisissez le compartiment à usage général pour lequel vous souhaitez créer une configuration de table de métadonnées.

    Note

    Assurez-vous que ce seau à usage général est un Région AWS endroit où des seaux de table sont disponibles. Les compartiments de tables ne sont disponibles que dans les régions USA Est (Virginie du Nord), USA Est (Ohio) et USA Ouest (Oregon).

  4. Sur la page de détails du bucket, choisissez l'onglet Metadata.

  5. Dans l’onglet Métadonnées, choisissez Créer une configuration de métadonnées.

  6. Sur la page de configuration des métadonnées de création, sous Table du journal, vous pouvez choisir de chiffrer votre table avec un chiffrement côté serveur à l'aide de clés AWS Key Management Service (AWS KMS) (SSE-KMS). Par défaut, les tables de journal sont chiffrées par chiffrement côté serveur à l'aide de clés gérées par Amazon S3 (SSE-S3).

    Si vous choisissez d'utiliser SSE-KMS, vous devez fournir une clé KMS gérée par le client dans la même région que votre bucket à usage général.

    Important

    Vous pouvez définir le type de chiffrement pour vos tables de métadonnées uniquement lors de leur création. Une fois qu'une table AWS gérée est créée, vous ne pouvez pas modifier ses paramètres de chiffrement.

    • Pour chiffrer votre table de journal avec SSE-S3 (valeur par défaut), choisissez Ne pas spécifier le type de cryptage.

    • Pour chiffrer votre table de journal avec SSE-KMS, choisissez Spécifier le type de cryptage. Sous Type de chiffrement, choisissez Chiffrement côté serveur à l'aide de clés AWS Key Management Service (AWS KMS) (SSE-KMS). Sous AWS KMS clé, choisissez parmi vos clés KMS existantes ou entrez l'ARN de votre clé KMS. Si vous ne possédez pas encore de clé KMS, choisissez Enter KMS key ARN, puis Create a KMS key.

      Assurez-vous d'avoir configuré les autorisations nécessaires pour SSE-KMS. Pour plus d'informations, consultez la section Autorisations pour SSE-KMS.

  7. (Facultatif) Par défaut, les enregistrements de votre table de journal n'expirent pas. Pour minimiser les coûts de stockage de votre table de journal, choisissez Activé pour l'expiration des enregistrements.

    Si vous activez l'expiration des enregistrements de table de journal, vous pouvez définir le nombre de jours pendant lesquels vos enregistrements de table de journal seront conservés. Pour définir la valeur des jours après lesquels les enregistrements expirent, vous pouvez spécifier n'importe quel nombre entier compris entre 7 et2147483647. Par exemple, pour conserver les enregistrements de votre table de journal pendant un an, définissez cette valeur sur365.

    Les dossiers expireront dans les 24 à 48 heures suivant leur éligibilité à l'expiration.

    Important

    Une fois que les enregistrements des tables de journal ont expiré, ils ne peuvent pas être récupérés.

    Dans le tableau du journal, les enregistrements expireront après le nombre de jours spécifié, cochez la case.

  8. (Facultatif) Si vous souhaitez ajouter une table d'inventaire à la configuration de votre table de métadonnées, sous Table d'inventaire dynamique, choisissez Activé pour le statut de configuration.

    Vous pouvez choisir de chiffrer votre table avec un chiffrement côté serveur à l'aide de clés AWS Key Management Service (AWS KMS) (SSE-KMS). Par défaut, les tables d'inventaire sont chiffrées par chiffrement côté serveur à l'aide de clés gérées par Amazon S3 (SSE-S3).

    Si vous choisissez d'utiliser SSE-KMS, vous devez fournir une clé KMS gérée par le client dans la même région que votre bucket à usage général.

    Important

    Vous pouvez définir le type de chiffrement pour vos tables de métadonnées uniquement lors de leur création. Une fois qu'une table AWS gérée est créée, vous ne pouvez pas modifier ses paramètres de chiffrement.

    • Pour chiffrer votre table d'inventaire avec SSE-S3 (valeur par défaut), choisissez Ne pas spécifier le type de cryptage.

    • Pour chiffrer votre table d'inventaire avec SSE-KMS, choisissez Spécifier le type de cryptage. Sous Type de chiffrement, choisissez Chiffrement côté serveur à l'aide de clés AWS Key Management Service (AWS KMS) (SSE-KMS). Sous AWS KMS clé, choisissez parmi vos clés KMS existantes ou entrez l'ARN de votre clé KMS. Si vous ne possédez pas encore de clé KMS, choisissez Enter KMS key ARN, puis Create a KMS key.

      Assurez-vous d'avoir configuré les autorisations nécessaires pour SSE-KMS. Pour plus d'informations, consultez la section Autorisations pour SSE-KMS.

  9. Choisissez Créer une configuration de table de métadonnées.

Si la configuration de votre table de métadonnées est réussie, les noms et ceux ARNs de vos tables de métadonnées sont affichés dans l'onglet Métadonnées, ainsi que le nom du compartiment et de l'espace de noms de votre compartiment de table AWS géré.

Si vous avez choisi d'activer une table d'inventaire pour la configuration de votre table de métadonnées, la table est soumise à un processus appelé backfilling, au cours duquel Amazon S3 analyse votre compartiment à usage général pour récupérer les métadonnées initiales de tous les objets présents dans le compartiment. Selon le nombre d'objets contenus dans votre compartiment, ce processus peut prendre de quelques minutes (minimum 15 minutes) à plusieurs heures. Lorsque le processus de remblayage est terminé, le statut de votre tableau d'inventaire passe de Remblayage à Actif. Une fois le remblayage terminé, les mises à jour apportées à vos objets sont généralement reflétées dans le tableau d'inventaire en moins d'une heure.

Pour surveiller les mises à jour apportées à la configuration de votre table de métadonnées, vous pouvez utiliser AWS CloudTrail. Pour de plus amples informations, veuillez consulter Actions au niveau du compartiment Amazon S3 suivies par journalisation CloudTrail .

Pour exécuter les commandes suivantes, vous devez les avoir AWS CLI installées et configurées. Si ce n'est pas le cas AWS CLI , consultez la section Installer ou mettre à jour vers la dernière version du AWS CLI Guide de l'AWS Command Line Interface utilisateur.

Vous pouvez également exécuter des AWS CLI commandes depuis la console en utilisant AWS CloudShell. AWS CloudShell est un shell pré-authentifié basé sur un navigateur que vous pouvez lancer directement depuis le. AWS Management Console Pour plus d'informations, voir Qu'est-ce que c'est CloudShell ? et Mise en route AWS CloudShell dans le guide de AWS CloudShell l'utilisateur.

Pour créer une configuration de table de métadonnées à l'aide du AWS CLI

Avant de créer la configuration d’une table de métadonnées, assurez-vous que vous avez vérifié les prérequis, que vous les respectez et que vous avez passé en revue Limites et restrictions liées à une table de métadonnées.

Pour utiliser les exemples de commandes suivants, remplacez les user input placeholders par vos propres informations.

  1. Créez un fichier JSON contenant la configuration de votre table de métadonnées et enregistrez-le (par exemple, metadata-config.json). Voici un exemple de configuration.

    Vous devez indiquer si vous souhaitez activer ou désactiver l'expiration des enregistrements de la table de journal. Si vous choisissez d'activer l'expiration des enregistrements, vous devez également spécifier le nombre de jours après lesquels les enregistrements de votre table de journal expireront. Pour définir la Days valeur, vous pouvez spécifier n'importe quel nombre entier compris entre 7 et2147483647. Par exemple, pour conserver les enregistrements de votre table de journal pendant un an, définissez cette valeur sur365.

    Vous pouvez éventuellement choisir de configurer une table d'inventaire.

    Pour les tables de journal et les tables d'inventaire, vous pouvez éventuellement spécifier une configuration de chiffrement. Par défaut, les tables de métadonnées sont chiffrées par chiffrement côté serveur à l'aide de clés gérées Amazon S3 (SSE-S3), que vous pouvez spécifier en configurant sur. SseAlgorithm AES256

    Pour chiffrer vos tables de métadonnées à l'aide d'un chiffrement côté serveur à l'aide de clés AWS Key Management Service (AWS KMS) (SSE-KMS), définissez sur. SseAlgorithm aws:kms Vous devez également utiliser l'ARN d'une clé KMS gérée par le client dans la même région que celle où se trouve votre bucket à usage général. KmsKeyArn

    { "JournalTableConfiguration": { "RecordExpiration": { "Expiration": "ENABLED", "Days": 10 }, "EncryptionConfiguration": { "SseAlgorithm": "AES256" } }, "InventoryTableConfiguration": { "ConfigurationState": "ENABLED", "EncryptionConfiguration": { "SseAlgorithm": "aws:kms", "KmsKeyArn": "arn:aws:kms:us-east-2:account-id:key/key-id" } } }
  2. Utilisez la commande suivante pour appliquer la configuration de la table de métadonnées à votre compartiment à usage général (par exemple, amzn-s3-demo-bucket) :

    aws s3api create-bucket-metadata-configuration \ --bucket amzn-s3-demo-bucket \ --metadata-configuration file://./metadata-config.json \ --region us-east-2
  3. Pour vérifier si la configuration a été créée, utilisez la commande suivante :

    aws s3api get-bucket-metadata-configuration \ --bucket amzn-s3-demo-bucket \ --region us-east-2

Pour surveiller les mises à jour apportées à la configuration de votre table de métadonnées, vous pouvez utiliser AWS CloudTrail. Pour de plus amples informations, veuillez consulter Actions au niveau du compartiment Amazon S3 suivies par journalisation CloudTrail .

Vous pouvez envoyer des demandes REST pour créer la configuration d’une table de métadonnées. Pour plus d’informations, consultez CreateBucketMetadataConfiguration dans la Référence d’API Amazon S3.

Vous pouvez utiliser le AWS SDKs pour créer une configuration de table de métadonnées dans Amazon S3. Pour plus d'informations, consultez la liste des applications prises SDKs en charge dans le manuel Amazon S3 API Reference.

Activation des tables d'inventaire sur les configurations de métadonnées créées avant le 15 juillet 2025

Si vous avez créé votre configuration de métadonnées S3 avant le 15 juillet 2025, nous vous recommandons de la supprimer et de la recréer afin de pouvoir faire expirer les enregistrements des tables de journal et créer une table d'inventaire. Les modifications apportées à votre bucket à usage général entre la suppression de l'ancienne configuration et la création de la nouvelle ne sont enregistrées dans aucune de vos tables de journal.

Pour migrer d'une ancienne configuration de métadonnées vers une nouvelle configuration, procédez comme suit :

  1. Supprimez la configuration de votre table de métadonnées existante. Pour step-by-step obtenir des instructions, voirSuppression de configurations de tables de métadonnées.

  2. Créez une nouvelle configuration de table de métadonnées. Pour step-by-step obtenir des instructions, voirCréation de configurations de tables de métadonnées.

Si vous avez besoin d'aide pour migrer votre configuration, contactez AWS Support.

Après avoir créé votre nouvelle configuration de métadonnées, vous disposerez de deux tables de journal. Si vous n'avez plus besoin de l'ancienne table de journal, vous pouvez la supprimer. Pour step-by-step obtenir des instructions, voirSuppression des tables de métadonnées. Si vous avez conservé votre ancienne table de journal et que vous souhaitez la joindre à la nouvelle, consultez Jonction de métadonnées personnalisées à des tables de métadonnées S3 des exemples illustrant comment joindre deux tables.

Après la migration, vous pouvez effectuer les opérations suivantes :

  1. Pour consulter votre configuration, vous pouvez désormais utiliser l'opération GetBucketMetadataConfiguration API. Pour déterminer si votre configuration est ancienne ou nouvelle, vous pouvez consulter l'attribut suivant de votre réponse d'GetBucketMetadataConfigurationAPI. Un type de compartiment AWS géré ("aws") indique une nouvelle configuration, et un type de compartiment géré par le client ("customer") indique une ancienne configuration.

    "MetadataTableConfigurationResult": { "TableBucketType": ["aws" | "customer"]

    Pour de plus amples informations, veuillez consulter Afficher les configurations des tables de métadonnées.

    Note

    Vous pouvez utiliser les opérations GetBucketMetadataConfiguration et DeleteBucketMetadataConfiguration API avec les anciennes ou les nouvelles configurations de tables de métadonnées. Toutefois, si vous essayez d'utiliser les opérations GetBucketMetadataTableConfiguration et DeleteBucketMetadataTableConfiguration API avec de nouvelles configurations, vous recevrez des 405 Method Not Allowed erreurs HTTP.

    Assurez-vous de mettre à jour vos processus afin d'utiliser les nouvelles opérations d'API (CreateBucketMetadataConfigurationGetBucketMetadataConfiguration, etDeleteBucketMetadataConfiguration) au lieu des anciennes opérations d'API.

  2. Si vous envisagez d'interroger vos tables de métadonnées avec Amazon Athena ou un autre moteur de AWS requête, assurez-vous d'intégrer votre compartiment de tables AWS géré aux services AWS d'analyse. Si vous avez déjà intégré un bucket de table existant dans cette région, votre bucket de table AWS géré est également intégré automatiquement. Pour de plus amples informations, veuillez consulter Utilisation d'Amazon S3 Tables avec des services AWS d'analyse.