Menghapus dan memulihkan kontainer blob dengan Java
Artikel ini memperlihatkan cara menghapus kontainer dengan pustaka klien Azure Storage untuk Java. Jika Anda telah mengaktifkan penghapusan sementara kontainer, Anda dapat memulihkan kontainer yang dihapus.
Prasyarat
- Langganan Azure - buat akun secara gratis
- Akun penyimpanan Azure - buat akun penyimpanan
- Java Development Kit (JDK) versi 8 atau yang lebih baru (kami merekomendasikan versi 17 untuk pengalaman terbaik)
- Apache Maven digunakan untuk manajemen proyek dalam contoh ini
Menyiapkan lingkungan Anda
Jika Anda tidak memiliki proyek yang sudah ada, bagian ini memperlihatkan kepada Anda cara menyiapkan proyek untuk bekerja dengan pustaka klien Azure Blob Storage untuk Java. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Blob Storage dan Java.
Untuk bekerja dengan contoh kode dalam artikel ini, ikuti langkah-langkah ini untuk menyiapkan proyek Anda.
Catatan
Artikel ini menggunakan alat build Maven untuk membangun dan menjalankan kode contoh. Alat build lainnya, seperti Gradle, juga bekerja dengan Azure SDK untuk Java.
Memasang paket
Buka file pom.xml
di editor teks Anda. Instal paket dengan menyertakan file BOM, atau termasuk dependensi langsung.
Menambahkan pernyataan impor
Tambahkan pernyataan import
berikut:
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
Authorization
Mekanisme otorisasi harus memiliki izin yang diperlukan untuk menghapus atau memulihkan kontainer. Untuk otorisasi dengan MICROSOFT Entra ID (disarankan), Anda memerlukan peran bawaan Azure RBAC Kontributor Data Blob Penyimpanan atau yang lebih tinggi. Untuk mempelajari lebih lanjut, lihat panduan otorisasi untuk Hapus Kontainer (REST API) dan Pulihkan Kontainer (REST API).
Membuat objek klien
Untuk menyambungkan aplikasi ke Blob Storage, buat instans BlobServiceClient.
Contoh berikut menggunakan BlobServiceClientBuilder untuk membangun BlobServiceClient
objek menggunakan DefaultAzureCredential
, dan menunjukkan cara membuat klien kontainer dan blob, jika diperlukan:
// Azure SDK client builders accept the credential as a parameter
// TODO: Replace <storage-account-name> with your actual storage account name
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint("https://<storage-account-name>.blob.core.windows.net/")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
// If needed, you can create a BlobContainerClient object from the BlobServiceClient
BlobContainerClient containerClient = blobServiceClient
.getBlobContainerClient("<container-name>");
// If needed, you can create a BlobClient object from the BlobContainerClient
BlobClient blobClient = containerClient
.getBlobClient("<blob-name>");
Untuk mempelajari selengkapnya tentang membuat dan mengelola objek klien, lihat Membuat dan mengelola objek klien yang berinteraksi dengan sumber daya data.
Menghapus kontainer
Untuk menghapus kontainer di Java, gunakan salah satu metode berikut dari BlobServiceClient
kelas :
Anda juga dapat menghapus kontainer menggunakan salah satu metode berikut dari BlobContainerClient
kelas :
Setelah menghapus kontainer, Anda tidak dapat membuat wadah dengan nama yang sama setidaknya selama 30 detik. Mencoba membuat kontainer dengan nama yang sama akan gagal dengan kode 409 (Conflict)
kesalahan HTTP . Operasi lain pada kontainer atau blob yang dikandungnya akan gagal dengan kode 404 (Not Found)
kesalahan HTTP .
Contoh berikut menggunakan BlobServiceClient
objek untuk menghapus kontainer yang ditentukan:
public void deleteContainer(BlobServiceClient blobServiceClient, String containerName) {
// Delete the container using the service client
blobServiceClient.deleteBlobContainer(containerName);
}
Contoh berikut menunjukkan cara menghapus semua kontainer yang dimulai dengan awalan tertentu:
public void deleteContainersWithPrefix(BlobServiceClient blobServiceClient) {
ListBlobContainersOptions options = new ListBlobContainersOptions()
.setPrefix("container-");
// Delete the container with the specified prefix using the service client
for (BlobContainerItem containerItem : blobServiceClient.listBlobContainers(options, null)) {
BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(containerItem.getName());
containerClient.delete();
}
}
Memulihkan kontainer yang dihapus
Saat penghapusan sementara kontainer diaktifkan untuk akun penyimpanan, kontainer yang dihapus dan kontennya dapat dipulihkan dalam periode retensi tertentu. Untuk mempelajari selengkapnya tentang penghapusan sementara kontainer, lihat Mengaktifkan dan mengelola penghapusan sementara untuk kontainer. Anda dapat memulihkan kontainer yang dihapus sementara dengan memanggil metode BlobServiceClient
kelas berikut:
Contoh berikut menemukan kontainer yang dihapus, mendapatkan versi kontainer yang dihapus, lalu meneruskan versi ke dalam undeleteBlobContainer
metode untuk memulihkan kontainer.
public void restoreContainer(BlobServiceClient blobServiceClient) {
ListBlobContainersOptions options = new ListBlobContainersOptions();
options.getDetails().setRetrieveDeleted(true);
// Delete the container with the specified prefix using the service client
for (BlobContainerItem deletedContainerItem : blobServiceClient.listBlobContainers(options, null)) {
BlobContainerClient containerClient = blobServiceClient
.undeleteBlobContainer(deletedContainerItem.getName(), deletedContainerItem.getVersion());
}
}
Sumber
Untuk mempelajari selengkapnya tentang menghapus kontainer menggunakan pustaka klien Azure Blob Storage untuk Java, lihat sumber daya berikut ini.
Sampel kode
Operasi REST API
Azure SDK untuk Java berisi pustaka yang dibangun di atas Azure REST API, memungkinkan Anda berinteraksi dengan operasi REST API melalui paradigma Java yang sudah dikenal. Metode pustaka klien untuk menghapus atau memulihkan kontainer menggunakan operasi REST API berikut:
- Hapus Kontainer (REST API)
- Pulihkan Kontainer (REST API)
Sumber daya pustaka klien
Lihat juga
Konten terkait
- Artikel ini adalah bagian dari panduan pengembang Blob Storage untuk Java. Untuk mempelajari lebih lanjut, lihat daftar lengkap artikel panduan pengembang di Membangun aplikasi Java Anda.