Vytvoření kontejneru objektů blob pomocí .NET
Objekty blob ve službě Azure Storage jsou uspořádané do kontejnerů. Než budete moct nahrát objekt blob, musíte nejprve vytvořit kontejner. Tento článek ukazuje, jak vytvořit kontejnery s klientskou knihovnou Azure Storage pro .NET.
Požadavky
- Předplatné Azure – vytvoření bezplatného předplatného
- Účet úložiště Azure – Vytvoření účtu úložiště
- Nejnovější sada .NET SDK pro váš operační systém Nezapomeňte získat sadu SDK a ne modul runtime.
Nastavení prostředí
Pokud nemáte existující projekt, v této části se dozvíte, jak nastavit projekt pro práci s klientskou knihovnou Azure Blob Storage pro .NET. Kroky zahrnují instalaci balíčku, přidání using
direktiv a vytvoření autorizovaného objektu klienta. Podrobnosti najdete v tématu Začínáme se službou Azure Blob Storage a .NET.
Instalace balíčků
Z adresáře projektu nainstalujte balíčky pro klientské knihovny Azure Blob Storage a Azure Identity pomocí dotnet add package
příkazu. Balíček Azure.Identity je potřeba pro připojení bez hesla ke službám Azure.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Přidání using
direktiv
Na začátek souboru kódu přidejte tyto using
direktivy:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Některé příklady kódu v tomto článku mohou vyžadovat další using
direktivy.
Vytvoření objektu klienta
Pokud chcete připojit aplikaci ke službě Blob Storage, vytvořte instanci BlobServiceClient. Následující příklad ukazuje, jak vytvořit objekt klienta pro DefaultAzureCredential
autorizaci:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Klienta služby můžete zaregistrovat pro injektáž závislostí v aplikaci .NET.
Můžete také vytvořit klientské objekty pro konkrétní kontejnery nebo objekty blob. Další informace o vytváření a správě klientských objektů najdete v tématu Vytváření a správa klientských objektů, které pracují s datovými prostředky.
Autorizace
Autorizační mechanismus musí mít potřebná oprávnění k vytvoření kontejneru. K autorizaci pomocí Microsoft Entra ID (doporučeno) potřebujete předdefinovanou roli Přispěvatel dat objektů blob služby Azure RBAC nebo vyšší. Další informace najdete v pokynech k autorizaci pro vytvoření kontejneru (REST API).
Pojmenování kontejneru
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 znak pomlčky (-).
- V názvech kontejnerů nejsou povolené po sobě jdoucí pomlčky.
Identifikátor URI pro prostředek kontejneru je formá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 ze BlobContainerClient
třídy:
Tyto metody vyvolá výjimku, pokud kontejner se stejným názvem již existuje.
Kontejnery se vytvářejí okamžitě pod účtem úložiště. Není možné vnořit jeden kontejner pod jiný.
Následující příklad používá BlobServiceClient
objekt k vytvoření kontejneru asynchronně:
//-------------------------------------------------
// 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 musí být explicitně vytvořen nebo odstraněn.
Na objekt blob uložený v kořenovém kontejneru můžete odkazovat 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ě. Například můžete odkazovat na objekt blob, který je v kořenovém kontejneru 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:
- Vytvoření kontejneru (REST API)
Prostředky klientské knihovny
Související obsah
- Tento článek je součástí příručky pro vývojáře služby Blob Storage pro .NET. Další informace najdete v úplném seznamu článků příručky pro vývojáře na webu Sestavení aplikace .NET.