try_copy_file Função

Aplica-se a:check marked yes Databricks SQL check marked yes Databricks Runtime 18 LTS and above

Importante

Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.

Copia um arquivo para um caminho de destino e retorna uma FILE referência, ou NULL se o arquivo fonte não existir ou for inacessível. Omita destination copiar o arquivo para o armazenamento gerenciado pelo Unity Catalog, que converte uma FILE EXTERNAL referência em uma FILE MANAGED referência.

Sintaxe

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

Você pode apresentar argumentos posicionalmente ou pelo nome. Depois de passar um argumento pelo nome, todos os argumentos seguintes também devem ser passados pelo nome. Para mais informações, veja invocação de parâmetro nomeado.

Arguments

  • file: Um FILE valor para copiar.
  • destination: Um opcional STRING com o caminho completo do arquivo de destino, não apenas um diretório. Quando omitido, o arquivo é copiado para o armazenamento gerenciado pelo Catálogo Unity, convertendo uma FILE EXTERNAL referência em uma FILE MANAGED referência.
  • if_file_exists_mode: Um opcional STRING que define o comportamento quando um arquivo já existe no caminho de destino. Só se aplica ao usar o argumento destination . Valores aceitos (indiferentes a maiúsculas minúsculas) são:
    • 'error': Levanta um erro. Este é o valor padrão.
    • 'overwrite': Sobrescreve o arquivo existente.
    • 'skip': Pula a cópia e retorna uma FILE referência ao arquivo existente.

Returns

Um FILE valor que faz referência ao arquivo copiado, ou NULL se o arquivo fonte não existir ou for inacessível.

Observações

  • Essa função é a versão tolerante a erros da copy_file função. Use-o para ignorar erros ao converter uma FILE EXTERNAL referência em uma FILE MANAGED referência, seja a conversão explícita (omitindo destination) ou automática (inserir um FILE EXTERNAL valor em uma FILE MANAGED coluna).
  • Se um arquivo já existir no caminho de destino, o Azure Databricks gera um erro por padrão, a menos que você defina if_file_exists_mode para overwrite ou skip.

Condições de erro comuns

  • COPY_FILE_ERROR.FILE_ALREADY_EXISTS
  • COPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED

Para mais informações, veja Condições de erro no Azure Databricks.

Examples

Se o arquivo fonte não existir, try_copy_file retorna NULL:

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

Para copiar um arquivo para o armazenamento gerenciado pelo Unity Catalog, convertendo uma FILE EXTERNAL referência em uma FILE MANAGED referência, omita o destino:

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

Para copiar um arquivo e sobrescrever qualquer arquivo 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'
);