Amazon S3 Tables
Die Unterstützung für S3 Tables ist derzeit experimentell.
Die iceberg-Erweiterung unterstützt das Lesen von Iceberg-Tabellen, die in Amazon S3 Tables gespeichert sind.
Voraussetzungen
Installieren Sie die folgenden Erweiterungen:
INSTALL aws;INSTALL httpfs;INSTALL iceberg;Verbindung mit Amazon S3 Tables
Sie können DuckDB Ihre AWS-Anmeldedaten und -Konfiguration anhand des Standardprofils in Ihrem Verzeichnis ~/.aws erkennen lassen, indem Sie mit dem Secrets Manager folgendes Secret anlegen:
CREATE SECRET ( TYPE s3, PROVIDER credential_chain);Alternativ können Sie die Werte manuell setzen:
CREATE SECRET ( TYPE s3, KEY_ID '⟨key_id⟩', SECRET '⟨secret⟩', REGION '⟨region⟩');Die vollständige Palette der Anmeldedaten-Optionen (angenommene Rollen, SSO, Web Identity und mehr) finden Sie in der aws-Erweiterung.
Verbinden Sie sich anschließend mit dem Katalog über Ihre S3-Tables-ARN (verfügbar in der AWS Management Console) und die Option ENDPOINT_TYPE s3_tables:
ATTACH '⟨s3_tables_arn⟩' AS my_s3_tables_catalog ( TYPE iceberg, ENDPOINT_TYPE s3_tables);Warning
ENDPOINT_TYPE s3_tablesbaut immer einen Endpunkt der Forms3tables.⟨region⟩.amazonaws.com/iceberg. Das ist für jede Region falsch, deren Endpunkt nicht das einfache Suffixamazonaws.comverwendet — insbesondere die AWS-China-Regionen (cn-north-1,cn-northwest-1), dieamazonaws.com.cnverwenden. Für solche Regionen hängen Sie den Katalog an, indem Sie einen explizitenENDPOINT(mit dem richtigen Host für Ihre Region) zusammen mitAUTHORIZATION_TYPE 'sigv4'übergeben, stattENDPOINT_TYPEzu verwenden.
Um zu prüfen, ob das Anhängen funktioniert hat, listen Sie alle Tabellen auf:
SHOW ALL TABLES;Sie können eine Tabelle wie folgt abfragen:
SELECT count(*)FROM my_s3_tables_catalog.⟨namespace_name⟩.⟨table_name⟩;S3 Tables ist ein Iceberg REST Catalog. Die vollständige Liste der ATTACH-Optionen — und Details zu den Kompatibilitätsflags — finden Sie unter Iceberg REST Catalogs.