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
- Artikel ini mengasumsikan Anda sudah menyiapkan proyek untuk bekerja dengan pustaka klien Azure Blob Storage untuk .NET. Untuk mempelajari tentang menyiapkan proyek Anda, termasuk penginstalan paket, menambahkan arahan
using
, dan membuat objek klien resmi, lihat Mulai menggunakan Azure Blob Storage dan .NET. - Mekanisme otorisasi harus memiliki izin untuk bekerja dengan properti kontainer atau metadata. Untuk mempelajari lebih lanjut, lihat panduan otorisasi untuk operasi REST API berikut:
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:
- Mendapatkan Properti Kontainer (REST API)
- Atur Metadata Kontainer (REST API)
- Dapatkan Metadata Kontainer (REST API)
Metode GetProperties
dan GetPropertiesAsync
mengambil properti kontainer dan metadata dengan memanggil operasi Dapatkan Properti Blob dan operasi Dapatkan Metadata Blob.