gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste fabric-, Power BI- en SQL-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Blobs in Azure Storage worden georganiseerd in containers. Voordat u een blob kunt uploaden, moet u eerst een container maken. In dit artikel wordt beschreven hoe u containers maakt met de Azure Storage-clientbibliotheek voor .NET.
Als u geen bestaand project hebt, ziet u in deze sectie hoe u een project instelt voor gebruik met de Azure Blob Storage-clientbibliotheek voor .NET. De stappen omvatten pakketinstallatie, het toevoegen van using
instructies en het maken van een geautoriseerd clientobject. Zie Aan de slag met Azure Blob Storage en .NET voor meer informatie.
Installeer vanuit uw projectmap pakketten voor de Azure Blob Storage- en Azure Identity-clientbibliotheken met behulp van de dotnet add package
opdracht. Het Azure.Identity-pakket is nodig voor verbindingen zonder wachtwoord met Azure-services.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Voeg deze using
instructies toe aan het begin van het codebestand:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Voor sommige codevoorbeelden in dit artikel zijn mogelijk aanvullende using
instructies vereist.
Als u een app wilt verbinden met Blob Storage, maakt u een exemplaar van BlobServiceClient. In het volgende voorbeeld ziet u hoe u een clientobject maakt met behulp van DefaultAzureCredential
autorisatie:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
U kunt een serviceclient registreren voor afhankelijkheidsinjectie in een .NET-app.
U kunt ook clientobjecten maken voor specifieke containers of blobs. Zie Clientobjecten maken en beheren die interactie hebben met gegevensbronnen voor meer informatie over het maken en beheren van clientobjecten.
Het autorisatiemechanisme moet over de benodigde machtigingen beschikken om een container te maken. Voor autorisatie met Microsoft Entra ID (aanbevolen) hebt u ingebouwde Azure RBAC-rol Opslagblobgegevensbijdrager of hoger nodig. Zie de autorisatierichtlijnen voor Create Container (REST API) voor meer informatie.
Een containernaam moet een geldige DNS-naam zijn, omdat deze deel uitmaakt van de unieke URI die wordt gebruikt om de container of de bijbehorende blobs te adresseren. Volg deze regels bij het benoemen van een container:
De URI voor een containerresource is als volgt ingedeeld:
https://my-account-name.blob.core.windows.net/my-container-name
Als u een container wilt maken, roept u een van de volgende methoden van de BlobServiceClient
klasse aan:
U kunt ook een container maken met behulp van een van de volgende methoden uit de BlobContainerClient
klasse:
Met deze methoden wordt een uitzondering gegenereerd als er al een container met dezelfde naam bestaat.
Containers worden direct onder het opslagaccount gemaakt. Het is niet mogelijk om één container onder een andere container te nesten.
In het volgende voorbeeld wordt een BlobServiceClient
object gebruikt om asynchroon een container te maken:
//-------------------------------------------------
// 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;
}
Een hoofdcontainer fungeert als een standaardcontainer voor uw opslagaccount. Elk opslagaccount kan één hoofdcontainer hebben, die de naam $root moet hebben. De hoofdcontainer moet expliciet worden gemaakt of verwijderd.
U kunt verwijzen naar een blob die is opgeslagen in de hoofdcontainer zonder de naam van de hoofdcontainer op te slaan. Met de hoofdcontainer kunt u verwijzen naar een blob op het hoogste niveau van de opslagaccounthiërarchie. U kunt bijvoorbeeld verwijzen naar een blob die zich op de volgende manier in de hoofdcontainer bevindt:
https://myaccount.blob.core.windows.net/default.html
In het volgende voorbeeld wordt de hoofdcontainer synchroon gemaakt:
//-------------------------------------------------
// 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);
}
}
Zie de volgende resources voor meer informatie over het maken van een container met behulp van de Azure Blob Storage-clientbibliotheek voor .NET.
De Azure SDK voor .NET bevat bibliotheken die zijn gebaseerd op de Azure REST API, zodat u kunt communiceren met REST API-bewerkingen via bekende .NET-paradigma's. De clientbibliotheekmethoden voor het maken van een container gebruiken de volgende REST API-bewerking:
gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste fabric-, Power BI- en SQL-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertTraining
Module
Werken met Azure Blob Storage - Training
Meer informatie over het gebruik van de Azure Blob Storage-clientbibliotheek voor het maken en bijwerken van Blob Storage-resources.
Certificering
Bouw end-to-end-oplossingen in Microsoft Azure om Azure Functions te maken, web-apps te implementeren en te beheren, oplossingen te ontwikkelen die gebruikmaken van Azure Storage en meer.
Documentatie
Quickstart: Azure Blob Storage-bibliotheek - .NET
In deze quickstart leert u hoe u de Azure Blob Storage-clientbibliotheek voor .NET gebruikt om een container en een blob te maken in Blob(object)-opslag. Hierna leert u hoe u de blob naar uw lokale computer downloadt en hoe u alle blobs in een container kunt weergeven.
Een blob uploaden met .NET - Azure Storage
Meer informatie over het uploaden van een blob naar uw Azure Storage-account met behulp van de .NET-clientbibliotheek.
Een blob downloaden met .NET - Azure Storage
Meer informatie over het downloaden van een blob in Azure Storage met behulp van de .NET-clientbibliotheek.