Identification de vos données avec les tables S3 Metadata
Amazon S3 Metadata accélère l’identification des données en capturant automatiquement les métadonnées des objets de vos compartiments à usage général et en les stockant dans des tables Apache Iceberg entièrement gérées en lecture seule que vous pouvez interroger. Ces tables en lecture seule sont appelées tables de métadonnées. À mesure que des objets sont ajoutés, mis à jour ou supprimés des compartiments à usage général, S3 Metadata actualise automatiquement les tables de métadonnées correspondantes pour refléter les dernières modifications.
Par défaut, les métadonnées S3 fournissent trois types de métadonnées :
-
Métadonnées définies par le système, telles que l’heure de création et la classe de stockage d’un objet
-
Métadonnées personnalisées, telles que les balises et les métadonnées définies par l’utilisateur qui ont été incluses lors du chargement de l’objet
-
Métadonnées d’événements signalant, par exemple, les activités de mise à jour ou de suppression d’un objet, ainsi que le Compte AWS ayant effectué la demande
Avec les métadonnées S3, vous pouvez facilement rechercher, stocker et interroger les métadonnées de vos objets S3, afin de préparer rapidement les données à utiliser dans l’analytique métier, l’extraction de contenu, l’entraînement des modèles d’intelligence artificielle et de machine learning (IA/ML), etc.
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 affectent les objets de votre compartiment. La table de journal enregistre les modifications apportées à vos données en temps quasi réel, ce qui vous permet d’identifier les nouvelles données chargées dans votre compartiment, de suivre les objets récemment supprimés, de surveiller les transitions de cycle de vie, etc. La table de journal enregistre les nouveaux objets ainsi que les mises à jour de vos objets et de leurs métadonnées (les mises à jour nécessitant une opération
PUTouDELETE).La table de journal capture uniquement les métadonnées des événements de modification (tels que les chargements, les mises à jour et les suppressions) qui se produisent une fois que vous avez créé la configuration de votre table de métadonnées. Comme cette table peut être interrogée, vous pouvez auditer les modifications apportées à votre compartiment à l’aide de simples requêtes SQL.
La table de journal est requise 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, consultez Schémas de tables de journal de métadonnées S3.
Pour réduire vos coûts de stockage, vous pouvez activer l’expiration des enregistrements de votre table de journal. Pour plus d’informations, consultez Expiration des enregistrements d’une table de journal.
-
Table d’inventaire dynamique : vous pouvez également ajouter un table d’inventaire dynamique à la configuration de votre table de métadonnées. La table d’inventaire dynamique fournit un inventaire simple et interrogeable de tous les objets de votre compartiment et de leurs versions afin que vous puissiez déterminer l’état le plus récent de vos données.
Vous pouvez utiliser la table d’inventaire dynamique pour simplifier et accélérer les flux de travail et les tâches de 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 rechercher tous les objets stockés dans une classe de stockage particulière, tous les objets dotés de certaines balises, tous les objets qui ne sont pas chiffrés côté serveur à l’aide de clés AWS Key Management Service (AWS KMS) (SSE-KMS), etc.
Quand vous activez la table d’inventaire dynamique pour la configuration de votre table de métadonnées, celle-ci est soumise à un processus appelé remplissage, au cours duquel Amazon S3 analyse votre compartiment à usage général afin de récupérer les métadonnées initiales de tous les objets qu’il contient. Selon le nombre d’objets contenus dans votre compartiment, ce processus peut prendre de quelques minutes (minimum 15 minutes) à quelques heures. Lorsque le processus de renvoi est terminé, le statut de votre table d’inventaire dynamique passe de Remplissage à Actif. Une fois le remplissage terminé, les mises à jour apportées à vos objets sont généralement répercutées a table d’inventaire dynamique dans un délai d’une heure.
Le remplissage de votre table d’inventaire vous est facturé. Si votre compartiment à usage général contient plus d’un milliard d’objets, des frais mensuels vous sont également facturés pour votre table d’inventaire dynamique. Pour plus d’informations, consultez Tarification Amazon S3
. Pour plus d’informations sur les données stockées dans les tables d’inventaire dynamiques, consultez Schéma des tables d’inventaire dynamiques de S3 Metadata.
Vos tables de métadonnées sont stockées dans un compartiment de table S3 géré par AWS, qui fournit un stockage optimisé pour les données tabulaires. Pour interroger vos métadonnées, vous pouvez intégrer votre compartiment de table à Amazon SageMaker Lakehouse. Cette intégration, qui utilise le AWS Glue Data Catalog et AWS Lake Formation, permet aux services d’analytique AWS d’identifier les données de vos tables et d’y accéder automatiquement.
Une fois votre compartiment de table intégré à AWS Glue Data Catalog, vous pouvez directement interroger vos tables de métadonnées à l’aide de services d’analytique AWS tels qu’Amazon Athena, Amazon EMR et Amazon Redshift. Vous pouvez également créer des tableaux de bord interactifs avec les données de vos requêtes à l’aide d’Amazon Quick Suite. Pour plus d’informations sur l’intégration de votre compartiment de table S3 géré par AWS à Amazon SageMaker Lakehouse, consultez Intégration d’Amazon S3 Tables aux services d’analytique AWS.
Vous pouvez également interroger vos tables de métadonnées avec Apache Spark, Apache Trino et toute autre application prenant en charge le format Apache Iceberg à l’aide du point de terminaison REST AWS Glue Iceberg, du point de terminaison REST Iceberg Amazon S3 Tables ou du catalogue Amazon S3 Tables pour le catalogue client Apache Iceberg. Pour plus d’informations sur l’accès à vos tables de métadonnées, consultez Accès aux données des tables.
Pour en savoir plus sur la tarification des métadonnées S3, consultez Tarification Amazon S3
Fonctionnement des tables de métadonnées
Les tables de métadonnées sont gérées par Amazon S3 et ne peuvent être modifiés par aucun principal IAM en dehors d’Amazon S3 lui-même. Vous pouvez toutefois supprimer vos tables de métadonnées. Par conséquent, les tables de métadonnées sont en lecture seule, ce qui permet de garantir qu’elles reflètent correctement le contenu de votre compartiment à usage général.
Pour générer et stocker des métadonnées d’objets dans des tables de métadonnées gérées par AWS, 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 continu les tables de métadonnées afin qu’elles reflètent les dernières modifications apportées aux données tant que la configuration est active sur le compartiment à usage général.
Avant de créer une configuration de table de métadonnées, assurez-vous de disposer des autorisations AWS Identity and Access Management (IAM) nécessaires pour créer et gérer des tables de métadonnées. Pour plus d’informations, consultez Définition des autorisations pour la configuration des tables de métadonnées.
Stockage, organisation et chiffrement des tables de métadonnées
Lorsque vous configurez vos tables de métadonnées, celles-ci sont stockées dans un compartiment de table géré par AWS. Toutes les configurations de table de métadonnées de votre compte et de la même région sont stockées dans un même compartiment de table géré par AWS. Ces compartiment de table gérés par AWS sont nommés aws-s3 et possèdent le format d’Amazon Resource Name (ARN) suivant :
arn:aws:s3tables:region:account_id:bucket/aws-s3
Par exemple, si votre ID de compte est 123456789012 et que votre compartiment à usage général se trouve dans la région USA Est (Virginie du Nord) (us-east-1), votre compartiment de table géré par AWS est également créé la région USA Est (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 table gérés par AWS sont chiffrés avec un chiffrement côté serveur à l’aide de clés gérées par 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 du compartiment de table géré par AWS de manière à utiliser le chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS). Pour plus d’informations, consultez Chiffrement des compartiments de table gérés par AWS et Spécification du chiffrement côté serveur avec des clés AWS KMS (SSE-KMS) dans les compartiments de table.
Dans votre compartiment de table géré par AWS, les tables de métadonnées de votre configuration sont généralement stockées dans un espace de noms au format suivant :
b_general-purpose-bucket-name
Note
-
Si le nom de votre compartiment à usage général contient des points, ceux-ci sont convertis en traits de soulignement (
_) dans le nom de l’espace de noms. -
Si votre compartiment à usage général a été créé avant le 1er mars 2018, son nom peut contenir des lettres majuscules et des traits de soulignement, et jusqu’à 255 caractères. Si le nom de votre compartiment possède ces caractéristiques, le format de l’espace de noms de votre table de métadonnées est différent. Le nom du compartiment à usage général aura le préfixe
b_, tronqué à 63 caractères, converti en minuscules avec un hachage en suffixe.
Les tables de métadonnées possèdent le format d’Amazon Resource Name (ARN) suivant, qui inclut l’ID de la table de métadonnées :
arn:aws:s3tables:region-code:account-id:bucket/aws-s3/table/table-id
Par exemple, une table de métadonnées dans la région USA Est (Virginie du Nord) possède un ARN comme celui-ci :
arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/a12bc345-67d8-912e-3456-7f89123g4h56
Les tables de journal portent le nom journal, et les tables d’inventaire dynamiques inventory.
Lors de la création de la configuration de votre table de métadonnées, vous pouvez chiffrer votre table de journal gérée par AWS côté serveur à l’aide de clés AWS Key Management Service (AWS KMS) (SSE-KMS). Si vous choisissez d’utiliser le chiffrement SSE-KMS, vous devez fournir une clé KMS gérée par le client dans la même région que votre compartiment à 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 gérée par AWS est créée, vous ne pouvez plus modifier ses paramètres de chiffrement. Pour spécifier le chiffrement SSE-KMS pour vos tables de métadonnées, vous devez disposer de certaines autorisations. Pour plus d’informations, consultez Autorisations pour SSE-KMS.
Le paramètre de chiffrement d’une table de métadonnées prévaut sur le paramètre de chiffrement par défaut du compartiment. Si vous ne spécifiez pas de chiffrement pour une table, celle-ci hérite du paramètre de chiffrement par défaut du compartiment.
Les compartiments de table gérés par AWS ne sont pas pris en compte dans vos quotas S3 Tables. Pour plus d’informations sur l’utilisation des compartiments de table gérés par AWS et des tables gérées par AWS, consultez Utilisation de compartiments de table gérés par AWS.
Pour surveiller les mises à jour apportées à la configuration de votre table de métadonnées, vous pouvez utiliser AWS CloudTrail. Pour plus d’informations, consultez Actions au niveau du compartiment Amazon S3 qui sont suivies par la journalisation CloudTrail..
Maintenance et expiration des enregistrements des tables de métadonnées
Pour optimiser les performances de vos tables de métadonnées, Amazon S3 effectue des activités de maintenance périodiques sur ces tables, telles que le compactage et la suppression des fichiers non référencés. Ces activités de maintenance permettent à la fois de minimiser le coût de stockage de vos tables de métadonnées et d’optimiser les performances des requêtes. Cette maintenance des tables se fait automatiquement. Elle ne nécessite aucune activation ni aucune gestion continue de votre part.
Note
-
Vous ne pouvez pas contrôler l’expiration des instantanés des tables de journal ou des tables d’inventaire. Pour chaque table, Amazon S3 stocke au minimum un instantané pendant 24 heures maximum.
-
Pour réduire vos coûts, vous pouvez configurer l’expiration des enregistrements de vos tables de journal. Par défaut, les enregistrements des tables de journal n’expirent pas et doivent être conservés pendant au moins 7 jours. Pour plus d’informations, consultez Expiration des enregistrements d’une table de journal.