LIST¶
以下のいずれかのSnowflakeストレージ機能から、ファイルのリストを返します。
- ステージ - 名前付き内部 
- 名前付き外部 
- 指定したテーブルの場合 
- 現在のユーザーの場合 
 
LIST は LSに短縮できます。
- こちらもご参照ください。
構文¶
構文は、ステージ内のファイルを一覧表示するか、Gitリポジトリのクローンをリストするかによって異なります。
ステージの場合¶
LIST { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]
条件:
internalStage ::= @[<namespace>.]<int_stage_name>[/<path>] | @[<namespace>.]%<table_name>[/<path>] | @~[/<path>]externalStage ::= @[<namespace>.]<ext_stage_name>[/<path>]
Gitリポジトリのクローンの場合¶
LIST repositoryClone [ PATTERN = '<regex_pattern>' ]
条件:
repositoryClone ::= @[<namespace>.]<repository_clone>/<path>
必須パラメーター¶
ステージの場合¶
- internalStage | externalStage
- データファイルがステージングされる場所を指定します。 - @[namespace.]int_stage_name[/path]- ファイルは指定された名前付き内部ステージにあります。 - @[namespace.]ext_stage_name[/path]- ファイルは指定された名前付き外部ステージにあります。 - @[namespace.]%table_name[/path]- ファイルは指定されたテーブルのステージにあります。 - @~[/path]- ファイルは現在のユーザーのステージにあります。 - 条件: - namespaceは、指定されたステージまたはテーブルが存在するデータベースまたはスキーマ、あるいはその両方です。セッション内でデータベースとスキーマが現在使用されている場合、 オプション です。それ以外の場合は必須です。
- pathは、一連のファイルへのアクセスを制限するクラウドストレージの場所にある、ファイルの大文字と小文字を区別するオプションのパスです(つまり、ファイルの名前は一般的な文字列で開始)。パスは、別のクラウドストレージサービスによって プレフィックス または フォルダー と呼ばれることもあります。
 - 注釈 - ステージ名またはパスにスペースまたは特殊文字が含まれている場合は、一重引用符で囲む必要があります(例: - "my stage"という名前のステージの場合は- '@"my stage"')。- Tip - パスを指定すると、 LIST コマンドのスコープが提供され、コマンドの実行に必要な時間が短縮される可能性があります。 
Gitリポジトリのクローンの場合¶
- repositoryClone
- リポジトリのクローン の名前と、ファイルをリストするブランチ、タグ、コミットを指定します。 - @[namespace.]repository_clone/path- Gitリポジトリのクローンからファイルをリストする場合、 - pathは必須であり、次のいずれかで始まる必要があります。- branches/branch_name- 指定されたブランチからファイルをリストします。 - tags/tag_name- 指定されたタグからファイルをリストします。 - commits/commit_hash- コミットハッシュで指定されたコミットからファイルをリストします。 - 注釈 - リポジトリのクローン名またはパスにスペースまたは特殊文字が含まれている場合は、一重引用符で囲む必要があります(例: - '@"my repository"'という名前のリポジトリの場合は- "my repository")。
オプションのパラメーター¶
- PATTERN = 'regex_pattern'
- 出力からファイルをフィルタリングするための正規表現パターンを指定します。このコマンドは、指定された - path内のすべてのファイルをリストし、見つかった各ファイルに正規表現パターンを適用します。
使用上の注意¶
- ストレージ統合を使用する外部ステージでこのコマンドを実行するには、ストレージ統合の USAGE 権限を持つか継承するロールを使用する必要があります。 - 詳細については、 ステージ権限 をご参照ください。 
- 名前付きステージとは対照的に、テーブルおよびユーザーステージはファーストクラスのデータベースオブジェクトではありません。むしろ、それらはテーブル/ユーザーに関連付けられた暗黙のステージです。そのため、それらには独自の付与可能な権限はありません。 - ユーザーステージでいつでもファイルを一覧表示できます(つまり、権限は不要です)。 
- テーブルステージでファイルを一覧表示するには、テーブルに対する OWNERSHIP 権限を持つロールを使用する必要があります。 
- PATTERN は、 Javaパターンクラス 構文をサポートしています。 
 
出力¶
このコマンドは、以下のテーブルの列を返します。列の値は、ステージで LIST を使用しているか、Gitリポジトリのクローンを使用しているかによって異なります。
ステージの場合¶
| 列 | データ型 | 説明 | 
|---|---|---|
| 名前 | VARCHAR | ステージングされたファイルの名前 | 
| サイズ | NUMBER | 圧縮されたファイルのサイズ(バイト単位)。 | 
| md5 | VARCHAR | MD5 列には、ステージングされたデータファイルのコンテンツの MD5 ハッシュが格納されます。 デフォルトの暗号化(SNOWFLAKE_FULL)を使用した内部ステージでは、アップロード中にソースファイルはランダムなキーで暗号化され、その結果の MD5 ダイジェストは常に元のローカルファイルとは異なります。 Amazon S3ステージは、S3 eTagフィールドを介して値を報告しますが、これはファイルコンテンツの MD5 ハッシュではない場合があります。 顧客管理暗号化キー(CMEK)を使用するGoogle Cloudステージでは、md5は NULL になると予測されます。 詳細については、 顧客管理暗号化キー をご参照ください。 | 
| SHA1 | VARCHAR | 使用されていない | 
| 最終更新日 | VARCHAR | ステージでファイルが最後に更新されたときのタイムスタンプ | 
Gitリポジトリのクローンの場合¶
| 列 | データ型 | 説明 | 
|---|---|---|
| 名前 | VARCHAR | 拡張子付きファイルの完全パス | 
| サイズ | NUMBER | 圧縮されたファイルのサイズ(バイト単位)。 | 
| md5 | VARCHAR | 使用されていない | 
| SHA1 | VARCHAR | ファイルの内容に SHA-1ハッシュアルゴリズムを適用することで生成された一意の識別子。これは、Gitがリポジトリ内のファイルの正確なバージョンを追跡して参照するために使用するものであり、ファイルの内容の変更を検出するために使用できます。 | 
| 最終更新日 | VARCHAR | リストされたファイルに関連するコミットのタイムスタンプ。これは、必ずしもファイルの内容が最後に変更された日時を示すものではありません。 | 
例¶
ステージの場合¶
mytable テーブルのステージ内のすべてのファイルをリストします。
LIST @%mytable;
名前付きステージ mystage の path1 パスにあるすべてのファイルをリストします。
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 @~;
Gitリポジトリのクローンの場合¶
例については、 リポジトリファイルのリストを表示する をご参照ください。