View a markdown version of this page

Integrazione delle tabelle AWS Amazon S3 con i servizi di analisi - 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à.

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 AWS Glue Data Catalog e potrebbe comportare costi di richiesta e archiviazione. AWS Glue Per ulteriori informazioni, consultare 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

  • Creare un bucket di tabelle.

  • Aggiungi le seguenti AWS Glue autorizzazioni al tuo principale AWS Identity and Access Management (IAM):

    • glue:CreateCatalognecessario per creare un catalogo s3tablescatalog federato nel Data Catalog

    • glue:PassConnectionconcede al principale chiamante il diritto di delegare la creazione della aws:s3tables connessione al servizio Amazon S3.

  • 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

Puoi integrare i table bucket 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 esegui l'integrazione utilizzando i controlli di accesso IAM, richiedi i privilegi IAM per accedere a bucket e tabelle di tabelle Amazon S3, oggetti 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 del Data Catalog. Consulta la AWS Lake Formation Developer Guide per ulteriori informazioni sull'integrazione di Lake Formation.

Le seguenti sezioni descrivono come utilizzare la console di gestione Amazon S3 o AWS CLI configurare l'integrazione con i controlli di accesso IAM.

  1. Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel pannello di navigazione a sinistra, scegli Bucket di tabelle.

  3. Seleziona Crea bucket di tabelle.

    Viene visualizzata la pagina Create bucket di tabelle.

  4. Inserisci un Nome del bucket di tabelle e assicurati che sia selezionata l’opzione Abilita integrazione.

  5. Seleziona Crea bucket di tabelle. Amazon S3 tenterà di integrare automaticamente i bucket di tabelle in tale Regione.

Per integrare i table bucket con i controlli di accesso IAM utilizzando il AWS CLI

I passaggi seguenti mostrano come utilizzare i bucket AWS CLI da tabella per integrare. Per utilizzare queste fasi, sostituisci user input placeholders con le informazioni appropriate.

  1. Creare un bucket di tabelle.

    aws s3tables create-table-bucket \ --region us-east-1 \ --name amzn-s3-demo-table-bucket
  2. Creare un file denominato catalog.json contenente 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 s3tablescatalog utilizzando 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 \ --region us-east-1 \ --cli-input-json file://catalog.json
  3. Verificate che il s3tablescatalog catalogo 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 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 ripetere l'integrazione per eliminare la configurazione esistente AWS Glue Data Catalog AWS Lake Formation e rieseguire l'integrazione. Ciò rimuoverà tutte le sovvenzioni di Lake Formation esistenti e le autorizzazioni di accesso associate a. s3tablescatalog

  1. 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 .

  2. Elimina il catalogo s3tablescatalog come segue:

    • Nel riquadro di navigazione a sinistra, seleziona Cataloghi.

    • Seleziona il pulsante di opzione accanto al catalogo s3tablescatalog nell’elenco Cataloghi. Dal menu Actions (Operazioni), scegli Delete (Elimina).

  3. Annulla la registrazione della posizione dei dati per il catalogo s3tablescatalog come 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 esempio s3://tables:region:account-id:bucket/*.

    • Nel menu Operazioni scegli Rimuovi.

    • Nella finestra di dialogo di conferma che viene visualizzata, scegli Rimuovi.

  4. Ora che hai eliminato il s3tablescatalog catalogo 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.