Förstå blockblobar, tilläggsblobar 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, d.v.s. skriva ett block eller en lista över block till en blockblob, lägga till block i en tilläggsblob och skriva sidor till en sidblob.
Alla blobar återspeglar de incheckade ändringarna omedelbart. Varje version av bloben har en unik tagg, kallad 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 hyrs kan endast anrop som innehåller det aktuella låne-ID:t ändra blobben 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 att ladda upp stora mängder data effektivt. Blockblobar består av block som var och en 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 checkar sedan blocken till en blob med åtgärden Placera blocklista .
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 blocklista) | Maximal blobstorlek via en skrivåtgärd (via Put Blob) |
---|---|---|---|
Version 2019-12-12 och senare | 4000 MiB | Cirka 190,7 TiB (4 000 MiB X 50 000 block) | 5000 MiB |
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 |
Lagringsklienter har som standard en maximal uppladdning på 128 MiB, som kan anges i Azure Storage-klientbiblioteket för .NET version 11 med egenskapen SingleBlobUploadThresholdInBytes för BlobRequestOptions-objektet . När en blockblobuppladdning är större än värdet i den här egenskapen delar lagringsklienter 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 BlobRequestOptions-objektet .
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 checkar in en lista över block som innehåller det nya blockets ID. Nya block förblir i ett icke-bekräftat tillstånd tills de har checkats in eller ignorerats specifikt. Det kan finnas högst 100 000 ogenomförda block. När du skriver ett block uppdateras inte den senast ändrade tiden för 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 block igen efter behov. Du kan ladda upp block i valfri ordning och fastställa deras sekvens i det sista steget för åtagande för blocklistan. Du kan också ladda upp ett nytt block för att ersätta ett befintligt obekräftat block med samma block-ID. Du har en vecka på dig att checka in block till en blob innan de tas bort. Alla obekräftade block ignoreras också när en åtgärd för åtagande för blocklista inträffar men inte inkluderar dem.
Du kan ändra en befintlig blockblob genom att infoga, ersätta eller ta bort befintliga block. När du har laddat upp blocket eller blocken som har ändrats kan du checka in en ny version av blobben genom att checka in de nya blocken med de befintliga block som du vill fortsätta att använda en enda incheckningsåtgärd. Om du vill infoga samma byteintervall på två olika platser för den checkade bloben kan du checka in samma block på två platser inom samma incheckningsåtgärd. Om något block inte hittas för alla incheckningsåtgärder misslyckas hela åtagandeåtgärden med ett fel och bloben ändras inte. Alla blockåtaganden skriver över blobens befintliga egenskaper och metadata och tar bort alla oöverkomliga block.
Block-ID:t är strängar med samma längd i en blob. Blockera klientkod använder vanligtvis base-64-kodning för att normalisera strängar i lika långa längder. 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 en längd på noll byte. Den här bloben visas i bloblistor som innehåller ogenomförda blobar. Om du inte checkar in något block till den här bloben ignoreras blocken och dess ogenomförda block en vecka efter den senaste lyckade blockuppladdningen. Alla obekräftade block ignoreras också när en ny blob med samma namn skapas med ett enda steg (i stället för processen för att ladda upp och sedan checka in två steg).
Om sidblobar
Sidblobar är en samling sidor med 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 ska växa. Om du vill lägga till eller uppdatera innehållet i en sidblob skriver du en sida eller sidor genom att ange en förskjutning och ett intervall som båda justeras till sidgränser på 512 byte. En skrivning till en sidblob kan bara skriva över en sida, vissa sidor eller upp till 4 MiB för sidbloben. Skrivningar till sidblobar sker på plats och checkas omedelbart in på 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 Storage för sidblobar är utformat för arbetsbelastningar för virtuella Azure-datorer som kräver konsekventa höga prestanda och låg svarstid. Detaljerad information finns i avsnittet Premium SSD (Solid State Drives) i artikeln Select a disk type for IaaS VMs (Välj en disktyp för virtuella IaaS-datorer). Information om skalbarhetsmål för premiumlagring för sidblobar finns i Skalbarhets- och prestandamål för Azure Storage.
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 till i slutet av blobben endast via åtgärden Lägg till block . Uppdatering eller borttagning av befintliga block stöds inte. Till skillnad från en blockblob exponerar inte en tilläggsblob sina block-ID:t.
Varje block i en tilläggsblob kan ha en annan storlek, upp till högst 4 MiB, och en tilläggsblob kan innehålla upp till 50 000 block. Den maximala storleken på en tilläggsblob är därför något mer än 195 GiB (4 MiB X 50 000 block).