Mengelola properti kontainer dan metadata dengan .NET

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 .NET.

Prasyarat

Tentang properti dan metadata

  • Properti sistem: Properti sistem ada di setiap sumber daya penyimpanan Blob. Beberapa dari mereka dapat dibaca atau diatur, sementara yang lain baca-saja. Di bawah sampul, beberapa properti sistem sesuai dengan header HTTP standar tertentu. Pustaka klien Azure Storage untuk .NET memelihara 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, panggil salah satu metode berikut:

Contoh kode berikut mengambil properti sistem kontainer dan menulis beberapa nilai properti ke jendela konsol:

private static async Task ReadContainerPropertiesAsync(BlobContainerClient container)
{
    try
    {
        // Fetch some container properties and write out their values.
        var properties = await container.GetPropertiesAsync();
        Console.WriteLine($"Properties for container {container.Uri}");
        Console.WriteLine($"Public access level: {properties.Value.PublicAccess}");
        Console.WriteLine($"Last modified time in UTC: {properties.Value.LastModified}");
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine($"HTTP error code {e.Status}: {e.ErrorCode}");
        Console.WriteLine(e.Message);
        Console.ReadLine();
    }
}

Atur dan ambil metadata

Anda dapat menentukan metadata sebagai satu atau beberapa pasangan nama-nilai pada sumber daya blob atau kontainer. Untuk mengatur metadata, tambahkan pasangan nilai nama ke objek IDictionary, lalu panggil salah satu metode berikut untuk menulis nilai:

Contoh kode berikut mengatur metadata pada kontainer.

public static async Task AddContainerMetadataAsync(BlobContainerClient container)
{
    try
    {
        IDictionary<string, string> metadata =
           new Dictionary<string, string>();

        // Add some metadata to the container.
        metadata.Add("docType", "textDocuments");
        metadata.Add("category", "guidance");

        // Set the container's metadata.
        await container.SetMetadataAsync(metadata);
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine($"HTTP error code {e.Status}: {e.ErrorCode}");
        Console.WriteLine(e.Message);
        Console.ReadLine();
    }
}

Untuk mengambil metadata, panggil salah satu metode berikut:

Kemudian baca nilainya, seperti yang ditunjukkan pada contoh di bawah ini.

public static async Task ReadContainerMetadataAsync(BlobContainerClient container)
{
    try
    {
        var properties = await container.GetPropertiesAsync();

        // Enumerate the container's metadata.
        Console.WriteLine("Container metadata:");
        foreach (var metadataItem in properties.Value.Metadata)
        {
            Console.WriteLine($"\tKey: {metadataItem.Key}");
            Console.WriteLine($"\tValue: {metadataItem.Value}");
        }
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine($"HTTP error code {e.Status}: {e.ErrorCode}");
        Console.WriteLine(e.Message);
        Console.ReadLine();
    }
}

Sumber

Untuk mempelajari selengkapnya tentang mengatur dan mengambil properti kontainer dan metadata menggunakan pustaka klien Azure Blob Storage untuk .NET, lihat sumber daya berikut.

Operasi REST API

Azure SDK untuk .NET berisi pustaka yang dibangun di atas Azure REST API, memungkinkan Anda berinteraksi dengan operasi REST API melalui paradigma .NET yang sudah dikenal. Metode pustaka klien untuk mengatur dan mengambil properti dan metadata menggunakan operasi REST API berikut:

Metode GetProperties dan GetPropertiesAsync mengambil properti kontainer dan metadata dengan memanggil operasi Dapatkan Properti Blob dan operasi Dapatkan Metadata Blob.

Sumber daya pustaka klien