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 delle tabelle AWS Amazon S3 con i servizi di analisi
Questo argomento descrive i prerequisiti e le procedure necessarie per integrare i bucket AWS di tabelle Amazon S3 con i servizi di analisi. Per una panoramica di come funziona l’integrazione, consulta Panoramica dell’integrazione di Tabelle S3.
Nota
Questa integrazione utilizza i AWS Lake Formation servizi AWS Glue and e potrebbe comportare costi di richiesta e archiviazione. AWS Glue Per ulteriori informazioni, consultare AWS Glue Prezzi
Vengono applicati costi aggiuntivi per l'esecuzione di query sulle tabelle S3. Per ulteriori informazioni, consulta le informazioni sui prezzi del motore di query in uso.
Prerequisiti per l'integrazione
Per integrare i table bucket con i servizi di analisi sono necessari i seguenti prerequisiti: AWS
Collega la policy AWSLakeFormationDataAdmin AWS gestita al tuo principale AWS Identity and Access Management (IAM) per rendere quell'utente un 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 .
-
Aggiungere autorizzazioni per l'operazione
glue:PassConnectional principale IAM. -
Aggiungere autorizzazioni per le operazioni
lakeformation:RegisterResourceelakeformation:RegisterResourceWithPrivilegedAccessal principale IAM. Effettua l'aggiornamento alla versione più recente di AWS Command Line Interface (AWS 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 contengono lettere maiuscole, la tabella non è supportata da AWS Lake Formation o da AWS Glue Data Catalog. In questo caso, la tua tabella non sarà visibile ai servizi di AWS analisi come Amazon Athena, anche se i tuoi table bucket sono integrati con AWS servizi di analisi.
Se la definizione della tabella contiene lettere maiuscole, ricevi 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 tabelle o colonne non validi».
Integrazione dei bucket di tabelle con i servizi di analisi AWS
Amazon S3 Tables si integra con AWS Glue Data Catalog (Data Catalog) e registra il catalogo come posizione dati di Lake Formation. Puoi configurare questa registrazione dalla console di Lake Formation o utilizzando il servizio APIs. Quando registri la sede, devi specificare un ruolo IAM che conceda read/write le autorizzazioni al ruolo registrato di Lake Formation per accedere a quella posizione. Lake Formation assume questo ruolo quando fornisce credenziali temporanee ai servizi integrati. AWS
Se disponi di una policy basata sulle risorse IAM o S3 Tables che limita gli utenti IAM e i ruoli IAM in base ai tag principali, devi associare gli stessi tag principali al ruolo IAM utilizzato da Lake Formation per accedere ai tuoi dati Amazon S3 (ad esempio LakeFormationDataAccessRole) e concedere a questo ruolo le autorizzazioni necessarie. Ciò è necessario affinché la politica di controllo degli accessi basata su tag funzioni correttamente con l'integrazione dell'analisi di S3 Tables.
Questa integrazione deve essere configurata una volta per regione. AWS
Importante
L'integrazione dei servizi di AWS analisi ora utilizza l'WithPrivilegedAccessopzione nell'operazione dell'API registerResource Lake Formation per registrare i bucket di tabelle S3. L'integrazione ora crea anche il s3tablescatalog catalogo AWS Glue Data Catalog utilizzando l'AllowFullTableExternalDataAccessopzione nell'operazione CreateCatalog AWS Glue API.
Se si configura l’integrazione con la versione di anteprima, è possibile continuare a utilizzare l’integrazione attuale. Tuttavia, il processo di integrazione aggiornato offre miglioramenti delle prestazioni, quindi è consigliabile effettuare la migrazione. Per eseguire la migrazione all’integrazione aggiornata, consulta Migrazione al processo di integrazione aggiornato.
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.
La prima volta che si integrano i bucket di tabelle in qualsiasi Regione, Amazon S3 crea un nuovo ruolo di servizio IAM per conto dell’utente. Questo ruolo consente a Lake Formation di accedere a tutti i bucket di tabelle dell'account dell'utente e di federare l'accesso alle tabelle in AWS Glue Data Catalog.
Per integrare i secchi da tavolo utilizzando il AWS CLI
I passaggi seguenti mostrano come utilizzare i bucket AWS CLI da tavolo 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 ruolo di servizio IAM che consente a Lake Formation di accedere alle risorse della propria tabella.
-
Creare un file denominato
Role-Trust-Policy.jsoncontenente la seguente policy di attendibilità:Creare un ruolo di servizio IAM utilizzando il comando seguente:
aws iam create-role \ --role-nameS3TablesRoleForLakeFormation\ --assume-role-policy-document file://Role-Trust-Policy.json -
Creare un file denominato
LF-GluePolicy.jsoncontenente la seguente policy:Collegare la policy al ruolo utilizzando il comando seguente:
aws iam put-role-policy \ --role-nameS3TablesRoleForLakeFormation\ --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \ --policy-document file://LF-GluePolicy.json
-
-
Creare un file denominato
input.jsoncontenente quanto segue:{ "ResourceArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "WithFederation": true, "RoleArn": "arn:aws:iam::111122223333:role/S3TablesRoleForLakeFormation" }Registrare i bucket di tabelle con Lake Formation utilizzando il comando seguente:
aws lakeformation register-resource \ --regionus-east-1\ --with-privileged-access \ --cli-input-json file://input.json -
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":[], "CreateTableDefaultPermissions":[], "AllowFullTableExternalDataAccess": "True" } }Creare il catalogo
s3tablescatalogutilizzando il comando seguente. La creazione di questo catalogo lo popola AWS Glue Data Catalog con oggetti corrispondenti a bucket di tabella, 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 comando AWS Glue seguente:aws glue get-catalog --catalog-id s3tablescatalog
Il processo di integrazione dei servizi di AWS analisi è stato aggiornato. Se l’integrazione è stata configurata con la versione di anteprima, è possibile continuare a utilizzare l’integrazione attuale. Tuttavia, il processo di integrazione aggiornato offre miglioramenti delle prestazioni, quindi è consigliabile effettuare la migrazione utilizzando le seguenti fasi. Per ulteriori informazioni sul processo di migrazione o integrazione, consulta Creazione di un catalogo Tabelle Amazon S3 nel AWS Glue Data Catalog nella Guida per gli sviluppatori di AWS Lake Formation .
-
Apri la AWS Lake Formation console all'indirizzo https://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 il
s3tablescatalogcatalogo e la posizione del data lake, puoi seguire i passaggi per integrare i table bucket con i servizi di AWS analisi utilizzando il processo di integrazione aggiornato.
Nota
Se desideri utilizzare tabelle crittografate SSE-KMS in servizi di AWS analisi integrati, il ruolo che utilizzi deve disporre dell'autorizzazione a utilizzare la tua AWS KMS chiave per le operazioni di crittografia. Per ulteriori informazioni, consulta Concessione ai dirigenti IAM delle autorizzazioni per l'utilizzo di tabelle crittografate nei servizi di analisi integrati AWS.
Dopo l’integrazione, il principale IAM dispone delle autorizzazioni Lake Formation per accedere alle tabelle. Per consentire ad altri principali IAM di accedere alle tabelle, è necessario fornire a tali principali le autorizzazioni Lake Formation per le tabelle. Per ulteriori informazioni, consulta Gestione dell’accesso a una tabella o a un database con Lake Formation.