Dela via


Kom igång med Azure Blob Storage och .NET

Den här artikeln visar hur du ansluter till Azure Blob Storage med hjälp av Azure Blob Storage-klientbiblioteket för .NET. När koden är ansluten kan den fungera på containrar, blobar och funktioner i Blob Storage-tjänsten.

API-referensBibliotekets källkodspaket | (NuGet)- | exempel | Ge feedback |

Förutsättningar

Konfigurera projektet

Det här avsnittet beskriver hur du förbereder ett projekt för att arbeta med Azure Blob Storage-klientbiblioteket för .NET.

Från projektkatalogen installerar du paket för Azure Blob Storage- och Azure Identity-klientbiblioteken med hjälp av dotnet add package kommandot . Azure.Identity-paketet behövs för lösenordslösa anslutningar till Azure-tjänster.

dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity

Lägg till dessa using direktiv överst i kodfilen:

using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;

Information om Blob-klientbiblioteket:

  • Azure.Storage.Blobs: Innehåller de primära klasser (klientobjekt) som du kan använda för att arbeta med tjänsten, containrar och blobar.

  • Azure.Storage.Blobs.Specialized: Innehåller klasser som du kan använda för att utföra åtgärder som är specifika för en blobtyp, till exempel blockblobar.

  • Azure.Storage.Blobs.Models: Alla andra verktygsklasser, strukturer och uppräkningstyper.

Auktorisera åtkomst och ansluta till Blob Storage

Om du vill ansluta en app till Blob Storage skapar du en instans av klassen BlobServiceClient . Det här objektet är startpunkten för att interagera med dataresurser på lagringskontonivå. Du kan använda den för att arbeta med lagringskontot och dess containrar. Du kan också använda tjänstklienten för att skapa containerklienter eller blobklienter, beroende på vilken resurs du behöver arbeta med.

Mer information om hur du skapar och hanterar klientobjekt finns i Skapa och hantera klientobjekt som interagerar med dataresurser.

Du kan auktorisera ett BlobServiceClient objekt med hjälp av en Microsoft Entra-auktoriseringstoken, en kontoåtkomstnyckel eller en signatur för delad åtkomst (SAS). För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden mot blobdata. Mer information finns i Auktorisera åtkomst till blobar med hjälp av Microsoft Entra-ID.

Om du vill auktorisera med Microsoft Entra-ID måste du använda ett säkerhetsobjekt. Vilken typ av säkerhetsobjekt du behöver beror på var appen körs. Använd den här tabellen som en guide.

Var appen körs Säkerhetsobjekt Vägledning
Lokal dator (utveckla och testa) Tjänstens huvudnamn Information om hur du registrerar appen, konfigurerar en Microsoft Entra-grupp, tilldelar roller och konfigurerar miljövariabler finns i Auktorisera åtkomst med utvecklartjänstens huvudnamn
Lokal dator (utveckla och testa) Användaridentitet Information om hur du konfigurerar en Microsoft Entra-grupp, tilldelar roller och loggar in på Azure finns i Auktorisera åtkomst med autentiseringsuppgifter för utvecklare
Värdhanterad i Azure Hanterad identitet Information om hur du aktiverar hanterad identitet och tilldelar roller finns i Auktorisera åtkomst från Azure-värdbaserade appar med hjälp av en hanterad identitet
Värdhanterad utanför Azure (till exempel lokala appar) Tjänstens huvudnamn Information om hur du registrerar appen, tilldelar roller och konfigurerar miljövariabler finns i Auktorisera åtkomst från lokala appar med hjälp av ett huvudnamn för programtjänsten

Auktorisera åtkomst med defaultAzureCredential

Ett enkelt och säkert sätt att auktorisera åtkomst och ansluta till Blob Storage är att hämta en OAuth-token genom att skapa en DefaultAzureCredential-instans . Du kan sedan använda autentiseringsuppgifterna för att skapa ett BlobServiceClient-objekt .

I följande exempel skapas ett BlobServiceClient objekt som har auktoriserats med hjälp av DefaultAzureCredential:

public BlobServiceClient GetBlobServiceClient(string accountName)
{
    BlobServiceClient client = new(
        new Uri($"https://{accountName}.blob.core.windows.net"),
        new DefaultAzureCredential());

    return client;
}

Om du vet exakt vilken typ av autentiseringsuppgifter du ska använda för att autentisera användare kan du hämta en OAuth-token med hjälp av andra klasser i Azure Identity-klientbiblioteket för .NET. Dessa klasser härleds från klassen TokenCredential .

Mer information om var och en av dessa auktoriseringsmekanismer finns i Auktorisera åtkomst till data i Azure Storage.

Skapa appen

När du skapar appar för att arbeta med dataresurser i Azure Blob Storage interagerar koden främst med tre resurstyper: lagringskonton, containrar och blobar. Mer information om dessa resurstyper, hur de relaterar till varandra och hur appar interagerar med resurser finns i Förstå hur appar interagerar med Blob Storage-dataresurser.

Följande guider visar hur du kommer åt data och utför specifika åtgärder med hjälp av Azure Storage-klientbiblioteket för .NET:

Guide beskrivning
Lägga till data i blobar Lär dig hur du skapar en tilläggsblob och sedan lägger till data i den bloben.
Konfigurera en återförsöksprincip Implementera återförsöksprinciper för klientåtgärder.
Kopiera blobar Kopiera en blob från en plats till en annan.
Skapa en container Skapa containrar.
Skapa en SAS för användardelegering Skapa en SAS för användardelegering för en container eller blob.
Skapa och hantera bloblån Upprätta och hantera ett lås på en blob.
Skapa och hantera containerlån Upprätta och hantera ett lås på en container.
Ta bort och återställa blobar Ta bort blobar och återställ borttagna blobar om mjuk borttagning är aktiverat.
Ta bort och återställa containrar Ta bort containrar och återställ borttagna containrar om mjuk borttagning är aktiverat.
Ladda ned blobar Ladda ned blobar med hjälp av strängar, strömmar och filsökvägar.
Hitta blobar med taggar Ange och hämta taggar och använd taggar för att hitta blobar.
Lista blobar Lista blobar på olika sätt.
Lista containrar Visa en lista över containrar i ett konto och de olika alternativ som är tillgängliga för att anpassa en lista.
Hantera egenskaper och metadata Hämta och ange egenskaper och metadata för blobar.
Hantera egenskaper och metadata Hämta och ange egenskaper och metadata för containrar.
Prestandajustering för dataöverföringar Optimera prestanda för dataöverföringsåtgärder.
Ange eller ändra åtkomstnivån för en blob Ange eller ändra åtkomstnivån för en blockblob.
Ladda upp blobar Lär dig hur du laddar upp blobar med hjälp av strängar, strömmar, filsökvägar och andra metoder.