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.
Kontainer blob mendukung properti sistem dan metadata yang ditentukan pengguna, selain data yang dimuatnya. Artikel ini memperlihatkan cara mengelola properti sistem dan metadata yang ditentukan pengguna dengan 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. Instal paket dengan menyertakan file BOM, atau menyertakan sebuah dependensi langsung.
Menambahkan pernyataan impor
Tambahkan pernyataan import berikut:
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
import java.util.*;
Otorisasi
Mekanisme otorisasi harus memiliki izin yang diperlukan untuk bekerja dengan properti kontainer atau metadata. Untuk otorisasi dengan Microsoft Entra ID (disarankan), Anda memerlukan peran bawaan Storage Blob Data Reader dari Azure RBAC atau yang lebih tinggi untuk operasi get, dan Storage Blob Data Contributor atau yang lebih tinggi untuk operasi set. Untuk mempelajari lebih lanjut, lihat panduan otorisasi untuk Dapatkan Properti Kontainer (REST API), Atur Metadata Kontainer (REST API), atau Dapatkan Metadata 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.
Tentang properti dan metadata
Properti sistem: Properti sistem ada di setiap sumber daya Blob Storage. Beberapa dari mereka dapat dibaca atau diatur, sementara yang lain hanya dapat dibaca. Di balik layar, beberapa properti sistem sesuai dengan header HTTP standar tertentu. Pustaka klien Azure Storage untuk Java mempertahankan properti ini untuk Anda.
Metadata yang ditentukan pengguna: Metadata yang ditentukan pengguna terdiri dari satu atau beberapa pasangan nama-nilai yang Anda tentukan untuk sumber daya penyimpanan Blob. Anda dapat menggunakan metadata untuk menyimpan nilai tambahan dengan sumber daya. Nilai metadata hanya untuk tujuan Anda sendiri, dan tidak memengaruhi perilaku sumber daya.
Pasangan nama/nilai metadata adalah header HTTP yang valid dan harus mematuhi semua batasan yang mengatur header HTTP. Untuk informasi selengkapnya tentang persyaratan penamaan metadata, lihat Nama metadata.
Mengambil properti kontainer
Untuk mengambil properti kontainer, gunakan metode berikut:
Contoh kode berikut mengambil properti sistem kontainer dan menulis nilai properti ke jendela konsol:
public void getContainerProperties(BlobContainerClient blobContainerClient) {
BlobContainerProperties properties = blobContainerClient.getProperties();
System.out.printf("Public Access Type: %s, Legal Hold? %b, Immutable? %b%n",
properties.getBlobPublicAccess(),
properties.hasLegalHold(),
properties.hasImmutabilityPolicy());
}
Atur dan ambil metadata
Anda dapat menentukan metadata sebagai satu atau beberapa pasangan nama-nilai pada sumber daya blob atau kontainer. Untuk mengatur metadata, gunakan metode berikut:
Mengatur metadata kontainer menimpa semua metadata yang ada yang terkait dengan kontainer. Tidak dimungkinkan untuk memodifikasi pasangan nama-nilai individual.
Contoh kode berikut mengatur metadata pada kontainer:
public void addContainerMetadata(BlobContainerClient blobContainerClient) {
Map<String, String> metadata = new HashMap<String, String>();
metadata.put("docType", "text");
metadata.put("category", "reference");
try {
blobContainerClient.setMetadata(metadata);
System.out.printf("Set metadata completed %n");
} catch (UnsupportedOperationException error) {
System.out.printf("Failure while setting metadata %n");
}
}
Untuk mengambil metadata, panggil metode berikut:
Contoh berikut akan membaca nilai metadata:
public void readContainerMetadata(BlobContainerClient blobContainerClient) {
BlobContainerProperties properties = blobContainerClient.getProperties();
System.out.printf("Container metadata: %n");
properties.getMetadata().entrySet().forEach(metadataItem -> {
System.out.printf(" %s = %s%n", metadataItem.getKey(), metadataItem.getValue());
});
}
Sumber
Untuk mempelajari selengkapnya tentang mengatur dan mengambil properti kontainer dan metadata 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 mengatur dan mengambil properti dan metadata menggunakan operasi REST API berikut:
- Mendapatkan Properti Kontainer (REST API)
- Setel Metadata Kontainer (REST API)
- Dapatkan Metadata Kontainer (REST API)
Metode getProperties ini mengambil properti dan metadata kontainer dengan memanggil operasi Ambil Properti Blob dan operasi Ambil Metadata Blob.
Sumber daya pustaka klien
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.