Förstå blockblobar, tilläggsblobbar och sidblobar

Lagringstjänsten erbjuder tre typer av blobar, blockblobar, tilläggsblobar och sidblobar. Du anger blobtypen när du skapar bloben. När bloben har skapats går det inte att ändra dess typ och den kan bara uppdateras med hjälp av åtgärder som är lämpliga för den blobtypen, t.ex. att skriva ett block eller en lista med block till en blockblob, lägga till block i en tilläggsblob och skriva sidor till en sidblob.

Alla blobar återspeglar intöpna ändringar omedelbart. Varje version av bloben har en unik tagg, som kallas en ETag, som du kan använda med åtkomstvillkor för att säkerställa att du bara ändrar en specifik instans av bloben.

Alla blobar kan hyras för exklusiv skrivåtkomst. När en blob lånas kan bara anrop som innehåller det aktuella låne-ID:t ändra bloben eller (för blockblobar) dess block.

Alla blobar kan dupliceras i en ögonblicksbild. Information om ögonblicksbilder finns i Skapa en ögonblicksbild av en blob.

Anteckning

Blobar i Azure Storage-emulatorn är begränsade till en maximal storlek på 2 GiB.

Om blockblobar

Blockblobar är optimerade för effektiv överföring av stora mängder data. Blockblobar består av block som identifieras av ett block-ID. En blockblob kan innehålla upp till 50 000 block. Varje block i en blockblob kan ha olika storlek, upp till den maximala storlek som tillåts för den tjänstversion som används. Om du vill skapa eller ändra en blockblob skriver du en uppsättning block via put block-åtgärden och genomför sedan blocken till en blob med åtgärden Placera blockeringslista.

Blobar som är mindre än en viss storlek (bestäms av tjänstversion) kan laddas upp i sin helhet med en enda skrivåtgärd via Put Blob.

I följande tabell beskrivs de maximala block- och blobstorlekar som tillåts av tjänstversionen.

Tjänstversion Maximal blockstorlek (via Put Block) Maximal blobstorlek (via Placera blockeringslista) Maximal blobstorlek via en enda skrivåtgärd (via Put Blob)
Version 2019-12-12 och senare 4 000 MiB Cirka 190,7 TiB (4 000 MiB X 50 000 block) 5 000 MiB (förhandsversion)
Version 2016-05-31 till och med version 2019-07-07 100 MiB Cirka 4,75 TiB (100 MiB X 50 000 block) 256 MiB
Versioner före 2016-05-31 4 MiB Cirka 195 GiB (4 MiB X 50 000 block) 64 MiB

Storage-klienter har som standard en maximal enskild blobuppladdning på 128 MiB som kan användas i Azure Storage-klientbiblioteket för .NET version 11 med egenskapen SingleBlobUploadThresholdInBytes för objektet BlobRequestOptions. När en blockbloböverföring är större än värdet i den här egenskapen delar lagringsklienterna upp filen i block. Du kan ange antalet trådar som används för att ladda upp blocken parallellt per begäran med egenskapen ParallelOperationThreadCount för objektet BlobRequestOptions.

När du laddar upp ett block till en blob i ditt lagringskonto associeras det med den angivna blockbloben, men den blir inte en del av bloben förrän du har angett en lista över block som innehåller det nya blockets ID. Nya block förblir i ett ogenomsagt tillstånd tills de har utförts eller tagits bort specifikt. Det kan finnas högst 100 000 ogenomlästa block. När du skriver ett block uppdateras inte tiden för senaste ändring av en befintlig blob.

Blockblobar innehåller funktioner som hjälper dig att hantera stora filer över nätverk. Med en blockblob kan du ladda upp flera block parallellt för att minska uppladdningstiden. Varje block kan innehålla en MD5-hash för att verifiera överföringen, så att du kan spåra uppladdningsförloppet och skicka om block efter behov. Du kan ladda upp block i valfri ordning och fastställa deras ordning i det sista åtagandesteget för blocklistan. Du kan också ladda upp ett nytt block för att ersätta ett befintligt ogenomsagt block med samma block-ID. Du har en vecka på dig att genomföra block till en blob innan de tas bort. Alla ogenomlästa block tas också bort när en åtgärd för blocklisteåtagande utförs men inte inkluderar dem.

Du kan ändra en befintlig blockblob genom att infoga, ersätta eller ta bort befintliga block. När du har överfört blocket eller blocken som har ändrats kan du genomföra en ny version av bloben genom att genomföra de nya blocken med de befintliga block som du vill fortsätta att använda en enda genomförandeåtgärd. Om du vill infoga samma byteintervall på två olika platser för den indelade bloben kan du genomföra samma block på två platser inom samma genomförandeåtgärd. Om ett block inte hittas för en genomförandeåtgärd misslyckas hela åtagandeåtgärden med ett fel och bloben ändras inte. Blockåtagandet skriver över blobens befintliga egenskaper och metadata och tar bort alla ogenomfördelade block.

Block-ID:er är strängar med samma längd inom en blob. Blockera klientkod använder vanligtvis base-64-kodning för att normalisera strängar till lika långa. När du använder base-64-kodning måste den förkodade strängen vara 64 byte eller mindre. Block-ID-värden kan dupliceras i olika blobar.

Om du skriver ett block för en blob som inte finns skapas en ny blockblob med längden noll byte. Den här bloben visas i bloblistor som innehåller ej inskickade blobar. Om du inte genomför några block till den här bloben kommer de ogenomsagda blocken att tas bort en vecka efter den senaste lyckade blockuppladdningen. Alla ogenomsagda block tas också bort när en ny blob med samma namn skapas med ett enda steg (i stället för tvåstegsprocessen upload-then-commit).

Om sidblobar

Sidblobar är en samling sidor på 512 byte som är optimerade för slumpmässiga läs- och skrivåtgärder. Om du vill skapa en sidblob initierar du sidbloben och anger den maximala storleken som sidbloben kommer att växa. Om du vill lägga till eller uppdatera innehållet i en sidblob skriver du en eller flera sidor genom att ange en förskjutning och ett intervall som båda justeras till sidgränserna på 512 byte. En skrivning till en sidblob kan skriva över bara en sida, vissa sidor eller upp till 4 MiB av sidbloben. Skrivningar till sidblobar sker på plats och de sker omedelbart till bloben. Den maximala storleken för en sidblob är 8 TiB.

Virtuella Azure-datordiskar backas upp av sidblobar. Azure erbjuder två typer av beständig disklagring: premium och standard. Premium lagring för sidblobar är utformat för arbetsbelastningar på virtuella Azure-datorer som kräver konsekvent hög prestanda och låg latens. Detaljerad information finns i avsnittet Premium SSD (Solid-State Drives) i artikeln Välj en disktyp för virtuella IaaS-datorer. Information om skalbarhetsmålen för Premium Storage för sidblobar finns i Azure Storage skalbarhets- och prestandamål.

Om tilläggsblobar

En tilläggsblob består av block och är optimerad för tilläggsåtgärder. När du ändrar en tilläggsblob läggs block endast till i slutet av bloben via åtgärden Lägg till block. Uppdatering eller borttagning av befintliga block stöds inte. Till skillnad från en blockblob gör en tilläggsblobb inte dess block-ID:er exponerade.

Varje block i en tilläggsblobb kan ha olika storlek, upp till högst 4 MiB, och en tilläggsblob kan innehålla upp till 50 000 block. Den maximala storleken för en tilläggsblobb är därför något större än 195 GiB (4 MiB X 50 000 block).

Se även