Správa vlastností kontejneru a metadat pomocí .NET
Kontejnery objektů blob podporují systémové vlastnosti a uživatelsky definovaná metadata kromě dat, která obsahují. Tento článek ukazuje, jak spravovat vlastnosti systému a uživatelsky definovaná metadata pomocí klientské knihovny azure Storage pro .NET.
Předpoklady
- Tento článek předpokládá, že už máte projekt nastavený tak, aby fungoval s klientskou knihovnou služby Azure Blob Storage pro .NET. Další informace o nastavení projektu, včetně instalace balíčku, přidání
using
direktiv a vytvoření autorizovaného objektu klienta, najdete v tématu Začínáme se službou Azure Blob Storage a .NET. - Autorizační mechanismus musí mít oprávnění pro práci s vlastnostmi kontejneru nebo metadaty. Další informace najdete v pokynech k autorizaci pro následující operace rozhraní REST API:
O vlastnostech a metadatech
Systémové vlastnosti: Systémové vlastnosti existují pro každý prostředek úložiště objektů blob. Některé z nich můžou být přečtené nebo nastavené, zatímco jiné jsou jen pro čtení. Pod popisky některé systémové vlastnosti odpovídají určitým standardním hlavičkám HTTP. Klientská knihovna Azure Storage pro .NET tyto vlastnosti udržuje za vás.
Uživatelsky definovaná metadata: Uživatelsky definovaná metadata se skládají z jednoho nebo více párů název-hodnota, které zadáte pro prostředek úložiště objektů blob. Metadata můžete použít k uložení dalších hodnot s prostředkem. Hodnoty metadat jsou určené pouze pro vaše vlastní účely a nemají vliv na chování prostředku.
Páry názvů a hodnot metadat jsou platné hlavičky HTTP a měly by dodržovat všechna omezení, která se řídí hlavičkami HTTP. Další informace opožadavch
Načtení vlastností kontejneru
Pokud chcete načíst vlastnosti kontejneru, zavolejte jednu z následujících metod:
Následující příklad kódu načte systémové vlastnosti kontejneru a zapíše některé hodnoty vlastností do okna konzoly:
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();
}
}
Nastavení a načtení metadat
Metadata můžete zadat jako jeden nebo více párů název-hodnota v objektu blob nebo prostředku kontejneru. Chcete-li nastavit metadata, přidejte do objektu IDictionary páry name-value a potom zavolejte jednu z následujících metod pro zápis hodnot:
Následující příklad kódu nastaví metadata v kontejneru.
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();
}
}
Pokud chcete načíst metadata, zavolejte jednu z následujících metod:
Pak si přečtěte hodnoty, jak je znázorněno v následujícím příkladu.
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();
}
}
Zdroje informací
Další informace o nastavení a načítání vlastností kontejneru a metadat pomocí klientské knihovny služby Azure Blob Storage pro .NET najdete v následujících zdrojích informací.
Operace rozhraní REST API
Sada Azure SDK pro .NET obsahuje knihovny, které jsou postavené na rozhraní Azure REST API a umožňují interakci s operacemi rozhraní REST API prostřednictvím známých paradigmat .NET. Metody klientské knihovny pro nastavení a načítání vlastností a metadat používají následující operace rozhraní REST API:
- Získání vlastností kontejneru (REST API)
- Nastavení metadat kontejneru (REST API)
- Získání metadat kontejneru (REST API)
Metody GetProperties
načítají GetPropertiesAsync
vlastnosti kontejneru a metadata voláním operace Get Blob Properties a Get Blob Metadata operace.