LIST¶
Gibt eine Liste von Dateien zurück, die in einem der folgenden Snowflake-Stagingbereiche bereitgestellt wurden (d. h. von einem lokalen Dateisystem hochgeladen oder aus einer Tabelle entladen wurden):
Benannter interner Stagingbereich.
Benannter externer Stagingbereich.
Stagingbereich für eine bestimmte Tabelle.
Stagingbereich für den aktuellen Benutzer.
LIST kann mit LS abgekürzt werden.
- Siehe auch:
Syntax¶
LIST { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]
Wobei:
internalStage ::= @[<namespace>.]<int_stage_name>[/<path>] | @[<namespace>.]%<table_name>[/<path>] | @~[/<path>]externalStage ::= @[<namespace>.]<ext_stage_name>[/<path>]
Erforderliche Parameter¶
internalStage | externalStage
Gibt den Speicherort an, an dem die Datendateien bereitgestellt werden:
@[namespace.]int_stage_name[/path]
Die Dateien befinden sich im angegebenen, benannten internen Stagingbereich.
@[namespace.]ext_stage_name[/path]
Die Dateien befinden sich im angegebenen, benannten externen Stagingbereich.
@[namespace.]%table_name[/path]
Die Dateien befinden sich im Stagingbereich der angegebenen Tabelle.
@~[/path]
Die Dateien befinden sich im Stagingbereich des aktuellen Benutzers.
Wobei:
namespace
ist die Datenbank und/oder das Schema, in dem sich die benannte Stufe oder Tabelle befindet. Die Angabe ist optional, wenn in der Sitzung aktuell eine Datenbank und ein Schema verwendet werden, andernfalls ist die Angabe obligatorisch.path
ist ein optionaler Pfad mit Unterscheidung von Groß-/Kleinschreibung für Dateien am Cloudspeicherort (d. h. Dateien haben Namen, die mit einer gemeinsamen Zeichenfolge beginnen), wodurch der Zugriff auf bestimmte Dateien eingegrenzt wird. Pfade werden von den verschiedenen Cloudspeicherdiensten alternativ als Präfixe oder Ordner bezeichnet.
Bemerkung
Wenn der Stagingbereichsname oder -pfad Leerzeichen oder Sonderzeichen enthält, muss er in einfache Anführungszeichen eingeschlossen werden (z. B.
'@"my stage"'
für einen Stagingbereich mit dem Namen"my stage"
).Tipp
Die Angabe eines Pfades bietet einen Bereich für den Befehl LIST, wodurch die für die Ausführung des Befehls erforderliche Zeit möglicherweise reduziert wird.
Optionale Parameter¶
PATTERN = 'regex_pattern'
Gibt ein Muster für reguläre Ausdrücke zum Filtern von Dateien aus der Ausgabe an. Der Befehl listet alle Dateien im angegebenen
path
(Pfad) auf und wendet auf jede der gefundenen Dateien das Muster für reguläre Ausdrücke an.
Nutzungshinweise¶
Im Gegensatz zu benannten Stagingbereichen sind Stagingbereiche für Tabellen und Benutzer keine First-Class-Datenbankobjekte, sondern implizite Stagingbereiche, die der Tabelle/dem Benutzer zugeordnet sind. Als solche haben sie keine eigenen erteilbaren Berechtigungen:
Sie können jederzeit die Dateien in Ihrem Benutzer-Stagingbereich auflisten (d. h. es sind keine Berechtigungen erforderlich).
Um Dateien in einem Tabellen-Stagingbereich aufzulisten, müssen Sie eine Rolle verwenden, die die Berechtigung OWNERSHIP an der Tabelle hat.
Ausgabe¶
Der Befehl gibt die folgenden Spalten zurück:
Spalte |
Datentyp |
Beschreibung |
---|---|---|
name |
VARCHAR |
Name der Stagingdatei |
size |
NUMBER |
Größe der komprimierten Datei (in Byte) |
md5 |
VARCHAR |
In der Spalte MD5 wird ein MD5-Hash des Inhalts der Staging-Datendateien gespeichert, mit dem überprüft werden kann, ob die Datei ordnungsgemäß bereitgestellt (hochgeladen) wurde. Beachten Sie, dass die Amazon S3-Stagingbereiche den Wert über das S3 eTag-Feld melden, das möglicherweise kein MD5-Hash des Dateiinhalts ist. |
last_modified |
VARCHAR |
Zeitstempel, wann die Datei im Stagingbereich zuletzt aktualisiert wurde |
Beispiele¶
Listen Sie alle Dateien des Stagingbereichs für die mytable
-Tabelle auf:
LIST @%mytable;
Listen Sie alle Dateien im Pfad path1
des benannten Stagingbereichs mystage
auf:
LIST @mystage/path1;
Listen Sie die Dateien auf, die im Stagingbereich der mytable
-Tabelle mit einem regulären Ausdruck übereinstimmen (d. h. alle Dateinamen, die die Zeichenfolge data_0
enthalten):
LIST @%mytable PATTERN='.*data_0.*';
Listen Sie die Dateien auf, die im /analysis/
-Pfad des benannten Stagingbereichs my_csv_stage
mit einem regulären Ausdruck übereinstimmen (d. h. alle Dateinamen, die die Zeichenfolge data_0
enthalten):
LIST @my_csv_stage/analysis/ PATTERN='.*data_0.*';
Verwenden Sie die Kurzform des Befehls, um alle Dateien aufzulisten, die sich im Stagingbereich des aktuellen Benutzers befinden:
LS @~;