カテゴリ:

DML コマンド - ファイルのステージング

LIST

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

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

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

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

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

LIST は LSに短縮できます。

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

REMOVE

PUTCOPY INTO <テーブル>

COPY INTO <場所>GET

構文

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

条件:

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

必須パラメーター

internalStage | externalStage

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

@[名前空間.]内部ステージ名[/パス]

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

@[名前空間.]外部ステージ名[/パス]

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

@[名前空間.]%テーブル名[/パス]

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

@~[/パス]

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

条件:

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

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

文字列は一重引用符で囲むことができます。これにより、場所名(例: '@"my stage"')にスペースを含む特殊文字を使用できます。

ちなみに

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

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

PATTERN = '正規表現パターン'

出力からファイルをフィルタリングするための正規表現パターンを指定します。

使用上の注意

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

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

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

出力

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

説明

名前

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

サイズ

圧縮されたファイルのサイズ

md5

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

最終更新日

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

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

LIST @%mytable;

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

LIST @mystage/path1;

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

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

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

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

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

LS @~;