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:

REMOVE

PUT, COPY INTO <Tabelle>

COPY INTO <Speicherort>, GET

Syntax

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

Wobei:

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

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;
Copy

Listen Sie alle Dateien im Pfad path1 des benannten Stagingbereichs mystage auf:

LIST @mystage/path1;
Copy

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.*';
Copy

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.*';
Copy

Verwenden Sie die Kurzform des Befehls, um alle Dateien aufzulisten, die sich im Stagingbereich des aktuellen Benutzers befinden:

LS @~;
Copy