Förstå hur blobögonblicksbilder ackumuleras avgifter

Att skapa en ögonblicksbild, som är en skrivskyddad kopia av en blob, kan resultera i ytterligare datalagringsavgifter för ditt konto. När du utformar ditt program är det viktigt att vara medveten om hur dessa avgifter kan tillkomma så att du kan minimera onödiga kostnader.

Viktiga faktureringsöverväganden

Följande lista innehåller viktiga punkter att tänka på när du skapar en ögonblicksbild.

  • Avgifter tillkommer för unika block eller sidor, oavsett om de finns i bloben eller i ögonblicksbilden. Ditt konto debiteras inte ytterligare avgifter för ögonblicksbilder som är associerade med en blob förrän du uppdaterar den blob som de baseras på. När du har uppdaterat basbloben avviker den från dess ögonblicksbilder och du debiteras för de unika blocken eller sidorna i varje blob eller ögonblicksbild.

  • När du ersätter ett block i en blockblob debiteras det blocket som ett unikt block. Detta gäller även om blocket har samma block-ID och samma data som de har i ögonblicksbilden. När blocket har checkats in igen avviker det från dess motsvarighet i alla ögonblicksbilder och du debiteras för dess data. Detsamma gäller för en sida i en sidblob som uppdateras med identiska data.

  • Om du ersätter en blockblob genom att anropa metoden UploadFile, UploadText, UploadStream eller UploadByteArray ersätts alla block i bloben. Om du har en ögonblicksbild som är associerad med blobben kommer alla block i basbloben och ögonblicksbilden nu att skilja sig åt och du debiteras för alla block i båda blobarna. Detta gäller även om data i basbloben och ögonblicksbilden förblir identiska.

  • Azure Blob-tjänsten har inte något sätt att avgöra om två block innehåller identiska data. Varje block som laddas upp och checkas in behandlas som unikt, även om det har samma data och samma block-ID. Eftersom avgifter ackumuleras för unika block är det viktigt att tänka på att uppdatering av en blob som har en ögonblicksbild resulterar i ytterligare unika block och ytterligare avgifter.

Viktigt

Bästa praxis kräver att du hanterar ögonblicksbilder noggrant för att undvika extra avgifter. Vi rekommenderar att du hanterar ögonblicksbilder på följande sätt:

  • Ta bort och återskapa ögonblicksbilder som är associerade med en blob när du uppdaterar bloben, även om du uppdaterar med identiska data, såvida inte programdesignen kräver att du underhåller ögonblicksbilder. Genom att ta bort och återskapa blobens ögonblicksbilder kan du se till att blobben och ögonblicksbilderna inte skiljer sig åt.
  • Om du underhåller ögonblicksbilder för en blob bör du undvika att anropa UploadFile, UploadText, UploadStream eller UploadByteArray för att uppdatera bloben, eftersom dessa metoder ersätter alla block i bloben. Uppdatera i stället det minsta möjliga antalet block med hjälp av metoderna PutBlock och PutBlockList .

Faktureringsscenarier för ögonblicksbilder

Följande scenarier visar hur avgifter ackumuleras för en blockblob och dess ögonblicksbilder. I scenario 1 har basbloben inte uppdaterats sedan ögonblicksbilden togs, så avgifter debiteras endast för unika block 1, 2 och 3:

Diagram som visar hur block debiteras i scenario 1

Scenario 1: Endast block 1, 2 och 3 påförs avgifter.

I scenario 2 har basbloben uppdaterats, men ögonblicksbilden har inte gjort det. Block 3 uppdaterades och även om det innehåller samma data och samma ID är det inte samma som block 3 i ögonblicksbilden. Därför debiteras kontot för fyra block:

Diagram som visar hur block debiteras i scenario 2

Scenario 2: Block 1, 2 och 3 i basbloben ackumulerar avgifter, tillsammans med block 3 i ögonblicksbilden.

I scenario 3 har basbloben uppdaterats, men ögonblicksbilden har inte gjort det. Block 3 ersattes med block 4 i basbloben, men ögonblicksbilden återspeglar fortfarande block 3. Därför debiteras kontot för fyra block:

Diagram som visar hur block debiteras i scenario 3

Scenario 3: Block 1, 2, 3 och 4 ackumulerar avgifter.

I scenario 4 har basbloben uppdaterats helt och innehåller inget av dess ursprungliga block. Därför debiteras kontot för alla åtta unika block. Det här scenariot kan inträffa om du använder en uppdateringsmetod som UploadFile, UploadText, UploadFromStream eller UploadByteArray, eftersom dessa metoder ersätter allt innehåll i en blob.

Diagram som visar hur block debiteras i scenario 4

Scenario 4: Block 1, 2, 3, 4, 5, 6, 7 och 8 ackumuleras.

Se även

Så här använder du Blob Storage-tjänsten
Så här använder du kölagringstjänsten
Skapa en ögonblicksbild av en blob