- Categories:
Dateifunktionen (AI Functions)
TO_FILE¶
Erstellt einen Wert vom Typ FILE aus einem Dateispeicherort oder aus Metadaten.
Syntax¶
Verwenden Sie eine der folgenden Optionen:
TO_FILE( <stage_name>, <relative_path> ) TO_FILE( <file_url> ) TO_FILE( <metadata> )
Argumente¶
Geben Sie die Datei an, indem Sie Folgendes angeben:
Sowohl
stage_nameals auchrelative_pathfile_urlmetadata
Es kann jeweils nur eine dieser Methoden verwendet werden.
stage_nameDer Name des Stagingbereichs, in dem sich die Datei befindet, als Zeichenfolge im Format
'@stage_name'.relative_pathDer Pfad zu der Datei im durch
stage_nameals Zeichenfolge angegebenen Stagingbereich.file_urlEin gültiger Stagingbereich oder eine Bereichsdatei-URL als Zeichenfolge.
metadataEin OBJECT, das die erforderlichen FILE-Attribute enthält. Eine FILE muss Felder des Typs CONTENT_TYPE, SIZE, ETAG und LAST_MODIFIED haben. Außerdem muss der Speicherort der Datei auf eine der folgenden Arten angegeben werden:
Sowohl STAGE als auch RELATIVE_PATH
STAGE_FILE_URL
SCOPED_FILE_URL
Rückgabewerte¶
Eine FILE, die die Stagingdatei darstellt.
Nutzungshinweise¶
Gibt in den folgenden Fällen einen Fehler aus:
Die angegebene URL ist nicht gültig.
Die Datei befindet sich in einem Stagingbereich, für den der Benutzende keine Zugriffsrechte hat.
Die angegebenen Metadaten enthalten nicht die erforderlichen FILE-Felder.
Beispiele¶
Erstellen von FILE-Objekte mit TO_FILE¶
Eine einfache Verwendung der TO_FILE-Funktion mit dem Namen eines Stagingbereichs und relativem Pfad:
Ergebnis:
Eine einfache Anwendung der Funktion TO_FILE mit einer Stagingdatei-URL:
Ergebnis:
Oder verwenden Sie die FILE_URL aus einer Datei im Verzeichnis Ihres Stagingbereichs:
In diesem Beispiel wird die Funktion TO_FILE direkt mit einer Bereichsdatei-URL verwendet:
Hier sehen Sie ein Beispiel für die Erstellung einer FILE aus einem Objekt, das die erforderlichen Metadaten enthält:
Hinzufügen von FILE zu einer Tabelle¶
Im folgenden Beispiel wird gezeigt, wie Sie FILE erstellen und in einer Tabelle speichern und dann verschiedene Vorgänge mit dieser Spalte ausführen, darunter das Speichern und Laden aus Parquet, SnowPipe, Datensets, materialisierten Ansichten, dynamischen Tabellen sowie das Klonen mit Time Travel.
So erstellen Sie eine Tabelle mit einer FILE-Spalte:
So schreiben Sie eine Tabelle mit einer FILE-Spalte als Parquet-Datei in einen Stagingbereich und laden sie zurück:
So erstellen Sie ein Datenset aus einer Parquet-Datei:
So kopieren Sie Parquet-Dateien in eine Tabelle:
So erstellen Sie eine Snowpipe:
So erstellen Sie eine materialisierte Ansicht oder eine dynamische Tabelle aus der Tabelle:
So speichern Sie Dateien in einem Array in einer Tabellenspalte:
Beispiele für Fehler¶
Diese Beispiele veranschaulichen häufige Fehler bei der Verwendung von TO_FILE, die dazu führen, dass die Funktion einen Fehler auslöst.
Im folgenden Beispiel wird eine FILE aus einem Metadatenobjekt erstellt, jedoch wird ein erforderliches Feld weggelassen:
Das folgende Beispiel ist ähnlich, enthält aber nicht das ETAG-Feld, das erforderlich ist.
Das folgende Beispiel zeigt Versuche mit GROUP BY, ORDER BY und CLUSTER BY für eine FILE-Spalte, was nicht unterstützt wird, da FILE-Werte können nicht verglichen werden können.
Dieses letzte Beispiel verwendet einen falschen Stagingbereichsnamen, genauer gesagt einen Schrägstrich am Ende des Stagingbereichsnamens. Snowflake fügt bereits einen Schrägstrich zwischen dem Namen des Stagingbereichs und dem relativen Pfad ein, sodass dies zu zwei Schrägstrichen führt und der kombinierte Stagingbereichspfad keine Datei angibt.
Bekannte Einschränkungen¶
TO_FILE kann nicht in der Klausel INSERT INTO TABLE <t> VALUES verwendet werden. Verwenden Sie stattdessen INSERT INTO TABLE <t> SELECT.