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 tramite l'endpoint AWS GlueIceberg REST
Una volta integrati i bucket di tabelle S3 con, 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'utilizzoPyIceberg, consulta Accedere ai dati nelle tabelle Amazon S3 PyIceberg utilizzando l'
Prerequisiti
Crea un ruolo IAM per il tuo cliente
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 Custom Trust Policy come tipo di entità affidabile.
-
Inserisci quanto segue per la politica di fiducia personalizzata.
Definisci l'accesso in Lake Formation
Lake Formation offre un controllo granulare degli accessi per le tabelle dei 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, devi concedere autorizzazioni specifiche di Lake Formation alla tua identità IAM, oltre alle autorizzazioni relative alle relative policy IAM.
I passaggi seguenti spiegano come applicare i controlli di accesso di Lake Formation per consentire al Iceberg client di connettersi ai tavoli. È necessario accedere come amministratore del data lake per applicare queste autorizzazioni.
Consenti ai motori esterni di accedere ai dati delle tabelle
In Lake Formation, è necessario abilitare l'accesso completo alla tabella 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 in Amministrazione, scegli Impostazioni di integrazione delle applicazioni.
Seleziona 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, concedi le autorizzazioni a Lake Formation per il ruolo IAM che hai creato per il tuo client compatibile con Iceberg. Queste autorizzazioni consentiranno al ruolo di creare e gestire tabelle nel tuo namespace. È necessario fornire sia le autorizzazioni a livello di database che a livello di tabella. Per ulteriori informazioni, consulta Concessione dell'autorizzazione a Lake Formation su una tabella o un database.
Configura il tuo ambiente per utilizzare l'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 specificazione di proprietà personalizzate, tra cui le proprietà sigv4, l'URI dell'endpoint e la posizione del magazzino. Specificate queste proprietà come segue:
-
Proprietà Sigv4: Sigv4 deve essere abilitato, il nome della firma è
glue
-
Ubicazione del magazzino: questo è il tuo secchio da tavolo, specificato nel seguente 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 AWS GlueIceberg REST endpoint, vedere Connecting to the Data Catalog using AWS GlueIceberg REST endpoint nella Guida per l'AWS Glue utente.