Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Saat Anda mencantumkan kontainer di akun Azure Storage dari kode, Anda dapat menentukan beberapa opsi untuk mengelola bagaimana hasil dikembalikan dari Azure Storage. Artikel ini memperlihatkan cara mencantumkan kontainer menggunakan pustaka klien Azure Storage untuk Java.
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
Siapkan 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. Menginstal paket dengan menyertakan file BOM, atau menggunakan dependensi langsung.
Menambahkan pernyataan impor
Tambahkan pernyataan import berikut:
import com.azure.core.http.rest.*;
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
Otorisasi
Mekanisme otorisasi harus memiliki izin yang diperlukan untuk mencantumkan kontainer blob. 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 Kontainer Daftar (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.
Tentang pilihan daftar kontainer
Saat mencantumkan kontainer dari kode, Anda dapat menentukan opsi untuk mengelola bagaimana hasil dikembalikan dari Azure Storage. Anda dapat menentukan jumlah hasil yang akan dikembalikan di setiap set hasil, lalu mengambil set berikutnya. Anda juga dapat memfilter hasil dengan awalan, dan mengembalikan metadata kontainer dengan hasilnya. Opsi ini dijelaskan di bagian berikut.
Untuk mencantumkan kontainer di akun penyimpanan, panggil metode berikut:
Metode ini mengembalikan tipe BlobContainerItem yang dapat diulang. Kontainer diurutkan secara leksikografis berdasarkan nama.
Mengelola berapa banyak hasil yang dikembalikan
Secara default, operasi listingan mengembalikan hingga 5000 hasil sekaligus. Untuk mengembalikan set hasil yang lebih kecil, berikan nilai bukan nol untuk ukuran halaman hasil yang akan dikembalikan. Anda dapat mengatur nilai ini menggunakan metode berikut:
Contoh yang disajikan dalam artikel ini memperlihatkan kepada Anda cara menampilkan hasil dalam bentuk halaman. Untuk mempelajari selengkapnya tentang konsep penomoran halaman, lihat Penomoran halaman dengan Azure SDK untuk Java.
Memfilter hasil dengan prefiks
Untuk memfilter daftar kontainer, tentukan untai (karakter) untuk parameter prefix. String awalan dapat menyertakan satu atau lebih karakter. Azure Storage kemudian mengembalikan kontainer yang namanya dimulai dengan prefiks tersebut saja. Anda dapat mengatur nilai ini menggunakan metode berikut:
Sertakan metadata kontainer
Untuk menyertakan metadata kontainer dengan hasilnya, buat BlobContainerListDetails instans dan teruskan true ke metode berikut:
Kemudian teruskan BlobContainerListDetails objek ke metode berikut:
Sertakan kontainer yang dihapus
Untuk menyertakan kontainer yang dihapus sementara dengan hasilnya, buat BlobContainerListDetails instans dan teruskan true ke metode berikut:
Kemudian teruskan BlobContainerListDetails objek ke metode berikut:
Contoh kode
Contoh berikut mencantumkan kontainer dan memfilter hasil dengan awalan tertentu:
public void listContainers(BlobServiceClient blobServiceClient) {
// Set a prefix to filter results based on a specified character or string
ListBlobContainersOptions options = new ListBlobContainersOptions()
.setPrefix("container-");
System.out.println("List containers:");
for (BlobContainerItem blobContainerItem : blobServiceClient.listBlobContainers(options, null)) {
System.out.printf("Container name: %s%n", blobContainerItem.getName());
}
}
Anda juga dapat mengembalikan serangkaian hasil yang lebih kecil, dengan menentukan ukuran halaman hasil yang akan dikembalikan:
public void listContainersWithPaging(BlobServiceClient blobServiceClient) {
// Set a prefix to filter results and specify a page limit
ListBlobContainersOptions options = new ListBlobContainersOptions()
.setMaxResultsPerPage(2) // Low number for demonstration purposes
.setPrefix("container-");
int i = 0;
Iterable<PagedResponse<BlobContainerItem>> blobContainerPages = blobServiceClient
.listBlobContainers(options, null).iterableByPage();
for (PagedResponse<BlobContainerItem> page : blobContainerPages) {
System.out.printf("Page %d%n", ++i);
page.getElements().forEach(container -> {
System.out.printf("Name: %s%n", container.getName());
});
}
}
Sumber
Untuk mempelajari selengkapnya tentang mencantumkan 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 mencantumkan kontainer menggunakan operasi REST API berikut:
- Daftar Kontainer (REST API)
Sumber daya pustaka klien
- Dokumentasi referensi pustaka klien
- Kode sumber pustaka klien
- Paket (Maven untuk pembangunan perangkat lunak)
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.