S3ステージの作成

外部(つまり、S3)ステージは、ファイル内のデータをテーブルにロードできるように、データファイルの保存場所を指定します。

データは、フォルダーパス(またはS3用語ではプレフィックス)の有無にかかわらず、指定したS3バケット内のファイルから直接ロードできます。パスが / で終わる場合、対応するS3フォルダー内のすべてのオブジェクトがロードされます。

注釈

前のステップ で、外部S3バケットにアクセスするために必要なポリシーと権限を持つ AWS IAM ロールを指示に従って構成した場合、S3ステージは既に作成されています。この手順をスキップして S3ステージからのデータのコピー に進むことができます。

このトピックの内容:

外部ステージ

Snowflakeは、S3バケット内のファイルから直接ロードすることに加えて、次のようなステージングファイルに必要なすべての情報をカプセル化する名前付き外部ステージの作成をサポートしています。

  • ファイルがステージングされるS3バケット。

  • バケットの名前付きストレージ統合オブジェクトまたはS3認証情報(保護されている場合)。

  • 暗号化キー(バケット内のファイルが暗号化されている場合)。

名前付きの外部ステージはオプションですが、同じ場所から定期的にデータをロードする予定がある場合は、使用することを お勧め します。

外部ステージの作成

ウェブインターフェイスまたは SQLを使用して、名前付きステージを作成できます。

Classic Web Interface: Databases Databases tab » <データベース名> » Stages をクリックします。

SQL

CREATE STAGE

次の例では、 SQL を使用して、 encrypted_files/ というフォルダーパスで mybucket というプライベート/保護されたS3バケットを参照する my_s3_stage という外部ステージを作成します。CREATE ステートメントには、S3バケットにアクセスするために オプション1:Amazon S3にアクセスするためのSnowflakeストレージ統合の構成 で作成された、 s3_int ストレージ統合が含まれています。ステージは、バケットパスに保存されているファイル内のデータを説明する、 my_csv_format という名前の名前付きファイル形式オブジェクトを参照します。

CREATE STAGE my_s3_stage
  STORAGE_INTEGRATION = s3_int
  URL = 's3://mybucket/encrypted_files/'
  FILE_FORMAT = my_csv_format;

注釈

ステージに名前付きファイル形式オブジェクト(または個々のファイル形式オプション)を指定すると、後でステージからデータをロードするために使用する COPY コマンドで、同じファイル形式オプションを指定する必要がありません。

次: S3ステージからのデータのコピー