Vytvoření kontejneru objektů blob pomocí .NET

Objekty blob ve službě Azure Storage jsou uspořádané do kontejnerů. Před nahráním objektu blob musíte nejprve vytvořit kontejner. Tento článek ukazuje, jak vytvářet kontejnery pomocí klientské knihovny Azure Storage pro .NET.

Požadavky

  • Tento článek předpokládá, že už máte projekt nastavený pro práci s klientskou knihovnou Azure Blob Storage pro .NET. 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 s Azure Blob Storage a .NET.
  • Autorizační mechanismus musí mít oprávnění k vytvoření kontejneru objektů blob. Další informace najdete v doprovodných materiálech k autorizaci pro následující operaci rozhraní REST API:

Informace o pojmenování kontejnerů

Název kontejneru musí být platný název DNS, protože je součástí jedinečného identifikátoru URI použitého k adresování kontejneru nebo jeho objektů blob. Při pojmenování kontejneru postupujte podle těchto pravidel:

  • Názvy kontejnerů můžou mít délku 3 až 63 znaků.
  • Názvy kontejnerů musí začínat písmenem nebo číslicí a mohou obsahovat pouze malá písmena, číslice a pomlčku (-).
  • Po sobě jdoucí pomlčky nejsou v názvech kontejnerů povoleny.

Identifikátor URI pro prostředek kontejneru je naformátovaný takto:

https://my-account-name.blob.core.windows.net/my-container-name

Vytvoření kontejneru

Chcete-li vytvořit kontejner, zavolejte jednu z následujících metod z BlobServiceClient třídy :

Kontejner můžete také vytvořit pomocí jedné z následujících metod z BlobContainerClient třídy :

Tyto metody vyvolají výjimku, pokud již existuje kontejner se stejným názvem.

Kontejnery se vytvářejí přímo pod účtem úložiště. Není možné vnořit jeden kontejner pod jiný.

Následující příklad používá objekt k BlobServiceClient asynchronnímu vytvoření kontejneru:

//-------------------------------------------------
// Create a container
//-------------------------------------------------
private static async Task<BlobContainerClient> CreateSampleContainerAsync(BlobServiceClient blobServiceClient)
{
    // Name the sample container based on new GUID to ensure uniqueness.
    // The container name must be lowercase.
    string containerName = "container-" + Guid.NewGuid();

    try
    {
        // Create the container
        BlobContainerClient container = await blobServiceClient.CreateBlobContainerAsync(containerName);

        if (await container.ExistsAsync())
        {
            Console.WriteLine("Created container {0}", container.Name);
            return container;
        }
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine("HTTP error code {0}: {1}",
                            e.Status, e.ErrorCode);
        Console.WriteLine(e.Message);
    }

    return null;
}

Vytvoření kořenového kontejneru

Kořenový kontejner slouží jako výchozí kontejner pro váš účet úložiště. Každý účet úložiště může mít jeden kořenový kontejner, který musí mít název $root. Kořenový kontejner se musí explicitně vytvořit nebo odstranit.

Můžete odkazovat na objekt blob uložený v kořenovém kontejneru bez zahrnutí názvu kořenového kontejneru. Kořenový kontejner umožňuje odkazovat na objekt blob na nejvyšší úrovni hierarchie účtu úložiště. Na objekt blob, který je v kořenovém kontejneru, můžete například odkazovat následujícím způsobem:

https://myaccount.blob.core.windows.net/default.html

Následující příklad vytvoří kořenový kontejner synchronně:

//-------------------------------------------------
// Create root container
//-------------------------------------------------
private static void CreateRootContainer(BlobServiceClient blobServiceClient)
{
    try
    {
        // Create the root container or handle the exception if it already exists
        BlobContainerClient container =  blobServiceClient.CreateBlobContainer("$root");

        if (container.Exists())
        {
            Console.WriteLine("Created root container.");
        }
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine("HTTP error code {0}: {1}",
                            e.Status, e.ErrorCode);
        Console.WriteLine(e.Message);
    }
}

Zdroje informací

Další informace o vytvoření kontejneru pomocí klientské knihovny 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 vytvoření kontejneru používají následující operaci rozhraní REST API:

Prostředky klientské knihovny