Mengembangkan aplikasi Java yang menggunakan Azure Files
Pelajari dasar-dasar pengembangan aplikasi Java menggunakan Azure Files untuk menyimpan data. Buat aplikasi konsol dan pelajari tindakan dasar dengan menggunakan API Azure Files:
- Membuat dan menghapus berbagi file Azure
- Membuat dan menghapus direktori
- Hitung file dan direktori dalam berbagi file Azure
- Mengunggah, mengunduh, dan menghapus file
Tip
Lihat repositori contoh kode Azure Storage
Untuk contoh kode Azure Storage ujung ke ujung yang mudah digunakan yang dapat Anda unduh dan jalankan, lihat daftar Contoh Azure Storage kami.
Berlaku untuk
Jenis berbagi File | SMB | NFS |
---|---|---|
Berbagi file standar (GPv2), LRS/ZRS | ![]() |
![]() |
Berbagi file standar (GPv2), GRS/GZRS | ![]() |
![]() |
Berbagi file premium (FileStorage), LRS/ZRS | ![]() |
![]() |
Membuat aplikasi Java
Untuk membuat sampel, Anda memerlukan Java Development Kit (JDK) dan Azure Storage SDK for Java. Anda juga memerlukan akun penyimpanan Azure.
Atur aplikasi Anda untuk menggunakan Azure Files
Untuk menggunakan Azure Files API, tambahkan kode berikut ke bagian atas file Java dari tempat Anda berniat mengakses Azure Files.
// Include the following imports to use Azure Files APIs
import com.azure.storage.file.share.*;
Siapkan string koneksi Azure Storage
Untuk menggunakan Azure Files, Anda harus tersambung ke akun penyimpanan Azure Anda. Konfigurasikan string koneksi dan gunakan untuk menyambungkan ke akun penyimpanan Anda. Tentukan variabel statis untuk menampung string koneksi.
Ganti <storage_account_name> dan <storage_account_key> dengan nilai sebenarnya untuk akun penyimpanan Anda.
// Define the connection-string.
// Replace the values, including <>, with
// the values from your storage account.
public static final String connectStr =
"DefaultEndpointsProtocol=https;" +
"AccountName=<storage_account_name>;" +
"AccountKey=<storage_account_key>";
Akses berbagi file Azure
Untuk mengakses Azure Files, buat objek ShareClient. Gunakan kelas ShareClientBuilder untuk membangun objek ShareClient baru.
ShareClient shareClient = new ShareClientBuilder()
.connectionString(connectStr).shareName(shareName)
.buildClient();
Membuat berbagi file
Semua file dan direktori di Azure Files disimpan dalam kontainer yang disebut berbagi.
Metode ShareClient.create memberi pengecualian jika berbagi sudah ada. Letakkan panggilan untuk buat dalam suatu try/catch
blok dan tangani pengecualian.
public static Boolean createFileShare(String connectStr, String shareName)
{
try
{
ShareClient shareClient = new ShareClientBuilder()
.connectionString(connectStr).shareName(shareName)
.buildClient();
shareClient.create();
return true;
}
catch (Exception e)
{
System.out.println("createFileShare exception: " + e.getMessage());
return false;
}
}
Hapus berbagi file
Kode contoh berikut menghapus berbagi file.
Hapus berbagi dengan memanggil metode ShareClient.delete.
public static Boolean deleteFileShare(String connectStr, String shareName)
{
try
{
ShareClient shareClient = new ShareClientBuilder()
.connectionString(connectStr).shareName(shareName)
.buildClient();
shareClient.delete();
return true;
}
catch (Exception e)
{
System.out.println("deleteFileShare exception: " + e.getMessage());
return false;
}
}
Membuat direktori
Atur penyimpanan dengan meletakkan file di dalam subdirectories alih-alih meletakkan semuanya di direktori akar.
Kode berikut membuat direktori dengan cara memanggil ShareDirectoryClient.create. Metode contoh memberi Boolean
nilai yang menunjukkan apakah berhasil membuat direktori.
public static Boolean createDirectory(String connectStr, String shareName,
String dirName)
{
try
{
ShareDirectoryClient dirClient = new ShareFileClientBuilder()
.connectionString(connectStr).shareName(shareName)
.resourcePath(dirName)
.buildDirectoryClient();
dirClient.create();
return true;
}
catch (Exception e)
{
System.out.println("createDirectory exception: " + e.getMessage());
return false;
}
}
Hapus direktori
Menghapus direktori adalah tugas yang sederhana. Anda tidak dapat menghapus direktori yang masih berisi file atau subdirektori.
Metode ShareDirectoryClient.delete memberi pengecualian jika direktori tidak ada atau tidak kosong. Letakkan panggilan untuk hapus dalam suatu try/catch
blok dan tangani pengecualian.
public static Boolean deleteDirectory(String connectStr, String shareName,
String dirName)
{
try
{
ShareDirectoryClient dirClient = new ShareFileClientBuilder()
.connectionString(connectStr).shareName(shareName)
.resourcePath(dirName)
.buildDirectoryClient();
dirClient.delete();
return true;
}
catch (Exception e)
{
System.out.println("deleteDirectory exception: " + e.getMessage());
return false;
}
}
Hitung file dan direktori dalam berbagi file Azure
Dapatkan daftar file dan direktori dengan memanggil ShareDirectoryClient.listFilesAndDirectories. Metode ini memberi daftar objek ShareFileItem tempat Anda dapat melakukan iterasi. Kode berikut mencantumkan file dan direktori di dalam direktori yang ditentukan oleh parameter dirName.
public static Boolean enumerateFilesAndDirs(String connectStr, String shareName,
String dirName)
{
try
{
ShareDirectoryClient dirClient = new ShareFileClientBuilder()
.connectionString(connectStr).shareName(shareName)
.resourcePath(dirName)
.buildDirectoryClient();
dirClient.listFilesAndDirectories().forEach(
fileRef -> System.out.printf("Resource: %s\t Directory? %b\n",
fileRef.getName(), fileRef.isDirectory())
);
return true;
}
catch (Exception e)
{
System.out.println("enumerateFilesAndDirs exception: " + e.getMessage());
return false;
}
}
Mengunggah file
Pelajari bagaimana cara mengunggah file dari penyimpanan lokal.
Kode berikut mengunggah file lokal ke Azure Files dengan memanggil metode ShareFileClient.uploadFromFile. Metode contoh berikut memberi Boolean
nilai yang menunjukkan apakah berhasil mengunggah file yang ditentukan.
public static Boolean uploadFile(String connectStr, String shareName,
String dirName, String fileName)
{
try
{
ShareDirectoryClient dirClient = new ShareFileClientBuilder()
.connectionString(connectStr).shareName(shareName)
.resourcePath(dirName)
.buildDirectoryClient();
ShareFileClient fileClient = dirClient.getFileClient(fileName);
fileClient.create(1024);
fileClient.uploadFromFile(fileName);
return true;
}
catch (Exception e)
{
System.out.println("uploadFile exception: " + e.getMessage());
return false;
}
}
Unduh file
Salah satu operasi yang lebih sering adalah mengunduh file dari berbagi file Azure.
Contoh berikut mengunduh file yang ditentukan ke direktori lokal yang ditentukan dalam parameter destDir. Metode contoh membuat nama file yang diunduh unik dengan menambahkan tanggal dan jam.
public static Boolean downloadFile(String connectStr, String shareName,
String dirName, String destDir,
String fileName)
{
try
{
ShareDirectoryClient dirClient = new ShareFileClientBuilder()
.connectionString(connectStr).shareName(shareName)
.resourcePath(dirName)
.buildDirectoryClient();
ShareFileClient fileClient = dirClient.getFileClient(fileName);
// Create a unique file name
String date = new java.text.SimpleDateFormat("yyyyMMdd-HHmmss").format(new java.util.Date());
String destPath = destDir + "/"+ date + "_" + fileName;
fileClient.downloadToFile(destPath);
return true;
}
catch (Exception e)
{
System.out.println("downloadFile exception: " + e.getMessage());
return false;
}
}
Hapus file
Operasi Azure Files umum lainnya adalah penghapusan file.
Kode berikut menghapus file yang dispesifikasikan. Pertama, contoh ini membuat ShareDirectoryClient berdasarkan parameter dirName. Kemudian, kode mendapat ShareFileClient dari klien direktori, berdasarkan parameter fileName. Yang terakhir, metode contoh memanggil ShareFileClient.delete untuk menghapus file.
public static Boolean deleteFile(String connectStr, String shareName,
String dirName, String fileName)
{
try
{
ShareDirectoryClient dirClient = new ShareFileClientBuilder()
.connectionString(connectStr).shareName(shareName)
.resourcePath(dirName)
.buildDirectoryClient();
ShareFileClient fileClient = dirClient.getFileClient(fileName);
fileClient.delete();
return true;
}
catch (Exception e)
{
System.out.println("deleteFile exception: " + e.getMessage());
return false;
}
}
Langkah berikutnya
Jika Anda ingin mempelajari selengkapnya tentang API penyimpanan Azure yang lain, ikuti tautan ini.
- Azure untuk pengembang Java
- Azure SDK untuk Java
- Azure SDK untuk Android
- Pustaka klien berbagi file Azure untuk Java SDK Reference
- Azure Storage Services REST API
- Blog Tim Azure Storage
- Transfer data dengan AzCopy Command-Line Utility
- Memecahkan masalah Azure Files
Untuk sampel kode terkait menggunakan Java versi 8 SDK yang tidak digunakan lagi, lihat Sampel kode menggunakan Java versi 8.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk