Funzione try_copy_file

Si applica a:check contrassegnato come sì controllo SQL di Databricks contrassegnato come sì Databricks Runtime 18 LTS e versioni successive

Importante

Questa funzionalità è in versione beta. Gli amministratori dell'area di lavoro possono controllare l'accesso a questa funzionalità dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.

Copia un file su un percorso di destinazione e restituisce un FILE riferimento, oppure NULL se il file sorgente non esiste o è inaccessibile. Omettere destination di copiare il file nello storage gestito dal Catalogo Unity, che converte un FILE EXTERNAL riferimento in un FILE MANAGED riferimento.

Sintassi

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

Puoi trasmettere argomentazioni in base alla posizione o per nome. Dopo aver passato un argomento per nome, tutti gli argomenti successivi devono essere passati anche per nome. Per ulteriori informazioni, vedi invocazione di parametro nominato.

Arguments

  • file: Un FILE valore da copiare.
  • destination: Un optional STRING con il percorso completo del file di destinazione, non solo una directory. Quando viene omesso, il file viene copiato nello storage gestito dal Catalogo Unity, convertendo un FILE EXTERNAL riferimento in un FILE MANAGED riferimento.
  • if_file_exists_mode: Un optional STRING che imposta il comportamento quando un file esiste già nel percorso di destinazione. Si applica solo quando si usa l'argomento destination . I valori accettati (indistinti dalla maiuscolo-minuscola) sono:
    • 'error': Solleva un errore. Questo è il valore predefinito.
    • 'overwrite': Sovrascrive il file esistente.
    • 'skip': Salta la copia e restituisce un FILE riferimento al file esistente.

Returns

Un FILE valore che fa riferimento al file copiato, o NULL se il file sorgente non esiste o è inaccessibile.

Note

  • Questa funzione è la versione tollerante all'errore della copy_file funzione. Usalo per ignorare gli errori quando si converte un FILE EXTERNAL riferimento in un FILE MANAGED riferimento, sia che la conversione sia esplicita (omettendo destination) sia automatica (inserire un FILE EXTERNAL valore in una FILE MANAGED colonna).
  • Se un file esiste già nel percorso di destinazione, Azure Databricks genera un errore di default a meno che tu non imposti if_file_exists_mode o overwriteskip.

Condizioni di errore comuni

  • COPY_FILE_ERROR.FILE_ALREADY_EXISTS
  • COPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED

Per maggiori informazioni, vedi Condizioni di errore in Azure Databricks.

Examples

Se il file sorgente non esiste, try_copy_file restituisce NULL:

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

Per copiare un file nello storage gestito dal Catalogo Unity, convertendo un FILE EXTERNAL riferimento in un FILE MANAGED riferimento, ometti la destinazione:

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

Per copiare un file e sovrascrivere qualsiasi file di destinazione esistente:

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