Dela via


Förstå hur appar interagerar med Blob Storage-dataresurser

När du bygger applikationer för att arbeta med dataresurser i Azure Blob-lagring interagerar din kod främst med tre typer av resurser: lagringskonton, containrar och blobar. Den här artikeln förklarar dessa typer av resurser och visar hur de relaterar till varandra. Den visar också hur applikationskoden använder klientbiblioteken för Azure Blob Storage för att interagera med dessa olika resurser.

Blob Storage-resurstyper

The Azure Blob Storage client libraries allow you to interact with three types of resources in the storage service:

Följande diagram visar relationen mellan dessa resurser:

Diagram som visar relationen mellan ett lagringskonto, behållare och blobbar

Lagringskonton

Ett lagringskonto tillhandahåller ett unikt namnområde i Azure för dina data. Varje objekt som du lagrar i Azure Storage har en adress som innehåller ditt unika kontonamn. Kombineringen av kontonamnet och Blob Storage-endpunkten utgör basadressen för objekten i ditt lagringskonto.

Till exempel, om ditt lagringskonto heter sampleaccount, är standard slutpunkten för Blob Storage:

https://sampleaccount.blob.core.windows.net

För att lära dig mer om typer av lagringskonton, se Översikt över Azure-lagringskonton.

Behållare

En container organiserar en uppsättning blobar, ungefär som en katalog i ett filsystem. Ett lagringskonto kan innehålla ett obegränsat antal containrar och en container kan lagra ett obegränsat antal blobar.

URI:n för en container liknar:

https://sampleaccount.blob.core.windows.net/sample-container

För mer information om hur man namnger behållare, se Namnge och Referera till Behållare, Blobbar och Metadata.

Blobs

Azure Storage har stöd för tre typer av blobar:

  • Blockblobar lagrar text och binära data. Blockblobar består av datablock som kan hanteras individuellt. Blockblobar kan lagra upp till cirka 190,7 TiB.
  • Tilläggsblobar består av block på samma sätt som blockblobar, men är optimerade för tilläggsåtgärder. Tilläggsblobar är idealiska för scenarier som loggning av data från virtuella datorer.
  • Page blobs lagrar filer med slumpmässig åtkomst upp till 8 TiB i storlek. För mer information om sidblobbar, se Overview of Azure page blobs

Mer information om de olika typerna av blobar finns i Understanding Block Blobs, Append Blobs, and Page Blobs.

URI:n för en blob liknar:

https://sampleaccount.blob.core.windows.net/sample-container/sample-blob

För mer information om namngivning av blobbar, se Namngivning och Referenshantering av Containers, Blobbar och Metadata.

Arbeta med dataresurser med Azure SDK

Azures SDK:er innehåller bibliotek som bygger ovanpå Azure REST API, vilket gör att du kan interagera med REST API-operationer genom välkända programmeringsspråksparadigm. SDK:erna är utformade för att förenkla interaktioner mellan ditt program och Azure-resurser.

I sällsynta fall kan applikationer som har uppgraderat till den senaste beta- eller allmänt tillgängliga versionen av SDK få ett InvalidHeaderValue felmeddelande. Detta problem kan uppstå när du använder någon av lagringsbiblioteken. Felmeddelandet ser ut som följande exempel:

HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
 
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z
</Message>
<HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue>
</Error>

Om du har uppgraderat till den senaste beta- eller allmänt tillgängliga versionen av SDK och upplever det här felet, rekommenderas det att du nedgraderar till den tidigare allmänt tillgängliga versionen av SDK för att se om problemet löser sig.

Du kan visa SDK-specifik information på följande platser:

Om problemet kvarstår, eller om rekommendationen inte är genomförbar, öppna ett supportärende för att undersöka ytterligare alternativ.

I Azure Blob Storage-klientbiblioteken representeras varje resurstyp av en eller flera associerade klasser. These classes provide operations to work with an Azure Storage resource.

Följande tabell listar de grundläggande klasserna, tillsammans med en kort beskrivning.

Klass Beskrivning
BlobServiceClient Representerar lagringskontot och tillhandahåller funktioner för att hämta och konfigurera kontoinställningar, samt för att arbeta med blob-behållare i lagringskontot.
BlobContainerClient Represents a specific blob container, and provides operations to work with the container and the blobs within.
BlobClient Representerar en specifik blob och tillhandahåller generella operationer för att arbeta med blobben, inklusive funktioner för att ladda upp, ladda ner, radera och skapa ögonblicksbilder.
AppendBlobClient Representerar en påfogningsblob och erbjuder operationer specifika för påfogningsblobbar, såsom att lägga till loggdata.
BlockBlobClient Representerar en blockblob och tillhandahåller specifika operationer för blockblobbar, såsom att förbereda och sedan lägga data i block.

Följande paket innehåller klasserna som används för att arbeta med Blob Storage-datainstallningar.

  • 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.

Nästa steg

Att arbeta med Azure-resurser med hjälp av SDK:n börjar med att skapa en klientinstans. För att lära dig mer om skapande och hantering av klientobjekt, se Skapa och hantera klientobjekt som interagerar med dataresurser.