Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 18 LTS and above
Important
Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Manage Azure Databricks Previews.
Lädt String- oder Binärinhalte auf einen Zielpfad hoch und gibt eine FILE Referenz auf die hochgeladene Datei zurück.
Syntax
create_file(content => content
[, destination_path => path ]
[, if_file_exists => mode ]
[, content_type => content_type ])
Du kannst Argumente positionell oder mit dem Namen weitergeben. Nachdem Sie ein Argument beim Namen weitergegeben haben, müssen alle folgenden Argumente ebenfalls mit dem Namen weitergegeben werden. Für weitere Informationen siehe Aufruf von benannten Parametern.
Arguments
-
content: EinSTRINGoder AusdruckBINARYmit dem Inhalt, der als Datei gespeichert wird. ASTRINGwird als UTF-8-codierte Bytes gespeichert. -
destination_path: Ein optionalerSTRINGWeg, den Inhalt hochzuladen. -
if_file_exists: Ein optionalesSTRINGFormular, das das Verhalten festlegt, wenn eine Datei bereits am Zielpfad existiert. Gilt nur, wenn das Argument verwendet wirddestination_path. Akzeptierte Werte (kleinschreibungsunempfindlich) sind:-
'error': Führt zu einem Fehler. Dies ist der Standardwert. -
'overwrite': Überschreibt die bestehende Datei. -
'skip': Überspringt den Upload und gibt eineFILEReferenz auf die bestehende Datei zurück.
-
-
content_type: Ein optionalesSTRINGFormular, das den Inhaltstyp der Datei angibt. Wenn nicht angegeben, wird der Inhaltstyp aus den Eingabebytes abgeleitet.
Rückkehr
Ein FILE Wert, der auf die hochgeladene Datei verweist.
Hinweise
- Wenn du verwendest
destination_path, wird die Datei atomar auf diesen Pfad hochgeladen. Du musst Schreibzugriff auf den Zielort haben, der typischerweise ein Unity-Catalog-Volume ist. - Wenn eine Datei bereits am Zielpfad existiert, löst Azure Databricks standardmäßig einen Fehler aus, es sei denn, man setzt
if_file_existsaufoverwriteoderskip.
Häufige Fehlerbedingungen
CREATE_FILE_ERROR.FILE_ALREADY_EXISTSCREATE_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZEDCREATE_FILE_ILLEGAL_USAGE.CONTENT_REQUIREDCREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATIONCREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_MODE
Weitere Informationen finden Sie unter Fehlerbedingungen in Azure Databricks.
Examples
Um eine Zeichenkette als neue Datei an einem bestimmten Pfad zu speichern:
SELECT create_file(
content => 'hello, world',
destination_path => '/Volumes/my_catalog/my_schema/my_volume/greetings.txt'
);
Um Rohbytes zu speichern und den Inhaltstyp explizit festzulegen:
SELECT create_file(
content => my_binary_col,
destination_path => '/Volumes/my_catalog/my_schema/my_volume/image.png',
content_type => 'image/png'
)
FROM raw_uploads;
Um den Upload zu überspringen, falls bereits eine Datei am Ziel existiert:
SELECT create_file(
content => my_binary_col,
destination_path => '/Volumes/my_catalog/my_schema/my_volume/report.pdf',
if_file_exists => 'skip'
);
Wenn destination_path nicht gesetzt ist, if_file_exists wirft ein Fehler auf:
SELECT create_file(content => 'data', if_file_exists => 'overwrite');
Error: CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATION