View a markdown version of this page

Lavorare con AWS bucket da tavolo gestiti - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Lavorare con AWS bucket da tavolo gestiti

AWS i bucket di tabelle gestiti sono bucket di tabelle Amazon S3 specializzati progettati per archiviare tabelle AWS gestite, come il diario dei metadati Individuazione dei dati con le tabelle di S3 Metadata S3 e le tabelle di inventario in tempo reale. A differenza dei bucket di tabelle gestiti dai clienti che puoi creare e gestire direttamente, i bucket di tabelle AWS gestiti vengono assegnati automaticamente quando configuri funzionalità che richiedono tabelle gestite. AWS AWS Quando vengono create, le tabelle gestite appartengono a un namespace predefinito basato sul nome del bucket di origine. Questo namespace predefinito non può essere modificato.

Ognuno Account AWS ha un bucket di tabelle AWS gestito per regione, seguendo la convenzione di denominazione. aws-s3 Questo bucket funge da posizione centralizzata per tutte le tabelle gestite associate alle risorse dell’account nella Regione in uso.

La tabella seguente confronta i bucket di tabelle AWS gestiti con i bucket di tabella gestiti dal cliente.

Funzionalità AWS bucket da tavolo gestiti Customer-managed secchi da tavolo
Creazione Creato automaticamente da Servizi AWS Creati manualmente
Denominazione Utilizzano una convenzione di denominazione standard (aws-s3) I nomi vengono definiti dall’utente
Creazione di tabelle È Servizi AWS possibile creare solo tabelle Le tabelle possono essere create dall’utente
Controllo dei namespace Non è possibile creare o eliminare namespace (tutte le tabelle appartengono a un namespace fisso) I namespace possono essere creati ed eliminati dall’utente
Accesso Read-only accesso Accesso completo ad
Encryption (Crittografia) È possibile modificare le impostazioni di crittografia predefinite (SSE-S3) solo se la tabella iniziale è stata crittografata con una chiave gestita dal cliente AWS Key Management Service (AWS KMS) La crittografia predefinita a livello di bucket può essere impostata e modificata in qualsiasi momento dall’utente
Maintenance (Manutenzione) Gestito da Servizi AWS La manutenzione automatizzata a livello di bucket può essere personalizzata dall’utente

Autorizzazioni con cui lavorare AWS bucket di tabelle gestiti e per interrogare le tabelle

Per utilizzare i bucket di tabelle AWS gestiti, sono necessarie le autorizzazioni per creare bucket e tabelle AWS gestiti e per specificare le impostazioni di crittografia per le tabelle gestite. AWS Sono inoltre necessarie le autorizzazioni per interrogare le tabelle nei bucket di tabelle gestiti AWS .

La seguente politica di esempio consente di creare un bucket di tabelle AWS gestito tramite una configurazione di metadati 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" ] } ] }

La seguente politica di esempio consente di interrogare le tabelle nei AWS bucket di tabelle gestiti:

{ "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" ] } ] }

Interrogazione di tabelle in AWS bucket di tabelle gestiti

È possibile interrogare le tabelle AWS gestite nei bucket di tabelle AWS gestite utilizzando metodi e motori di accesso supportati da S3 Tables. Di seguito sono riportati alcuni esempi di query.

Using standard SQL

L'esempio seguente mostra come interrogare le tabelle AWS gestite utilizzando la sintassi SQL standard:

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

L'esempio seguente mostra come unire tabelle AWS gestite con tabelle personalizzate:

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’esempio seguente mostra come eseguire una query sulla tabella con Spark:

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

L'esempio seguente mostra come unire la tabella AWS gestita con un'altra tabella:

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

Crittografia per AWS bucket di tabelle gestiti

Per impostazione predefinita, i bucket di tabelle AWS gestiti sono crittografati con crittografia lato server utilizzando le chiavi gestite di Amazon S3 (). SSE-S3 Dopo aver creato il bucket di tabelle AWS gestite, puoi utilizzarlo PutTableBucketEncryption per impostare l'impostazione di crittografia predefinita del bucket in modo che utilizzi la crittografia lato server con () keys (). AWS Key Management Service AWS KMS SSE-KMS

Durante la creazione delle tabelle AWS gestite, puoi scegliere di crittografarle con. SSE-KMS Se scegli di utilizzare SSE-KMS, devi fornire una chiave KMS gestita dal cliente nella stessa regione del bucket di tabelle AWS gestito. È possibile impostare il tipo di crittografia per le tabelle AWS gestite solo durante la creazione della tabella. Dopo aver creato una tabella AWS gestita, non è possibile modificarne le impostazioni di crittografia.

Se desideri che il bucket di tabelle AWS gestite e le tabelle in esso archiviate utilizzino la stessa chiave KMS, assicurati di utilizzare la stessa chiave KMS che hai usato per crittografare le tabelle per crittografare il bucket di tabelle dopo che è stato creato. Dopo aver modificato le impostazioni di crittografia predefinite per il bucket di tabelle da utilizzare SSE-KMS, tali impostazioni di crittografia vengono utilizzate per tutte le tabelle future create nel bucket.