Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
, проверка Databricks SQL
Databricks Runtime 18 LTS и выше
Important
Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".
Копирует файл в путь назначения и возвращает FILE ссылку, или NULL если исходный файл отсутствует или недоступен. Опустите destination копирование файла в хранилище, управляемое каталогом Unity, которое преобразует FILE EXTERNAL ссылку в FILE MANAGED ссылку.
Syntax
try_copy_file(file => file
[, destination => destination ]
[, if_file_exists_mode => mode ])
Аргументы можно передавать позиционно или по имени. После того как вы передаете аргумент по имени, все последующие аргументы также должны быть переданы по имени. Для получения дополнительной информации см. вызов именованных параметров.
Arguments
-
file: ЦенностьFILEдля копирования. -
destination: НеобязательныйSTRINGвариант с полным путь к файлу назначения, а не просто каталогом. Если файл отсутствует, он копируется в хранилище, управляемое каталогом Unity, преобразуяFILE EXTERNALссылку вFILE MANAGEDссылку. -
if_file_exists_mode: ОпциональноеSTRING, задающее поведение, когда файл уже существует на пути назначения. Применяется только при использовании аргументаdestination. Принятые значения (без регистра) следующие:-
'error': Повышает ошибку. Это значение по умолчанию. -
'overwrite': Перезаписывает существующий файл. -
'skip': Пропускает копирование и возвращаетFILEссылку на существующий файл.
-
Returns
Значение FILE , которое ссылается на скопированный файл, или NULL если исходный файл отсутствует или недоступен.
Примечания
- Эта функция является ошибочно-устойчивой версией функции
copy_file. Используйте его, чтобы игнорировать ошибки при преобразованииFILE EXTERNALссылки вFILE MANAGEDссылку, независимо от того, является ли преобразование явным (пропускdestination) или автоматическим (вставкаFILE EXTERNALзначения вFILE MANAGEDстолбец). - Если файл уже существует на пути назначения, Azure Databricks по умолчанию выдает ошибку, если только вы не установите
if_file_exists_modeилиoverwriteskip.
Распространенные условия ошибки
COPY_FILE_ERROR.FILE_ALREADY_EXISTSCOPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
Для получения дополнительной информации см. Ошибочные условия в Azure Databricks.
Examples
Если исходного файла нет, try_copy_file возвращает NULL:
SELECT try_copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
NULL
Чтобы скопировать файл в хранилище, управляемое каталогом Unity, преобразовав FILE EXTERNAL ссылку в FILE MANAGED ссылку, опустите пункт назначения:
SELECT try_copy_file(to_file('/Volumes/source/data/input.csv'));
Чтобы скопировать файл и перезаписать любой существующий файл назначения:
SELECT try_copy_file(
to_file('/Volumes/source/reports/report.pdf'),
destination => '/Volumes/archive/reports/report.pdf',
if_file_exists_mode => 'overwrite'
);