LIST

次のSnowflakeステージのいずれかでステージングされた(つまり、ローカルファイルシステムからアップロードされた、またはテーブルからアンロードされた)ファイルのリストを返します。

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

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

  • 指定したテーブルのステージ。

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

LIST は LSに短縮できます。

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

REMOVE

PUTCOPY INTO <テーブル>

COPY INTO <場所>GET

構文

LIST { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]
Copy

条件:

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

必須パラメーター

internalStage | externalStage

データファイルがステージングされる場所を指定します。

@[namespace.]int_stage_name[/path]

ファイルは指定された名前付き内部ステージにあります。

@[namespace.]ext_stage_name[/path]

ファイルは指定された名前付き外部ステージにあります。

@[namespace.]%table_name[/path]

ファイルは指定されたテーブルのステージにあります。

@~[/path]

ファイルは現在のユーザーのステージにあります。

条件:

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

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

注釈

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

ちなみに

パスを指定すると、 LIST コマンドのスコープが提供され、コマンドの実行に必要な時間が短縮される可能性があります。

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

PATTERN = 'regex_pattern'

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

使用上の注意

  • 名前付きステージとは対照的に、テーブルおよびユーザーステージはファーストクラスのデータベースオブジェクトではありません。むしろ、それらはテーブル/ユーザーに関連付けられた暗黙のステージです。そのため、それらには独自の付与可能な権限はありません。

    • ユーザーステージでいつでもファイルを一覧表示できます(つまり、権限は不要です)。

    • テーブルステージでファイルを一覧表示するには、テーブルに対する OWNERSHIP 権限を持つロールを使用する必要があります。

出力

このコマンドは、次の列を返します。

データ型

説明

名前

VARCHAR

ステージングされたファイルの名前

サイズ

NUMBER

圧縮されたファイルのサイズ(バイト単位)。

md5

VARCHAR

MD5 列には、ステージングされたデータファイルのコンテンツの MD5 ハッシュが格納されます。これを使用して、ファイルが正しくステージング(アップロード)されたことを確認できます。Amazon S3ステージは、S3 eTagフィールドを介して値を報告しますが、これはファイル内容の MD5 ハッシュではない場合があります。

最終更新日

VARCHAR

ステージでファイルが最後に更新されたときのタイムスタンプ。

mytable テーブルのステージ内のすべてのファイルをリストします。

LIST @%mytable;
Copy

名前付きステージ mystagepath1 パスにあるすべてのファイルをリストします。

LIST @mystage/path1;
Copy

mytable テーブルのステージで、正規表現(つまり、文字列 data_0 を含むすべてのファイル名)に一致するファイルをリストします。

LIST @%mytable PATTERN='.*data_0.*';
Copy

名前付きステージ my_csv_stage/analysis/ パスにある、正規表現(つまり、文字列 data_0 を含むすべてのファイル名)に一致するファイルをリストします。

LIST @my_csv_stage/analysis/ PATTERN='.*data_0.*';
Copy

コマンドの省略形を使用して、現在のユーザーのステージ内のすべてのファイルをリストします。

LS @~;
Copy