Zarządzanie właściwościami i metadanymi kontenera za pomocą platformy .NET

Kontenery obiektów blob obsługują właściwości systemowe i metadane zdefiniowane przez użytkownika oprócz danych, które zawierają. W tym artykule pokazano, jak zarządzać właściwościami systemu i metadanymi zdefiniowanymi przez użytkownika za pomocą biblioteki klienta usługi Azure Storage dla platformy .NET.

Wymagania wstępne

Informacje o właściwościach i metadanych

  • Właściwości systemu: właściwości systemu istnieją w każdym zasobie usługi Blob Storage. Niektóre z nich mogą być odczytywane lub ustawiane, a inne są tylko do odczytu. Pod osłonami niektóre właściwości systemowe odpowiadają pewnym standardowym nagłówkom HTTP. Biblioteka klienta usługi Azure Storage dla platformy .NET obsługuje te właściwości.

  • Metadane zdefiniowane przez użytkownika: metadane zdefiniowane przez użytkownika składają się z co najmniej jednej pary nazwa-wartość określonej dla zasobu usługi Blob Storage. Za pomocą metadanych można przechowywać dodatkowe wartości z zasobem. Wartości metadanych są przeznaczone tylko do własnych celów i nie mają wpływu na zachowanie zasobu.

    Pary nazwa/wartość metadanych są prawidłowymi nagłówkami HTTP i powinny być zgodne ze wszystkimi ograniczeniami dotyczącymi nagłówków HTTP. Aby uzyskać więcej informacji na temat wymagań dotyczących nazewnictwa metadanych, zobacz Nazwy metadanych.

Pobieranie właściwości kontenera

Aby pobrać właściwości kontenera, wywołaj jedną z następujących metod:

Poniższy przykład kodu pobiera właściwości systemowe kontenera i zapisuje niektóre wartości właściwości w oknie konsoli:

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();
    }
}

Ustawianie i pobieranie metadanych

Metadane można określić jako jedną lub więcej par nazwa-wartość w zasobie obiektu blob lub kontenera. Aby ustawić metadane, dodaj pary name-value do obiektu IDictionary , a następnie wywołaj jedną z następujących metod, aby zapisać wartości:

Poniższy przykład kodu ustawia metadane w kontenerze.

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();
    }
}

Aby pobrać metadane, wywołaj jedną z następujących metod:

Następnie przeczytaj wartości, jak pokazano w poniższym przykładzie.

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();
    }
}

Zasoby

Aby dowiedzieć się więcej na temat ustawiania i pobierania właściwości i metadanych kontenera przy użyciu biblioteki klienta usługi Azure Blob Storage dla platformy .NET, zobacz następujące zasoby.

Operacje interfejsu API REST

Zestaw Azure SDK dla platformy .NET zawiera biblioteki, które są oparte na interfejsie API REST platformy Azure, co umożliwia interakcję z operacjami interfejsu API REST za pomocą znanych paradygmatów platformy .NET. Metody biblioteki klienta do ustawiania i pobierania właściwości i metadanych używają następujących operacji interfejsu API REST:

Metody GetProperties i GetPropertiesAsync pobierają właściwości i metadane kontenera, wywołując zarówno operację Pobierz właściwości obiektu blob, jak i operację Pobierz metadane obiektu blob.

Zasoby biblioteki klienta