Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks SQL
Databricks Runtime 18 LTS et versions ultérieures
Important
Cette fonctionnalité est en version bêta. Les administrateurs d’espace de travail peuvent contrôler l’accès à cette fonctionnalité à partir de la page Aperçus . Consultez Gérer les préversions d’Azure Databricks.
Copie un fichier sur un chemin de destination et renvoie une FILE référence, ou NULL si le fichier source n’existe pas ou est inaccessible. Ne pas destination copier le fichier dans un stockage géré par Unity Catalog, qui convertit une FILE EXTERNAL référence en référence FILE MANAGED .
Syntax
try_copy_file(file => file
[, destination => destination ]
[, if_file_exists_mode => mode ])
Vous pouvez présenter des arguments selon la position ou par nom. Après avoir passé un argument par nom, tous les arguments suivants doivent aussi être transmis par nom. Pour plus d’informations, voir invocation de paramètre nommé.
Arguments
-
file: UneFILEvaleur à copier. -
destination: Un optionnelSTRINGavec le chemin complet du fichier de destination, pas seulement un répertoire. Lorsqu’il est omis, le fichier est copié dans un stockage géré par le catalogue Unity, convertissant uneFILE EXTERNALréférence enFILE MANAGEDréférence. -
if_file_exists_mode: Un optionnelSTRINGqui définit le comportement lorsqu’un fichier existe déjà sur le chemin de destination. Cela ne s’applique qu’à l’utilisation de l’argumentdestination. Les valeurs acceptées (insensibles à la majuscule) sont :-
'error': Soulève une erreur. Il s’agit de la valeur par défaut. -
'overwrite': Écrase le fichier existant. -
'skip': Saute la copie et renvoie uneFILEréférence au fichier existant.
-
Returns
Une FILE valeur qui fait référence au fichier copié, ou NULL si le fichier source n’existe pas ou est inaccessible.
Remarques
- Cette fonction est la version tolérante à l’erreur de la
copy_filefonction. Utilisez-le pour ignorer les erreurs lors de la conversion d’uneFILE EXTERNALréférence en référence,FILE MANAGEDque la conversion soit explicite (omissiondestination) ou automatique (insérer uneFILE EXTERNALvaleur dans uneFILE MANAGEDcolonne). - Si un fichier existe déjà sur le chemin de destination, Azure Databricks génère une erreur par défaut à moins que vous ne posiez
if_file_exists_modesuroverwriteouskip.
Conditions d’erreur courantes
COPY_FILE_ERROR.FILE_ALREADY_EXISTSCOPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
Pour plus d’informations, voir Conditions d’erreur dans Azure Databricks.
Examples
Si le fichier source n’existe pas, try_copy_file retourne NULL:
SELECT try_copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
NULL
Pour copier un fichier dans un stockage géré par Unity Catalog, en convertissant une FILE EXTERNAL référence en FILE MANAGED référence, omettez la destination :
SELECT try_copy_file(to_file('/Volumes/source/data/input.csv'));
Pour copier un fichier et écraser tout fichier de destination existant :
SELECT try_copy_file(
to_file('/Volumes/source/reports/report.pdf'),
destination => '/Volumes/archive/reports/report.pdf',
if_file_exists_mode => 'overwrite'
);