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:

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.

  1. 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;
    
    Copy
  2. 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;
    
    Copy
  3. 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';
    
    Copy

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...'
  );
Copy