try_copy_file Funkce

Platí pro:check marked yes Databricks SQL check marked yes Databricks Runtime 18 LTS and above

Important

Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.

Zkopíruje soubor do cílové cesty a vrátí referenci FILE , nebo NULL pokud zdrojový soubor neexistuje nebo je nepřístupný. Vynechat destination kopírování souboru do úložiště spravovaného Unity Catalog, které převádí FILE EXTERNAL odkaz na referenci FILE MANAGED .

Syntax

try_copy_file(file => file
  [, destination => destination ]
  [, if_file_exists_mode => mode ])

Můžete argumenty předávat pozičně nebo jménem. Poté, co předáte argument jménem, musí být všechny následující argumenty také předány jménem. Pro více informací viz volání pojmenovaného parametru.

Arguments

  • file: Hodnota FILE k kopírování.
  • destination: Volitelný STRING s plnou cílovou cestou k souboru, ne jen adresář. Pokud je soubor vynechán, je zkopírován do úložiště spravovaného Unity Catalog, čímž se FILE EXTERNAL odkaz převede na referenci FILE MANAGED .
  • if_file_exists_mode: Volitelné STRING , které nastavuje chování, když soubor již existuje na cílové cestě. Platí pouze při použití argumentu destination . Přijímané hodnoty (bez rozlišování pro velká písmena) jsou:
    • 'error': To vyvolává chybu. Toto je výchozí hodnota.
    • 'overwrite': Přepíše existující soubor.
    • 'skip': Přeskočí kopírování a vrátí FILE odkaz na existující soubor.

Returns

Hodnota, která odkazuje FILE na zkopírovaný soubor, nebo NULL pokud zdrojový soubor neexistuje nebo je nepřístupný.

Poznámky

  • Tato funkce je chybově tolerantní verzí copy_file funkce. Použijte ho k ignorování chyb při převodu odkazu FILE EXTERNAL na odkaz, FILE MANAGED ať už je převod explicitní (vynechání destination) nebo automatický (vložení FILE EXTERNAL hodnoty do sloupce FILE MANAGED ).
  • Pokud soubor již existuje na cílové cestě, Azure Databricks ve výchozím nastavení zobrazí chybu, pokud nenastavíte if_file_exists_mode na overwrite nebo skip.

Běžné chybové podmínky

  • COPY_FILE_ERROR.FILE_ALREADY_EXISTS
  • COPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED

Pro více informací viz Chybové podmínky v Azure Databricks.

Examples

Pokud zdrojový soubor neexistuje, try_copy_file vrátí NULL:

SELECT try_copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
NULL

Pro zkopírování souboru do úložiště spravovaného katalogem Unity, přičemž odkaz se převede FILE EXTERNAL na referenci FILE MANAGED , vynechte cíl:

SELECT try_copy_file(to_file('/Volumes/source/data/input.csv'));

Pro zkopírovaní souboru a přepsání jakéhokoli existujícího cílového souboru:

SELECT try_copy_file(
  to_file('/Volumes/source/reports/report.pdf'),
  destination => '/Volumes/archive/reports/report.pdf',
  if_file_exists_mode => 'overwrite'
);