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à.
Accesso alle tabelle Amazon S3 utilizzando l’endpoint AWS Glue Iceberg REST
Una volta integrati i bucket di tabelle S3 con l'endpoint, AWS Glue Data Catalog puoi utilizzare l' AWS GlueIceberg RESTendpoint per connetterti alle tabelle S3 da Apache Iceberg client compatibili, come o. PyIceberg Spark L' AWS Glue Iceberg RESTendpoint implementa la specifica Iceberg REST Catalog Open API
Per una procedura dettagliata sull’utilizzo di PyIceberg, consulta Accesso ai dati in Tabelle Amazon S3 utilizzando PyIceberg tramite l’endpoint AWS Glue Iceberg REST
Prerequisiti
Creazione di un ruolo IAM per il client
Per accedere alle tabelle tramite gli AWS Glue endpoint, devi creare un ruolo IAM con autorizzazioni AWS Glue e azioni Lake Formation. Questa procedura spiega come creare questo ruolo e configurarne le autorizzazioni.
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. Nel riquadro di navigazione sinistro, scegli Policy.
Scegli Crea una policy e scegliere JSON nell'editor delle policy.
Aggiungi la seguente politica in linea che concede le autorizzazioni all'accesso e alle azioni di Lake AWS Glue Formation:
-
Dopo aver creato la policy, crea un ruolo IAM e scegli Policy di attendibilità personalizzata per Tipo di entità attendibile.
-
Inserisci quanto segue per la Policy di attendibilità personalizzata.
Definizione dell’accesso in Lake Formation
Lake Formation fornisce un controllo granulare degli accessi per le tabelle del data lake. Quando hai integrato il tuo bucket S3 con AWS Glue Data Catalog, le tue tabelle venivano automaticamente registrate come risorse in Lake Formation. Per accedere a queste tabelle, è necessario fornire autorizzazioni specifiche di Lake Formation all’identità IAM, oltre alle autorizzazioni relative alle relative policy IAM.
Le seguenti fasi spiegano come applicare i controlli degli accessi di Lake Formation per consentire al client Iceberg di connettersi alle tabelle. È necessario accedere come amministratore del data lake per applicare queste autorizzazioni.
Consenso per l’accesso ai dati delle tabelle dai motori esterni
In Lake Formation, è necessario abilitare l’accesso completo alle tabelle per consentire ai motori esterni di accedere ai dati. Ciò consente alle applicazioni di terze parti di ottenere credenziali temporanee da Lake Formation quando utilizzano un ruolo IAM con autorizzazioni complete sulla tabella richiesta.
Apri la console Lake Formation all'indirizzo https://console.aws.amazon.com/lakeformation/
Apri la console Lake Formation all'indirizzo https://console.aws.amazon.com/lakeformation/
e accedi come amministratore del data lake. Nel riquadro di navigazione, scegliere Impostazioni di integrazione di applicazioni in Amministrazione.
Selezionare Consenti ai motori esterni di accedere ai dati nelle posizioni Amazon S3 con accesso completo alla tabella. Quindi scegli Save (Salva).
Concedere le autorizzazioni di Lake Formation sulle risorse delle tabelle
Successivamente, si forniscono a Lake Formation le autorizzazioni per il ruolo IAM creato per il client compatibile con Iceberg. Queste autorizzazioni consentono al ruolo di creare e gestire tabelle nel namespace. È necessario fornire sia le autorizzazioni a livello di database sia a livello di tabella. Per ulteriori informazioni, consulta Concessione dell’autorizzazione Lake Formation per una tabella o un database.
Configurazione dell’ambiente per l’utilizzo dell’endpoint
Dopo aver configurato il ruolo IAM con le autorizzazioni necessarie per l'accesso alla tabella, puoi utilizzarlo per eseguire Iceberg i client dal tuo computer locale configurandolo AWS CLI con il tuo ruolo, utilizzando il seguente comando:
aws sts assume-role --role-arn "arn:aws:iam::<accountid>:role/<glue-irc-role>" --role-session-name<glue-irc-role>
Per accedere alle tabelle tramite l' AWS Glue RESTendpoint, devi inizializzare un catalogo nel tuo client compatibile. Iceberg Questa inizializzazione richiede la specifica di proprietà personalizzate, tra cui le proprietà sigv4, l’URI dell’endpoint e la posizione del warehouse. Queste proprietà si specificano come segue:
-
Proprietà Sigv4: Sigv4 deve essere abilitato, il nome della firma è
glue -
Posizione del warehouse: è il bucket di tabelle, specificato nel formato
<accountid>:s3tablescatalog/<table-bucket-name> -
URI dell'endpoint: consulta la guida di riferimento sugli endpoint del AWS Glue servizio per l'endpoint specifico della regione
L’esempio seguente mostra come inizializzare un catalogo pyIceberg.
rest_catalog = load_catalog(s3tablescatalog, **{ "type": "rest", "warehouse": "<accountid>:s3tablescatalog/<table-bucket-name>", "uri": "https://glue.<region>.amazonaws.com/iceberg", "rest.sigv4-enabled": "true", "rest.signing-name": "glue", "rest.signing-region": region } )
Per ulteriori informazioni sull’implementazione degli endpoint AWS GlueIceberg REST, consulta Connessione al Catalogo dati utilizzando l’endpoint AWS GlueIceberg REST nella Guida per l’utente di AWS Glue .