Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Obiekty blob w usłudze Azure Storage są zorganizowane w kontenery. Zanim przekażesz obiekt blob, musisz najpierw utworzyć kontener. W tym artykule pokazano, jak tworzyć kontenery za pomocą biblioteki klienta usługi Azure Storage dla platformy .NET.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie
- Konto magazynowe Azure — utwórz konto magazynowe
- Najnowszy zestaw .NET SDK dla systemu operacyjnego. Pamiętaj, aby pobrać zestaw SDK, a nie środowisko uruchomieniowe.
Konfigurowanie środowiska
Jeśli nie masz istniejącego projektu, w tej sekcji pokazano, jak skonfigurować projekt do pracy z biblioteką klienta usługi Azure Blob Storage dla platformy .NET. Kroki obejmują instalację pakietu, dodawanie using dyrektyw i tworzenie autoryzowanego obiektu klienta. Aby uzyskać szczegółowe informacje, zobacz Rozpoczynanie pracy z usługami Azure Blob Storage i .NET.
Instalowanie pakietów
Z katalogu projektu zainstaluj pakiety dla bibliotek klienta Azure Blob Storage i platformy Azure Identity przy użyciu polecenia dotnet add package. Pakiet Azure.Identity jest wymagany w przypadku połączeń bez hasła z usługami platformy Azure.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Dodaj using dyrektywy
Dodaj te using dyrektywy na początku pliku kodu:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Niektóre przykłady kodu w tym artykule mogą wymagać dodatkowych using dyrektyw.
Tworzenie obiektu klienta
Aby połączyć aplikację z usługą Blob Storage, utwórz wystąpienie BlobServiceClient. W poniższym przykładzie pokazano, jak utworzyć obiekt klienta przy użyciu DefaultAzureCredential autoryzacji:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Możesz zarejestrować klienta usługi dla wstrzykiwania zależności w aplikacji .NET.
Można również tworzyć obiekty klienta dla określonych kontenerów lub obiektów blob. Aby dowiedzieć się więcej na temat tworzenia obiektów klienta i zarządzania nimi, zobacz Tworzenie obiektów klienta korzystających z zasobów danych i zarządzanie nimi.
Autoryzacja
Mechanizm autoryzacji musi mieć niezbędne uprawnienia do utworzenia kontenera. Aby uzyskać autoryzację przy użyciu identyfikatora Entra firmy Microsoft (zalecane), potrzebujesz wbudowanej roli kontroli dostępu opartej na rolach (RBAC) platformy Azure Współtwórca danych obiektów blob usługi Storage lub wyższej. Aby dowiedzieć się więcej, zobacz wskazówki dotyczące autoryzacji dla tworzenia kontenera (interfejs API REST).
Informacje o nazewnictwie kontenerów
Nazwa kontenera musi być prawidłową nazwą DNS, ponieważ stanowi część unikatowego identyfikatora URI używanego do adresowania kontenera lub jego obiektów blob. Postępuj zgodnie z tymi regułami podczas nazewnictwa kontenera:
- Nazwy kontenerów mogą mieć długość od 3 do 63 znaków.
- Nazwy kontenerów muszą zaczynać się literą lub cyfrą i mogą zawierać tylko małe litery, cyfry i znak kreski (-).
- Kolejne znaki kreski nie są dozwolone w nazwach kontenerów.
Identyfikator URI zasobu kontenera jest sformatowany w następujący sposób:
https://my-account-name.blob.core.windows.net/my-container-name
Tworzenie kontenera
Aby utworzyć kontener, wywołaj jedną z następujących metod z BlobServiceClient klasy :
Kontener można również utworzyć przy użyciu jednej z następujących metod z BlobContainerClient klasy :
Te metody zgłaszają wyjątek, jeśli kontener o tej samej nazwie już istnieje.
Kontenery są tworzone bezpośrednio pod kontem magazynowym. Nie można zagnieżdżać jednego kontenera pod drugim.
W poniższym przykładzie użyto BlobServiceClient obiektu do asynchronicznego utworzenia kontenera:
//-------------------------------------------------
// 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;
}
Tworzenie kontenera głównego
Kontener nadrzędny służy jako domyślny kontener dla konta magazynowania. Każde konto magazynu może mieć jeden kontener główny, który musi mieć nazwę $root. Kontener główny musi zostać jawnie utworzony lub usunięty.
Można odwoływać się do obiektu blob przechowywanego w kontenerze głównym bez uwzględniania nazwy głównego kontenera. Kontener główny umożliwia odwołanie się do bloba na najwyższym poziomie hierarchii konta przechowywania. Można na przykład odwołać się do obiektu blob, który znajduje się w kontenerze głównym w następujący sposób:
https://myaccount.blob.core.windows.net/default.html
Poniższy przykład tworzy kontener główny synchronicznie:
//-------------------------------------------------
// 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);
}
}
Zasoby
Aby dowiedzieć się więcej na temat tworzenia 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 tworzenia kontenera używają następującej operacji interfejsu API REST:
- Tworzenie kontenera (interfejs API REST)
Zasoby biblioteki klienta
Powiązana zawartość
- Ten artykuł jest częścią przewodnika dla deweloperów usługi Blob Storage dla platformy .NET. Aby dowiedzieć się więcej, zobacz pełną listę artykułów z przewodnika dla deweloperów w temacie Tworzenie aplikacji platformy .NET.