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 utilizzando le tabelle Amazon S3 Iceberg REST endpoint
Puoi connettere il tuo Iceberg REST client per le tabelle Amazon S3 Iceberg REST endpoint e make REST API chiamate per creare, aggiornare o interrogare tabelle nei bucket di tabelle S3. L'endpoint implementa una serie di standard Iceberg REST APIs specificato nel Apache Iceberg REST Specifiche dell'API Catalog Open
Nota
Tabelle di Amazon S3 Iceberg REST l'endpoint può essere utilizzato per accedere alle tabelle nelle implementazioni del catalogo AWS Partner Network (APN) o nelle implementazioni del catalogo personalizzato. Può essere utilizzato anche se è necessario solo l'accesso di base in lettura/scrittura a un singolo bucket di tabelle. Per altri scenari di accesso si consiglia di utilizzare il AWS Glue Iceberg REST endpoint per connettersi alle tabelle, che fornisce gestione unificata delle tabelle, governance centralizzata e controllo granulare degli accessi. Per ulteriori informazioni, consulta Accesso alle tabelle Amazon S3 tramite AWS Glue Iceberg REST endpoint
Configurazione dell'endpoint
Ti connetti ai tavoli Amazon S3 Iceberg REST endpoint che utilizza l'endpoint del servizio. Tabelle S3 Iceberg REST gli endpoint hanno il seguente formato:
https://s3tables.<REGION>.amazonaws.com/iceberg
Tabelle ed endpoint S3 Regioni AWSPer gli endpoint specifici della regione, fare riferimento a.
Proprietà di configurazione del catalogo
Quando si utilizza un client Iceberg per connettere un motore di analisi all'endpoint del servizio, è necessario specificare le seguenti proprietà di configurazione quando si inizializza il catalogo. Sostituiscili placeholder values
con le informazioni relative alla tua regione e al tuo bucket di tabella.
L'endpoint specifico della regione come URI dell'endpoint:
https://s3tables.<REGION>.amazonaws.com/iceberg
Il tuo secchio da tavolo ARN come ubicazione del magazzino:
arn:aws:s3tables:<region>:<accountID>:bucket/<bucketname>
Proprietà Sigv4 per l'autenticazione. Il nome di firma SigV4 per le richieste degli endpoint di servizio è:
s3tables
I seguenti esempi mostrano come configurare diversi client per utilizzare le tabelle Amazon S3. Iceberg REST endpoint.
Autenticazione e autorizzazione dell'accesso all'endpoint
Le richieste API agli endpoint del servizio S3 Tables vengono autenticate utilizzando AWS Signature Version 4 (SigV4). Consulta AWS Signature Version 4 per le richieste API per saperne di più su SigV4. AWS
Il nome di firma SigV4 per Amazon S3 Tables Iceberg REST le richieste degli endpoint sono: s3tables
Richieste alle tabelle Amazon S3 Iceberg REST gli endpoint sono autorizzati utilizzando azioni s3tables
IAM corrispondenti a REST operazioni API. Queste autorizzazioni possono essere definite in policy basate sull'identità IAM o in policy basate sulle risorse collegate a tabelle e bucket di tabelle. Per ulteriori informazioni, consulta Gestione degli accessi per Tabelle S3.
Puoi tenere traccia delle richieste fatte ai tuoi tavoli tramite REST endpoint con AWS CloudTrail. Le richieste verranno registrate come azione S3 IAM corrispondente. Ad esempio, un'LoadTable
API genererà un evento di gestione per l'GetTableMetadataLocation
operazione e un evento di dati per l'GetTableData
operazione. Per ulteriori informazioni, consulta Registrazione con AWS CloudTrail per le tabelle S3.
Parametri del prefisso e del percorso
Iceberg REST APIs i cataloghi hanno un prefisso in formato libero nella richiesta. URLs Ad esempio, la chiamata ListNamespaces
API utilizza il GET/v1/{prefix}/namespaces
formato URL. Per le tabelle S3, il percorso REST {prefix}
è sempre l'ARN del bucket di tabella con codifica URL.
Ad esempio, per il seguente bucket di tabella ARNarn:aws:s3tables:
: il prefisso sarebbe: us-east-1
:111122223333:bucket/bucketname
arn%3Aaws%3As3tables%3A
us-east-1
%3A111122223333
%3Abucket%2Fbucketname
parametro del percorso dello spazio dei nomi
Spazi dei nomi in un Iceberg REST il percorso dell'API del catalogo può avere più livelli. Tuttavia, S3 Tables supporta solo namespace a livello singolo. Per accedere a uno spazio dei nomi in una gerarchia di cataloghi a più livelli, puoi connetterti a un catalogo a più livelli sopra lo spazio dei nomi quando fai riferimento allo spazio dei nomi. Ciò consente a qualsiasi motore di query che supporti la notazione in 3 parti di accedere agli oggetti nella gerarchia del catalogo di S3 Tables senza problemi di catalog.namespace.table
compatibilità rispetto all'utilizzo dello spazio dei nomi a più livelli.
Supportato Iceberg REST Operazioni API
La tabella seguente contiene i REST APIs di Iceberg supportati e il modo in cui corrispondono alle azioni di S3 Tables.
Operazione Iceberg REST | Percorso REST | Azione IAM di S3 Tables | CloudTrail EventName |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Considerazioni e limitazioni
Di seguito sono riportate considerazioni e limitazioni relative all'utilizzo delle tabelle Amazon S3 Iceberg REST endpoint.
Considerazioni
CreateTable Comportamento dell'API:
stage-create
l'opzione non è supportata per questa operazione e genera un400 Bad Request
errore. Ciò significa che non è possibile creare una tabella dai risultati delle query utilizzandoCREATE TABLE AS SELECT
(CTAS).DeleteTable Comportamento delle API: puoi eliminare le tabelle solo con l'eliminazione abilitata. L'eliminazione di tabelle con non
purge=false
è supportata e genera un400 Bad Request
errore. Alcune versioni di Spark imposta sempre questo flag su false anche quandoDROP TABLE PURGE
esegui i comandi. Puoi provareDROP TABLE PURGE
o utilizzare l'DeleteTableoperazione S3 Tables per eliminare una tabella.-
L'endpoint supporta solo le operazioni standard sui metadati delle tabelle. Per la manutenzione delle tabelle, come la gestione e la compattazione delle istantanee, utilizza le operazioni dell'API di manutenzione di S3 Tables. Per ulteriori informazioni, consulta Manutenzione di Tabelle S3.
Limitazioni
I namespace multilivello non sono supportati.
OAuthl'autenticazione basata non è supportata.
Solo la
owner
proprietà è supportata per i namespace.Relativo alla visualizzazione definito APIs in Apache Iceberg REST
Le specifiche Open API non sono supportate. L'esecuzione di operazioni su una tabella con un
metadata.json
file di dimensioni superiori a 5 MB non è supportata e restituirà un400 Bad Request
errore. Per controllare la dimensione deimetadata.json
file, utilizza le operazioni di manutenzione delle tabelle. Per ulteriori informazioni, consulta Manutenzione di Tabelle S3.