try_copy_file funkcja

Dotyczy:sprawdź, czy zaznaczono tak, sprawdź, czy usługa SQL databricks została oznaczona jako tak Databricks Runtime 18 LTS lub nowsza

Important

Ta funkcja jest dostępna w wersji beta. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.

Kopiuje plik do ścieżki docelowej i zwraca referencję FILE , lub NULL jeśli plik źródłowy nie istnieje lub jest niedostępny. Pomijam destination kopiowanie pliku do pamięci zarządzanej przez Unity Catalog, która konwertuje FILE EXTERNAL referencję na referencję FILE MANAGED .

Składnia

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

Możesz przekazywać argumenty pozycjonalnie lub po imieniu. Po przekazaniu argumentu po imieniu, wszystkie kolejne argumenty muszą być również przekazywane po imieniu. Więcej informacji można znaleźć w artykule wywołanie parametrów o nazwie (nazwane parametry).

Arguments

  • file: Wartość FILE do skopiowania.
  • destination: Opcjonalny STRING z pełną ścieżką docelową pliku, a nie tylko katalog. Po pominięciu pliku jest kopiowany do pamięci zarządzanej przez Unity Catalog, konwertując referencję FILE EXTERNAL w referencję FILE MANAGED .
  • if_file_exists_mode: Opcjonalne STRING , które ustawia zachowanie, gdy plik już istnieje na ścieżce docelowej. Dotyczy tylko przy użyciu argumentu destination . Akceptowane wartości (nierozróżniające wielka litera) to:
    • 'error': To powoduje błąd. Jest to wartość domyślna.
    • 'overwrite': Nadpisuje istniejący plik.
    • 'skip': Pomija kopiowanie i zwraca odwołanie FILE do istniejącego pliku.

Zwroty

Wartość FILE odwołująca się do skopiowanego pliku lub NULL jeśli plik źródłowy nie istnieje lub jest niedostępny.

Notatki

  • Ta funkcja jest wersją copy_file funkcji tolerującą błędy. Użyj go do ignorowania błędów podczas konwersji odwołania do referencjiFILE MANAGED, niezależnie od tego, czy konwersja jest jawna (pomijając destination) czy automatyczna (wstawianie FILE EXTERNAL wartości do kolumnyFILE MANAGED).FILE EXTERNAL
  • Jeśli plik już istnieje na ścieżce docelowej, Azure Databricks domyślnie wyświetla błąd, chyba że ustawisz if_file_exists_mode na overwrite lub skip.

Typowe warunki błędów

  • COPY_FILE_ERROR.FILE_ALREADY_EXISTS
  • COPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED

Więcej informacji można znaleźć w artykule Condition Error conditions in Azure Databricks.

Examples

Jeśli plik źródłowy nie istnieje, try_copy_file zwraca NULL:

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

Aby skopiować plik do pamięci zarządzanej przez Unity Catalog, konwertując FILE EXTERNAL referencję na referencję FILE MANAGED , pomiń cel:

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

Aby skopiować plik i nadpisać dowolny istniejący plik docelowy:

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