Share via


Skapa en blobcontainer med .NET

Blobar i Azure Storage är ordnade i containrar. Innan du kan ladda upp en blob måste du först skapa en container. Den här artikeln visar hur du skapar containrar med Azure Storage-klientbiblioteket för .NET.

Förutsättningar

  • Den här artikeln förutsätter att du redan har konfigurerat ett projekt för att arbeta med Azure Blob Storage-klientbiblioteket för .NET. Mer information om hur du konfigurerar projektet, inklusive paketinstallation, tillägg using av direktiv och skapande av ett auktoriserat klientobjekt finns i Kom igång med Azure Blob Storage och .NET.
  • Auktoriseringsmekanismen måste ha behörighet att skapa en blobcontainer. Mer information finns i auktoriseringsvägledningen för följande REST API-åtgärd:

Om namngivning av containrar

Ett containernamn måste vara ett giltigt DNS-namn eftersom det utgör en del av den unika URI som används för att adressera containern eller dess blobar. Följ dessa regler när du namnger en container:

  • Containernamn kan vara mellan 3 och 63 tecken långa.
  • Containernamn måste börja med en bokstav eller siffra och får bara innehålla gemener, siffror och bindestreck (-).
  • På varandra följande bindestreckstecken tillåts inte i containernamn.

URI:n för en containerresurs är formaterad på följande sätt:

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

Skapa en container

Om du vill skapa en container anropar du någon av följande metoder från BlobServiceClient klassen :

Du kan också skapa en container med någon av följande metoder från BlobContainerClient klassen :

De här metoderna utlöser ett undantag om det redan finns en container med samma namn.

Containrar skapas omedelbart under lagringskontot. Det går inte att kapsla en container under en annan.

I följande exempel används ett BlobServiceClient -objekt för att skapa en container asynkront:

//-------------------------------------------------
// 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;
}

Skapa rotcontainern

En rotcontainer fungerar som standardcontainer för ditt lagringskonto. Varje lagringskonto kan ha en rotcontainer som måste ha namnet $root. Rotcontainern måste skapas eller tas bort uttryckligen.

Du kan referera till en blob som lagras i rotcontainern utan att inkludera rotcontainerns namn. Med rotcontainern kan du referera till en blob på den översta nivån i lagringskontohierarkin. Du kan till exempel referera till en blob som finns i rotcontainern på följande sätt:

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

I följande exempel skapas rotcontainern synkront:

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

Resurser

Mer information om hur du skapar en container med hjälp av Azure Blob Storage-klientbiblioteket för .NET finns i följande resurser.

REST API-åtgärder

Azure SDK för .NET innehåller bibliotek som bygger på Azure REST API, så att du kan interagera med REST API-åtgärder via välbekanta .NET-paradigm. Klientbiblioteksmetoderna för att skapa en container använder följande REST API-åtgärd:

Klientbiblioteksresurser