Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks
Databricks Runtime 18 LTS en hoger
Important
Deze functie bevindt zich in de bètaversie. Werkruimtebeheerders kunnen de toegang tot deze functie beheren vanaf de pagina Previews . Zie Azure Databricks previews beheren.
Kopieert een bestand naar een bestemmingspad en geeft een FILE referentie terug, of NULL als het bronbestand niet bestaat of niet toegankelijk is. Laat het bestand niet destination kopiëren naar door de Unity Catalog beheerde opslag, die een FILE EXTERNAL referentie omzet in een FILE MANAGED referentie.
Syntax
try_copy_file(file => file
[, destination => destination ]
[, if_file_exists_mode => mode ])
Je kunt argumenten positioneel of op naam doorgeven. Nadat je een argument bij naam hebt doorgegeven, moeten alle volgende argumenten ook bij naam worden doorgegeven. Voor meer informatie, zie aanroep van benoemde parameters.
Arguments
-
file: Een waarde om te kopiërenFILE. -
destination: Een optioneelSTRINGmet het volledige bestemmingsbestandpad, niet alleen een map. Wanneer het bestand wordt weggelaten, wordt het gekopieerd naar door de Unity Catalog beheerde opslag, waarbij eenFILE EXTERNALreferentie wordt omgezet in eenFILE MANAGEDreferentie. -
if_file_exists_mode: Een optioneelSTRINGsysteem dat het gedrag instelt wanneer een bestand al op het bestemmingspad bestaat. Gilt alleen bij gebruik van hetdestinationargument. Geaccepteerde waarden (hoofdlettergevoelig) zijn:-
'error': Geeft een fout. Dit is de standaardwaarde. -
'overwrite': Overschrijft het bestaande bestand. -
'skip': Slaat kopiëren over en geeft eenFILEverwijzing terug naar het bestaande bestand.
-
Returns
Een FILE waarde die verwijst naar het gekopieerde bestand, of NULL als het bronbestand niet bestaat of ontoegankelijk is.
Aantekeningen
- Deze functie is de fouttolerante versie van de
copy_filefunctie. Gebruik het om fouten te negeren bij het omzetten van eenFILE EXTERNALreferentie naar eenFILE MANAGEDreferentie, of de conversie nu expliciet is (weglatenddestination) of automatisch (het invoegen van eenFILE EXTERNALwaarde in eenFILE MANAGEDkolom). - Als er al een bestand bestaat op het bestemmingspad, geeft Azure Databricks standaard een foutmelding, tenzij je op
overwriteofskipzetif_file_exists_mode.
Algemene foutvoorwaarden
COPY_FILE_ERROR.FILE_ALREADY_EXISTSCOPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
Voor meer informatie, zie Foutvoorwaarden in Azure Databricks.
Examples
Als het bronbestand niet bestaat, try_copy_file geeft het volgende terug:NULL
SELECT try_copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
NULL
Om een bestand te kopiëren naar door Unity Catalog beheerde opslag, waarbij een FILE EXTERNAL referentie wordt omgezet naar een FILE MANAGED referentie, laat je de bestemming uit:
SELECT try_copy_file(to_file('/Volumes/source/data/input.csv'));
Om een bestand te kopiëren en een bestaand bestemmingsbestand over te schrijven:
SELECT try_copy_file(
to_file('/Volumes/source/reports/report.pdf'),
destination => '/Volumes/archive/reports/report.pdf',
if_file_exists_mode => 'overwrite'
);