0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【図解あり】External Stageとは?S3連携の仕組みを初心者向けに解説

0
Last updated at Posted at 2026-07-13

はじめに

本記事は、

「Snowflakeでデータパイプラインを構築する方法(Snowpipe・Stream・Task)」

で紹介したExternal Stageについて、より詳しく解説する記事です。

データパイプラインの記事はこちらです。

データパイプラインでは、External StageはS3上のファイルをSnowflakeから参照するために利用していました。

本記事では、

  • External Stageとは何か
  • Storage Integrationとの違い
  • Snowpipeとの関係

について、図解を交えながら解説します。


この記事はこんな方におすすめ

  • Snowflakeを学び始めた方
  • S3とSnowflakeを連携したい方
  • Snowpipeの仕組みを理解したい方
  • External Stageの役割が分からない方
  • データパイプラインの全体像を理解したい方

External Stageとは?

External Stageとは、

Amazon S3などの外部ストレージに保存されているファイルをSnowflakeから参照するための設定です。

言い換えると、

SnowflakeからS3を見るための窓口

になります。

External Stage自体にデータが保存されるわけではありません。


イメージ

          Snowflake
               │
               ▼
      External Stage
               │
               ▼
          Amazon S3

External Stageを経由することで、

SnowflakeはS3上のCSVやJSONなどのファイルを読み込めるようになります。


なぜExternal Stageが必要なの?

例えば、

S3にCSVファイルをアップロードしただけでは、

Snowflakeはそのファイルを読むことができません。

image.png

そこで、

External Stageに

  • バケット名
  • フォルダ
  • Storage Integration
  • ファイル形式

などを設定することで、

Snowflakeは

「この場所のCSVを読めばいい」

と判断できます。


External Stageには何を設定する?

一般的には次のような情報を設定します。

設定項目 内容
S3のURL 対象バケット
Storage Integration S3への認証
File Format CSV・JSONなど
対象フォルダ 必要に応じて指定

Storage Integrationとの違い

初心者が最も混同しやすいポイントです。

Storage Integration External Stage
認証を担当 S3上の場所を指定
IAMロールを利用 ファイルを参照する設定
一度作れば使い回せる 用途ごとに作成可能

イメージすると、

image.png

という役割になります。


データパイプラインではどこで使われる?

External Stageは、

Snowpipeが読み込むファイルを指定します。

image.png

Snowpipeは、

External Stageを参照して

S3上のファイルをロードします。


SQLで作成してみる

External Stageは

SQLで作成します。

CREATE STAGE sample_stage
URL='s3://sample-bucket/'
STORAGE_INTEGRATION=my_storage_integration
FILE_FORMAT=(TYPE=CSV);

それぞれの意味は次のとおりです。

設定 説明
URL S3バケット
STORAGE_INTEGRATION 認証情報
FILE_FORMAT CSV形式

External Stageを確認する

作成したStageは

SHOW STAGES;

で確認できます。

また、

LIST @sample_stage;

を実行すると、

S3上に存在するファイル一覧を表示できます。

例えば、

customer.csv
sales.csv
order.csv

のように表示されます。


Snowpipeとの関係

Snowpipeは、

External Stageを利用して

S3上のファイルを読み込みます。

Amazon S3
      │
      ▼
External Stage
      │
      
      ▼
Snowpipe
      │
      ▼
COPY INTO
      │
      ▼
テーブル

つまり、

External Stageが無ければ、

Snowpipeはどのファイルを読み込めばよいか分かりません。


よくある質問

Q. External Stageにデータは保存されますか?

いいえ。

External StageはS3を参照する設定です。

データ自体はS3に保存されています。


Q. Internal Stageとの違いは?

External Stage Internal Stage
S3など外部ストレージ Snowflake内部
外部ファイルを利用 Snowflakeへ直接アップロード

Q. External Stageだけでデータはロードされますか?

いいえ。

External Stageは参照設定です。

データをロードするには

  • COPY INTO
  • Snowpipe

などを利用します。


まとめ

External Stageは、

SnowflakeがS3上のファイルを参照するための設定です。

Storage Integrationが認証を担当し、

External Stageがファイルの場所を指定することで、

SnowpipeやCOPY INTOからデータを読み込めるようになります。

ポイントのおさらい

  • External StageはS3への窓口
  • データは保存しない
  • Storage Integrationと組み合わせて利用する
  • SnowpipeやCOPY INTOから利用される
  • S3上のファイルを読み込むために必要

External Stageの役割を理解すると、Snowflakeのデータパイプライン全体の仕組みがより理解しやすくなります。


参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?