View a markdown version of this page

Travailler avec AWS seaux de table gérés - 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.

Travailler avec AWS seaux de table gérés

AWS les compartiments de tables gérés sont des compartiments de tables Amazon S3 spécialisés conçus pour stocker des tableaux AWS gérés, tels que le journal de métadonnées S3 et les tableaux d'inventaire dynamiques. Contrairement aux compartiments de tables gérés par le client que vous créez et gérez directement, les compartiments de tables AWS gérés sont automatiquement provisionnés AWS lorsque vous configurez les fonctionnalités qui nécessitent des tables gérées. AWS Lorsque des tables gérées sont créées, elles appartiennent à un espace de noms prédéfini basé sur le nom du compartiment source. Cet espace de noms prédéfini ne peut pas être modifié.

Chacune Compte AWS possède un compartiment de tables AWS géré par région, conformément à la convention de dénominationaws-s3. Ce compartiment sert d’emplacement centralisé pour toutes les tables gérées associées aux ressources de votre compte dans cette région.

Le tableau suivant compare les compartiments de tables AWS gérés aux compartiments de tables gérés par le client.

Fonctionnalité AWS seaux de table gérés Customer-managed seaux de table
Création Créé automatiquement par Services AWS Vous les créez manuellement
Dénomination Utiliser une convention de dénomination standard (aws-s3) Vous définissez vos propres noms
Création de tables Seul Services AWS peut créer des tableaux Vous pouvez créer des tables
Contrôle de l’espace de noms Impossible de créer ou de supprimer des espaces de noms (toutes les tables appartiennent à un espace de noms fixe) Vous pouvez créer et supprimer des espaces de noms
Accès Read-only accès Accès complet à
Chiffrement Vous ne pouvez modifier les paramètres de chiffrement par défaut (SSE-S3) que si vous avez chiffré la table initiale avec une clé gérée par le client AWS Key Management Service (AWS KMS) Vous pouvez définir le chiffrement par défaut au niveau du compartiment et le modifier à tout moment
Maintenance Géré par Services AWS Vous pouvez personnaliser la maintenance automatique au niveau du compartiment

Autorisations avec lesquelles travailler AWS compartiments de tables gérés et pour interroger les tables

Pour utiliser des compartiments de tables AWS gérés, vous devez disposer des autorisations nécessaires pour créer des compartiments et des tables AWS gérés et pour spécifier les paramètres de chiffrement des tables AWS gérées. Vous avez également besoin d'autorisations pour interroger les tables de vos compartiments de tables AWS gérés.

L'exemple de politique suivant vous permet de créer un compartiment de tables AWS géré via une configuration de métadonnées S3 :

{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToWorkWithMetadataTables", "Effect":"Allow", "Action":[ "s3:CreateBucketMetadataTableConfiguration", "s3tables:CreateTableBucket", "s3tables:CreateNamespace", "s3tables:CreateTable", "s3tables:GetTable", "s3tables:PutTablePolicy" "s3tables:PutTableEncryption", "kms:DescribeKey" ], "Resource":[ "arn:aws:s3:::bucket/amzn-s3-demo-source-bucket", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*", "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }

L'exemple de politique suivant vous permet d'interroger des tables dans des compartiments de tables AWS gérés :

{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToQueryMetadataTables", "Effect":"Allow", "Action":[ "s3tables:GetTable", "s3tables:GetTableData", "s3tables:GetTableMetadataLocation", "kms:Decrypt" ], "Resource":[ "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*", "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }

Interrogation de tables dans AWS seaux de table gérés

Vous pouvez interroger des tables AWS gérées dans des compartiments de tables AWS gérées à l'aide de méthodes d'accès et de moteurs pris en charge par S3 Tables. Voici quelques exemples de requêtes.

Using standard SQL

L'exemple suivant montre comment interroger des tables AWS gérées à l'aide de la syntaxe SQL standard :

SELECT * FROM "s3tablescatalog/aws-s3"."b_amzn-s3-demo-source-bucket"."inventory" LIMIT 10;

L'exemple suivant montre comment joindre des tables AWS gérées à vos propres tables :

SELECT * FROM "s3tablescatalog/aws-s3"."b_amzn-s3-demo-source-bucket"."inventory" a JOIN "s3tablescatalog/amzn-s3-demo-table-bucket"."my_namespace"."my_table" b ON a.key = b.key LIMIT 10;
Using Spark

L’exemple suivant montre comment interroger votre table avec Spark :

spark.sql(""" SELECT * FROM ice_catalog.inventory a JOIN ice_catalog.my_table b ON a.key = b.key """).show(10, true)

L'exemple suivant montre comment joindre votre table AWS gérée à une autre table :

SELECT * FROM inventory a JOIN my_table b ON a.key = b.key LIMIT 10;

Chiffrement pour AWS seaux de table gérés

Par défaut, les compartiments de tables AWS gérés sont chiffrés avec un chiffrement côté serveur à l'aide de clés gérées Amazon S3 (). SSE-S3 Une fois votre compartiment de tables AWS géré créé, vous pouvez PutTableBucketEncryption définir le paramètre de chiffrement par défaut du compartiment de manière à utiliser le chiffrement côté serveur avec AWS Key Management Service (AWS KMS) keys (SSE-KMS).

Lors de la création de vos tables AWS gérées, vous pouvez choisir de les chiffrer avec SSE-KMS. Si vous choisissez de l'utiliser SSE-KMS, vous devez fournir une clé KMS gérée par le client dans la même région que votre compartiment de tables AWS géré. Vous pouvez définir le type de cryptage pour vos tables AWS gérées uniquement lors de la création des tables. Une fois qu'une table AWS gérée est créée, vous ne pouvez pas modifier ses paramètres de chiffrement.

Si vous souhaitez que le compartiment de tables AWS géré et les tables qui y sont stockées utilisent la même clé KMS, assurez-vous d'utiliser la même clé KMS que celle que vous avez utilisée pour chiffrer vos tables afin de chiffrer votre compartiment de tables après sa création. Une fois que vous avez modifié les paramètres de chiffrement par défaut à utiliser pour votre compartiment de tables SSE-KMS, ces paramètres de chiffrement sont utilisés pour toutes les futures tables créées dans le compartiment.