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 un namespace predefinito basato sul nome del bucket di origine. Questo namespace 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 dell’account nella Regione in uso.

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

Funzionalità AWS secchi da tavolo gestiti Bucket di tabelle gestiti dal cliente
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 Solo Servizi AWS può creare 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 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 AWS Key Management Service dal cliente ()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 per lavorare con bucket di tabelle AWS gestiti e per interrogare 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 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 a 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 si sceglie di utilizzare SSE-KMS, è necessario fornire una chiave KMS gestita dal cliente nella stessa Regione del bucket di tabelle gestito da 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 tabelle in modo da utilizzare SSE-KMS, tali impostazioni di crittografia vengono utilizzate per tutte le future tabelle create nel bucket.