Mengelola properti kontainer dan metadata dengan Java

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

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 baca-saja. 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 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.

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:

Metode ini getProperties mengambil properti kontainer dan metadata dengan memanggil operasi Dapatkan Properti Blob dan operasi Dapatkan Metadata Blob.

Sampel kode

Sumber daya pustaka klien