try_copy_file Función

Se aplica a:check marcado yes Databricks SQL check marcado yes Databricks Runtime 18 LTS y versiones posteriores

Importante

Esta característica se encuentra en su versión beta. Los administradores del área de trabajo pueden controlar el acceso a esta característica desde la página Vistas previas . Consulte Administrar versiones preliminares de Azure Databricks.

Copia un archivo a una ruta de destino y devuelve una FILE referencia, o NULL si el archivo fuente no existe o es inaccesible. Omite destination copiar el archivo al almacenamiento gestionado por Unity Catalog, que convierte una FILE EXTERNAL referencia en una FILE MANAGED referencia.

Syntax

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

Puedes presentar argumentos por posición o por nombre. Después de aprobar un argumento por nombre, todos los argumentos siguientes también deben pasarse por nombre. Para más información, véase invocación de parámetros nombrados.

Arguments

  • file: Un FILE valor para copiar.
  • destination: Una opción STRING con la ruta completa del archivo de destino, no solo un directorio. Cuando se omite, el archivo se copia al almacenamiento gestionado por el Catálogo de Unity, convirtiendo una FILE EXTERNAL referencia en una FILE MANAGED referencia.
  • if_file_exists_mode: Un opcional STRING que establece el comportamiento cuando un archivo ya existe en la ruta de destino. Solo se aplica cuando se usa el destination argumento. Los valores aceptados (insensibles a mayúsculas) son:
    • 'error': Genera un error. Este es el valor predeterminado.
    • 'overwrite': Sobrescribe el archivo existente.
    • 'skip': Omite la copia y devuelve una FILE referencia al archivo existente.

Devoluciones

Un FILE valor que hace referencia al archivo copiado, o NULL si el archivo fuente no existe o es inaccesible.

Notas

  • Esta función es la versión tolerante a errores de copy_file la función. Úsalo para ignorar errores al convertir una FILE EXTERNAL referencia en una FILE MANAGED referencia, ya sea que la conversión sea explícita (omitir destination) o automática (insertar un FILE EXTERNAL valor en una FILE MANAGED columna).
  • Si un archivo ya existe en la ruta de destino, Azure Databricks genera un error por defecto a menos que configures if_file_exists_mode en overwrite o skip.

Condiciones de error comunes

  • COPY_FILE_ERROR.FILE_ALREADY_EXISTS
  • COPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED

Para más información, consulta Condiciones de error en Azure Databricks.

Examples

Si el archivo fuente no existe, try_copy_file devuelve NULL:

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

Para copiar un archivo al almacenamiento gestionado por el Catálogo Unity, convirtiendo una FILE EXTERNAL referencia en una FILE MANAGED referencia, omite el destino:

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

Para copiar un archivo y sobrescribir cualquier archivo de destino existente:

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