S3互換ストレージ用の外部ボリュームの構成

外部管理 または Snowflake 管理 Apache Iceberg™ テーブルで、S3 互換ストレージにデータとメタデータがある場合は、 Amazon S3 互換ストレージ の場所に関連付けられた外部ボリュームを構成できます。

前提条件

Iceberg テーブルに S3 互換ストレージを使用するには、Snowflake に S3 互換 API エンドポイントが必要です。詳細については、 S3互換ストレージの要件 をご参照ください。

S3互換ストレージ用外部ボリュームの作成

S3互換のストレージ場所を指定する外部ボリュームを作成します。CREATE EXTERNAL VOLUME コマンドの S3 互換パラメーターに関する情報は、 コマンド構文 をご参照ください。

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

重要

外部管理Icebergテーブル用に外部ボリュームを構成する場合は、コマンド構文に ALLOW_WRITES = FALSE を追加する必要があります。この行は、外部ボリュームに対して書き込み演算子が許可されていないことを指定します。詳細については、 CREATE EXTERNAL VOLUME コマンドのコマンド構文 をご参照ください。

外部ボリュームの認証情報を更新します。

外部ボリュームの認証情報を変更または更新するには、 ALTER EXTERNAL VOLUME ... UPDATE コマンドを使用します。認証情報を変更するストレージロケーションの名前を指定します。

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