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à.
Integrazione di Amazon S3 Tables con AWS servizi di analisi
Questo argomento illustra i prerequisiti e le procedure necessari per integrare i bucket di tabelle Amazon S3 con i servizi di analisi. AWS Per una panoramica di come funziona l’integrazione, consulta Panoramica dell’integrazione di Tabelle S3.
Nota
Questa integrazione utilizza AWS Glue Data Catalog e potrebbe comportare costi di AWS Glue richiesta e archiviazione. Per ulteriori informazioni, consulta AWS Glue Prezzi
Si applicano prezzi aggiuntivi per l'esecuzione di query su S3 Tables. Per ulteriori informazioni, consulta le informazioni sui prezzi del motore di query in uso.
Prerequisiti per l'integrazione
I seguenti prerequisiti sono necessari per integrare i bucket di tabelle con i servizi di analisi: AWS
Aggiungi le seguenti AWS Glue autorizzazioni al tuo principale AWS Identity and Access Management (IAM):
glue:CreateCatalognecessario per creare un catalogos3tablescatalogfederato nel Data Catalogglue:PassConnectionconcede al committente chiamante il diritto di delegare la creazione dellaaws:s3tablesconnessione al servizio Amazon S3.
Aggiornamento alla versione più recente di (). AWS Command Line InterfaceAWS CLI
Importante
Durante la creazione delle tabelle, è necessario utilizzare solo lettere minuscole nei nomi delle tabelle e nelle definizioni delle tabelle. Ad esempio, è necessario verificare che i nomi delle colonne siano tutti in minuscolo. Se il nome o la definizione della tabella contiene lettere maiuscole, la tabella non è supportata da AWS Lake Formation o da AWS Glue Data Catalog. In questo caso, la tabella non sarà visibile ai servizi di AWS analisi come Amazon Athena, anche se i bucket di tabelle sono integrati con i servizi di AWS analisi.
Se la definizione della tabella contiene lettere maiuscole, riceverai il seguente messaggio di errore quando esegui una SELECT query in Athena: «GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model. ValidationException: Risorsa federativa non supportata: nomi di tabella o colonna non validi.»
Integrazione di secchi da tavolo con AWS servizi di analisi
È possibile integrare i bucket di tabelle con Data Catalog e i servizi di AWS analisi utilizzando i controlli di accesso IAM per impostazione predefinita o, facoltativamente, utilizzare i controlli di accesso di Lake Formation.
Quando effettui l'integrazione utilizzando i controlli di accesso IAM, hai bisogno dei privilegi IAM per accedere ai bucket e alle tabelle di Amazon S3, agli oggetti del Data Catalog e al motore di query che stai utilizzando. Se scegli di effettuare l'integrazione utilizzando Lake Formation, sia i controlli di accesso IAM che le sovvenzioni Lake Formation determinano l'accesso alle risorse di Data Catalog. Fai riferimento alla AWS Lake Formation Developer Guide per saperne di più sull'integrazione con Lake Formation.
Le sezioni seguenti descrivono come utilizzare la console di gestione Amazon S3 o AWS CLI configurare l'integrazione con i controlli di accesso IAM.
Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
Nel pannello di navigazione a sinistra, scegli Bucket di tabelle.
Seleziona Crea bucket di tabelle.
Viene visualizzata la pagina Create bucket di tabelle.
Inserisci un Nome del bucket di tabelle e assicurati che sia selezionata l’opzione Abilita integrazione.
Seleziona Crea bucket di tabelle. Amazon S3 tenterà di integrare automaticamente i bucket di tabelle in tale Regione.
Per integrare i bucket di tabelle con i controlli di accesso IAM utilizzando AWS CLI
I passaggi seguenti mostrano come utilizzare i bucket di tabella AWS CLI per integrare. Per utilizzare queste fasi, sostituisci con le informazioni appropriate.user input placeholders
Creare un bucket di tabelle.
aws s3tables create-table-bucket \ --regionus-east-1\ --nameamzn-s3-demo-table-bucket-
Creare un file denominato
catalog.jsoncontenente il catalogo seguente:{ "Name": "s3tablescatalog", "CatalogInput": { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions":[ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": ["ALL"] } ], "CreateTableDefaultPermissions":[ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": ["ALL"] } ], "AllowFullTableExternalDataAccess": "True" } }Creare il catalogo
s3tablescatalogutilizzando il comando seguente. La creazione di questo catalogo lo compila AWS Glue Data Catalog con oggetti corrispondenti a bucket di tabelle, namespace e tabelle.aws glue create-catalog \ --regionus-east-1\ --cli-input-json file://catalog.json Verificate che il
s3tablescatalogcatalogo sia stato aggiunto utilizzando il seguente AWS Glue comando:aws glue get-catalog --catalog-id s3tablescatalog
Il processo di integrazione dei servizi di AWS analisi è stato aggiornato per utilizzare le autorizzazioni IAM per impostazione predefinita. Se hai già configurato l'integrazione, puoi continuare a utilizzare l'integrazione attuale. Tuttavia, se desideri modificare l'integrazione esistente per utilizzare invece le autorizzazioni IAM, consulta la Guida per AWS Lake Formation gli sviluppatori. Puoi anche rifare l'integrazione per eliminare la configurazione esistente AWS Glue Data Catalog AWS Lake Formation ed eseguire nuovamente l'integrazione. Ciò rimuoverà tutte le concessioni Lake Formation esistenti e le autorizzazioni di accesso associate a. s3tablescatalog
-
Apri la AWS Lake Formation console all'indirizzohttps://console.aws.amazon.com/lakeformation/
, e accedi come amministratore del data lake. Per ulteriori informazioni su come creare un amministratore del data lake, consulta Creare un amministratore di data lake nella Guida per gli sviluppatori di AWS Lake Formation . -
Elimina il catalogo
s3tablescatalogcome segue:-
Nel riquadro di navigazione a sinistra, seleziona Cataloghi.
-
Seleziona il pulsante di opzione accanto al catalogo
s3tablescatalognell’elenco Cataloghi. Dal menu Actions (Operazioni), scegli Delete (Elimina).
-
-
Annulla la registrazione della posizione dei dati per il catalogo
s3tablescatalogcome segue:-
Nel riquadro di navigazione a sinistra, vai alla sezione Amministrazione e scegli Posizioni del data lake.
-
Seleziona il pulsante di opzione accanto alla posizione del data lake
s3tablescatalog, ad esempios3://tables:.region:account-id:bucket/* -
Nel menu Operazioni scegli Rimuovi.
-
Nella finestra di dialogo di conferma che viene visualizzata, scegli Rimuovi.
-
-
Ora che hai eliminato la posizione
s3tablescatalogdel catalogo e del data lake, puoi seguire i passaggi per integrare i bucket di tabelle con i servizi di AWS analisi utilizzando il processo di integrazione aggiornato.
Nota
Se desideri lavorare con tabelle SSE-KMS crittografate nei servizi di AWS analisi integrati, il ruolo che utilizzi deve disporre dell'autorizzazione per utilizzare la tua AWS KMS chiave per le operazioni di crittografia. Per ulteriori informazioni, consulta Concessione ai principali IAM delle autorizzazioni per lavorare con tabelle crittografate in modalità integrata AWS servizi di analisi.