Utilizzo di secchi da tavolo AWS 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à.

Utilizzo di secchi da tavolo AWS gestiti

AWS i managed table bucket sono table bucket specializzati di Amazon S3 progettati per AWS archiviare tabelle gestite, come il diario S3 Metadata e le tabelle di inventario live. A differenza dei table bucket gestiti dal cliente che crei e gestisci direttamente, i table bucket AWS gestiti vengono forniti automaticamente quando configuri funzionalità che richiedono tabelle gestite. AWS AWS Quando vengono create, le tabelle gestite appartengono a uno spazio dei nomi predefinito basato sul nome del bucket di origine. Questo spazio dei nomi predefinito non può essere modificato.

Ciascuno Account AWS ha un bucket di tabella AWS gestito per regione, secondo la convenzione di denominazione. aws-s3 Questo bucket funge da posizione centralizzata per tutte le tabelle gestite associate alle risorse del tuo account in quella regione.

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

Funzionalità AWS secchi da tavolo gestiti bucket da tavolo gestiti dal cliente
Creazione Creato automaticamente da Servizi AWS Li crei manualmente
Denominazione Usa una convenzione di denominazione standard () aws-s3 Siete voi a definire i vostri nomi
Creazione di tabelle Solo Servizi AWS può creare tabelle È possibile creare tabelle
Controllo del namespace Non è possibile creare o eliminare spazi dei nomi (tutte le tabelle appartengono a uno spazio dei nomi fisso) È possibile creare ed eliminare namespace
Accesso Accesso in sola lettura 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 È possibile impostare la crittografia predefinita a livello di bucket e modificarla in qualsiasi momento
Maintenance (Manutenzione) Gestito da Servizi AWS È possibile personalizzare la manutenzione automatizzata a livello di bucket

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

Per utilizzare i bucket di tabella AWS gestiti, sono necessarie le autorizzazioni per creare bucket di tabelle 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 in bucket di tabelle AWS 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 bucket di tabelle AWS gestiti

È possibile interrogare le tabelle AWS gestite in 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 le tabelle AWS gestite con le proprie tabelle:

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 interrogare la tabella conSpark:

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 tabulari gestiti

Per impostazione predefinita, i bucket di tabella AWS gestiti sono crittografati con crittografia lato server utilizzando chiavi gestite di Amazon S3 (SSE-S3). Dopo aver creato il bucket table AWS gestito, puoi utilizzarlo PutTableBucketEncryptionper impostare l'impostazione di crittografia predefinita del bucket in modo da utilizzare la crittografia lato server con chiavi () (SSE-KMS). AWS Key Management Service AWS 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 gestito. AWS È 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 l'impostazione di crittografia.

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