Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 18 LTS ve üzeri
Important
Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.
Bir dosyayı hedef yola kopyalar ve FILE referans döndürür, NULL ya da kaynak dosya yoksa veya erişilemezse. Dosyayı destination Unity Kataloğu tarafından yönetilen depoya kopyalamayı bırakın; bu depolama referansı FILE EXTERNALFILE MANAGED referansa dönüştürür.
Syntax
try_copy_file(file => file
[, destination => destination ]
[, if_file_exists_mode => mode ])
Argümanları pozisyon olarak veya isimle iletebilirsiniz. Bir argümanı isimle ilettiğinizde, sonraki tüm argümanlar da isimle geçilmelidir. Daha fazla bilgi için adlandırılmış parametre çağırışına bakınız.
Arguments
-
file: Kopyalanacak birFILEdeğer. -
destination: Sadece bir dizin değil, tam hedef dosya yolu olan isteğe bağlıSTRINGbir dosya. Dosya atıldığında, dosya Unity Kataloğu tarafından yönetilen depoya kopyalanır ve referansFILE EXTERNALFILE MANAGEDreferansa dönüştürülür. -
if_file_exists_mode: Bir dosyanın hedef yolda zaten var olduğu durumlarda davranışı ayarlayan isteğeSTRINGbağlı bir sistem. Sadece argümandestinationkullanıldığında geçerlidir. Kabul edilen değerler (küçük harf duyarsız) şunlardır:-
'error': Bir hata yaratıyor. Bu varsayılan değerdir. -
'overwrite': Mevcut dosyanın üzerine yazar. -
'skip': Kopyalamayı atlar ve mevcut dosyaya bir referans döndürürFILE.
-
İadeler
FILE Kopyalanan dosyaya referans veren veya NULL kaynak dosya mevcut yoksa ya da erişilemez durumdaysa.
Notlar
- Bu fonksiyon, hata toleransı olan
copy_filefonksiyon versiyonudur. Bir referansı referansa dönüştürürkenFILE EXTERNAL, dönüşümün açık (atlamaFILE MANAGED) veya otomatik (bir değer sütunadestinationeklemeFILE EXTERNAL) olsun, hataları görmezden gelmek için kullanın.FILE MANAGED - Eğer bir dosya varış yolunda zaten mevcutsa, Azure Databricks varsayılan olarak hata oluşturur, ancak veya
if_file_exists_modeveya olarak ayarlamazsanız.overwriteskip
Yaygın hata koşulları
COPY_FILE_ERROR.FILE_ALREADY_EXISTSCOPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
Daha fazla bilgi için bkz. Azure Databricks'te Hata koşulları.
Examples
Kaynak dosya yoksa, try_copy_file döndürür NULL:
SELECT try_copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
NULL
Bir dosyayı Unity Kataloğu tarafından yönetilen depolamaya kopyalamak için, bir FILE EXTERNAL referansı referansa FILE MANAGED dönüştürürken hedef belirtiyi atlayın:
SELECT try_copy_file(to_file('/Volumes/source/data/input.csv'));
Bir dosyayı kopyalamak ve mevcut herhangi bir hedef dosyanın üzerine yazmak için:
SELECT try_copy_file(
to_file('/Volumes/source/reports/report.pdf'),
destination => '/Volumes/archive/reports/report.pdf',
if_file_exists_mode => 'overwrite'
);