Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
funktion
Gäller för:
Databricks
Databricks Runtime 18 LTS och senare
Important
Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.
Kopierar en fil till en destinationsväg och returnerar en FILE referens, eller NULL om källfilen inte existerar eller är otillgänglig. Glöm destination att kopiera filen till Unity Catalog-hanterad lagring, som konverterar en FILE EXTERNAL referens till en FILE MANAGED referens.
Syntax
try_copy_file(file => file
[, destination => destination ]
[, if_file_exists_mode => mode ])
Du kan skicka argument antingen positionellt eller med namn. Efter att du har passerat ett argument vid namn måste alla följande argument också skickas med namn. För mer information, se namngiven parameteranrop.
Arguments
-
file: Ett värde att kopieraFILE. -
destination: Ett valfrittSTRINGmed hela destinationsfilens sökväg, inte bara en katalog. När den utelämnas kopieras filen till lagring som hanteras av Unity Catalog, och enFILE EXTERNALreferens omvandlas till enFILE MANAGEDreferens. -
if_file_exists_mode: Ett valfrittSTRINGsom sätter beteendet när en fil redan finns vid destinationsvägen. Gäller endast när argumentetdestinationanvänds. Godkända värden (kasuskänsliga) är:-
'error': Ger ett fel. Detta är standardvärdet. -
'overwrite': Skriver över den befintliga filen. -
'skip': Hoppar över kopiering och returnerar enFILEreferens till den befintliga filen.
-
Returns
Ett värde som refererar FILE till den kopierade filen, eller NULL om källfilen inte existerar eller är otillgänglig.
Notes
- Denna funktion är den feltoleranta versionen av
copy_filefunktionen. Använd den för att ignorera fel när du konverterar enFILE EXTERNALreferens till enFILE MANAGEDreferens, oavsett om konverteringen är explicit (utelämnardestination) eller automatisk (insättning av ettFILE EXTERNALvärde i enFILE MANAGEDkolumn). - Om en fil redan finns vid destinationssökvägen ger Azure Databricks ett fel som standard, om du inte sätter
if_file_exists_modetilloverwriteellerskip.
Vanliga felvillkor
COPY_FILE_ERROR.FILE_ALREADY_EXISTSCOPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
För mer information, se Felvillkor i Azure Databricks.
Examples
Om källfilen inte existerar, try_copy_file returnerar NULL:
SELECT try_copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
NULL
För att kopiera en fil till lagring som hanteras av Unity Catalog, och konvertera en FILE EXTERNAL referens till en FILE MANAGED referens, utelämna destinationen:
SELECT try_copy_file(to_file('/Volumes/source/data/input.csv'));
För att kopiera en fil och skriva över en befintlig destinationsfil:
SELECT try_copy_file(
to_file('/Volumes/source/reports/report.pdf'),
destination => '/Volumes/archive/reports/report.pdf',
if_file_exists_mode => 'overwrite'
);