Konfigurieren Sie ein externes Volume für S3-kompatiblen Speicher¶
Für extern verwaltete Iceberg-Tabellen mit Daten und Metadaten im S3-kompatiblem Speicher können Sie ein externes Volume konfigurieren, das mit einem Amazon S3-kompatiblen Speicherort verbunden ist.
Iceberg-Tabellen, die S3-kompatiblen Speicher verwenden, sind regionenübergreifende Tabellen und unterstützen die folgenden Aktionen nicht:
Verwendung von Snowflake als Iceberg-Katalog oder Konvertierung einer Tabelle zur Verwendung von Snowflake als Iceberg-Katalog.
Abrufen von Informationen über den letzten aktualisierten Snapshot mit der Funktion SYSTEM$GET_ICEBERG_TABLE_INFORMATION.
Voraussetzungen¶
Um eine Iceberg-Tabelle zu erstellen, die S3-kompatiblen Speicher verwendet, müssen Sie über einen S3-kompatiblen API-Endpunkt für Snowflake verfügen. Weitere Informationen dazu finden Sie unter Anforderungen an S3-kompatiblen Speicher.
Erstellen Sie ein externes Volume für S3-kompatiblen Speicher¶
Die folgenden Schritte zeigen Ihnen, wie Sie ein externes Volume für S3-kompatiblen Speicher konfigurieren und wie Sie dieses Volume verwenden, um eine extern verwaltete Iceberg-Tabelle zu erstellen.
Erstellen Sie ein externes Volume, das einen S3-kompatiblen Speicherort angibt. Informationen zu den S3-kompatiblen Parametern im Befehl CREATE EXTERNAL VOLUME finden Sie in der Befehlssyntax <label-iceberg_external_volume_s3_compatible_syntax>.
CREATE OR REPLACE EXTERNAL VOLUME ext_vol_s3_compat STORAGE_LOCATIONS = ( ( NAME = 'my_s3_compat_storage_location' STORAGE_PROVIDER = 'S3COMPAT' STORAGE_BASE_URL = 's3compat://mybucket/unload/mys3compatdata' CREDENTIALS = ( AWS_KEY_ID = '1a2b3c...' AWS_SECRET_KEY = '4x5y6z...' ) STORAGE_ENDPOINT = 'mystorage.com' ) ) ALLOW_WRITES = FALSE;
Wenn Sie noch keine Katalogintegration haben, erstellen Sie eine für Ihre Iceberg-Tabelle. Iceberg-Tabellen, die S3-kompatiblen Speicher verwenden, werden nur unterstützt, wenn Sie eine Katalogintegration verwenden. Weitere Informationen finden Sie unter Erstellen einer Katalogintegration.
Das folgende Beispiel erstellt eine Katalogintegration für Iceberg-Dateien im Objektspeicher.
CREATE OR REPLACE CATALOG INTEGRATION my_iceberg_catalog_int CATALOG_SOURCE = OBJECT_STORE TABLE_FORMAT = ICEBERG ENABLED = TRUE;
Verwenden Sie die externe Volume- und Katalogintegration, um eine Iceberg-Tabelle zu erstellen.
Beispiel:
CREATE ICEBERG TABLE my_iceberg_table EXTERNAL_VOLUME = 'ext_vol_s3_compat' CATALOG = 'my_iceberg_catalog_int' METADATA_FILE_PATH = 'path/to/metadata/v1.metadata.json';
Aktualisieren Sie die Anmeldeinformationen für Ihr externes Volume¶
Um die Anmeldeinformationen für das externe Volume zu ändern oder zu aktualisieren, können Sie den Befehl ALTER EXTERNAL VOLUME. … UPDATE verwenden. Geben Sie den Namen des Speicherorts an, für den Sie die Anmeldeinformationen ändern möchten.
ALTER EXTERNAL VOLUME ext_vol_s3_compat UPDATE
STORAGE_LOCATION = 'my_s3_compat_storage_location'
CREDENTIALS = (
AWS_KEY_ID = '4d5e6f...'
AWS_SECRET_KEY = '7g8h9i...'
);