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:
- Skapa container (REST API)