GET

次のSnowflakeステージのいずれかから、クライアントマシン上のローカルディレクトリ/フォルダーにデータファイルをダウンロードします。

  • 内部ステージという名前。

  • 指定されたテーブルの内部ステージ。

  • 現在のユーザーの内部ステージ。

通常、このコマンドは、 COPY INTO <場所> コマンドを使用してテーブルからSnowflakeステージにデータをアンロードした後に実行されます。

注釈

  • GET 外部ステージからのファイルのダウンロードはサポート されていません。外部ステージからファイルをダウンロードするには、クラウドサービスが提供するユーティリティを使用します。

  • ODBC ドライバー は、次のプラットフォームでホストされているSnowflakeアカウントで GET をサポートします。

    • Amazon Web Services( ODBC ドライバーバージョン2.17.5またはそれ以上を使用)。

    • Google Cloud Platform( ODBC ドライバーバージョン2.21.5またはそれ以上を使用)。

    • Microsoft Azure(ODBC Driver Version 2.20.2以降を使用)。

こちらもご参照ください。

LISTPUTREMOVE

構文

GET internalStage file://<local_directory_path>
    [ PARALLEL = <integer> ]
    [ PATTERN = '<regex_pattern>'' ]
Copy

条件:

internalStage ::=
    @[<namespace>.]<int_stage_name>[/<path>]
  | @[<namespace>.]%<table_name>[/<path>]
  | @~[/<path>]
Copy

必須パラメーター

internalStage

ファイルをダウンロードするSnowflakeの場所を指定します。

@[namespace.]int_stage_name[/path]

指定された名前の内部ステージからファイルがダウンロードされます。

@[namespace.]%table_name[/path]

指定したテーブルのステージからファイルがダウンロードされます。

@~[/path]

ファイルは、現在のユーザーのステージからダウンロードされます。

条件:

  • namespace は、指定された内部ステージまたはテーブルが存在するデータベースおよび/またはスキーマです。セッション内でデータベースとスキーマが現在使用されている場合、 オプション です。それ以外の場合は必須です。

  • path は、一連のファイルへのアクセスを制限するクラウドストレージの場所にある、ファイルの大文字と小文字を区別するオプションのパスです(つまり、ファイルの名前は一般的な文字列で開始)。パスは、別のクラウドストレージサービスによって プレフィックス または フォルダー と呼ばれることもあります。 path が指定されているが、パスに明示的に名前が付けられているファイルがない場合は、パス内のすべてのデータファイルがダウンロードされます。

注釈

ステージ名またはパスにスペースまたは特殊文字が含まれている場合は、一重引用符で囲む必要があります(例: "my stage" という名前のステージの場合は '@"my stage"')。

file://local_directory_path

ファイルがダウンロードされるクライアントマシンのローカルディレクトリパスを指定します。

Linux/macOS

パスに最初のスラッシュを含める必要があります(例: file:///tmp/load)。

ディレクトリパスに特殊文字が含まれている場合は、ファイル URI 全体を一重引用符で囲む必要があります。

Windows

パスにドライブとバックスラッシュを含める必要があります(例: file://C:tempload)。

ディレクトリパスに特殊文字が含まれている場合は、ファイル URI 全体を一重引用符で囲む必要があります。ドライブとパスの区切り文字は、囲まれた URIs にあるスラッシュ(/)であることに注意してください(例: load data という名前のディレクトリを含むWindowsのパスの場合は 'file://C:/temp/load data')。

注釈

JDBC ドライバー または ODBCドライバー を使用する場合を除き、 GET コマンドはパスの一部にファイル名を指定するとエラーを返します。どちらかのドライバーを使用する際にファイル名を指定すると、ドライバーはそのファイル名をディレクトリパスの一部として扱い、指定されたファイル名のサブディレクトリを作成します。

たとえば、 file:///tmp/load/file.csv を指定すると、 JDBC または ODBC ドライバーは、パス /tmp/load/file.csv/ という名前のサブディレクトリを作成します。GET コマンドは、ステージングされたファイルをこの新しいサブディレクトリにダウンロードします。

オプションのパラメーター

PARALLEL = integer

ファイルのダウンロードに使用するスレッドの数を指定します。ダウンロードの粒度単位は1ファイルです。

スレッド数を増やすと、大きなファイルをダウンロードするときのパフォーマンスが改善します。

サポートしている値: 1 (並列処理なし)から 99 (ファイルのダウンロードには99スレッドを使用)までの整数値。

デフォルト: 10

PATTERN = 'regex_pattern'

ダウンロードするファイルをフィルタリングするための正規表現パターンを指定します。このコマンドは、指定された path 内のすべてのファイルをリストし、見つかった各ファイルに正規表現パターンを適用します。

デフォルト:値なし(指定されたステージのすべてのファイルをダウンロード)

使用上の注意

  • コマンドは、いずれのSnowflakeウェブインターフェイスの Worksheets Worksheet tab ページからも実行できません。代わりに、 SnowSQL クライアントを使用してデータファイルをダウンロードするか、特定のSnowflakeクライアントのドキュメントを確認して、このコマンドのサポートを検証します。

  • コマンドはファイルの名前を変更しません。

  • ダウンロードしたファイルは、アップロード( PUT を使用)またはテーブルからアンロード( COPY INTO <場所> を使用)したときにファイルの暗号化に使用したのと同じキーを使用して自動的に復号化されます。

mytable テーブルのステージにあるすべてのファイルを /tmp/data ローカルディレクトリにダウンロードします(Linuxまたは macOS 環境)。

GET @%mytable file:///tmp/data/;
Copy

現在のユーザーのステージにある myfiles パスから、ファイルを /tmp/data ローカルディレクトリ(Linuxまたは macOS 環境)にダウンロードします。

GET @~/myfiles file:///tmp/data/;
Copy