Blob-momentopnamen
Een momentopname is een alleen-lezen versie van een blob die op een bepaald moment wordt gemaakt.
Notitie
Blobversies bieden een uitstekende manier om eerdere versies van een blob te onderhouden. Zie Blobversies voor meer informatie.
Over blob-momentopnamen
Belangrijk
Momentopnamen in accounts waarop de functie hiërarchische naamruimte is ingeschakeld, zijn momenteel beschikbaar als preview-versie. Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.
Zie dit formulier om u in te schrijven voor de preview.
Een momentopname van een blob is identiek aan de basis-blob, behalve dat aan de blob-URI een datum/tijd-waarde is toegevoegd aan de blob-URI om het tijdstip aan te geven waarop de momentopname is gemaakt. Als een pagina-blob-URI bijvoorbeeld is, is http://storagesample.core.blob.windows.net/mydrives/myvhd de momentopname-URI vergelijkbaar met http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z .
Notitie
Alle momentopnamen delen de URI van de basis-blob. Het enige verschil tussen de basis-blob en de momentopname is de toegevoegde datum/tijd-waarde.
Een blob kan een groot aantal momentopnamen hebben. Momentopnamen blijven bestaan totdat ze expliciet worden verwijderd, onafhankelijk of als onderdeel van een Delete Blob-bewerking voor de basis-blob. U kunt de momentopnamen opsnoemen die zijn gekoppeld aan de basis-blob om uw huidige momentopnamen bij te houden.
Wanneer u een momentopname van een blob maakt, worden de systeemeigenschappen van de blob met dezelfde waarden naar de momentopname gekopieerd. De metagegevens van de basisblob worden ook gekopieerd naar de momentopname, tenzij u afzonderlijke metagegevens voor de momentopname opgeeft wanneer u deze maakt. Nadat u een momentopname hebt gemaakt, kunt u deze lezen, kopiëren of verwijderen, maar u kunt deze niet wijzigen.
Leases die zijn gekoppeld aan de basis-blob hebben geen invloed op de momentopname. U kunt geen lease verkrijgen voor een momentopname.
Een VHD-bestand wordt gebruikt voor het opslaan van de huidige informatie en status voor een VM-schijf. U kunt een schijf loskoppelen van de VM of de VM afsluiten en vervolgens een momentopname van het VHD-bestand maken. U kunt dat momentopnamebestand later gebruiken om het VHD-bestand op dat moment op te halen en de VM opnieuw te maken.
Inzicht in de kosten voor momentopnamen
Belangrijke factureringsoverwegingen
De volgende lijst bevat belangrijke punten die u moet overwegen bij het maken van een momentopname.
- Voor uw opslagaccount worden kosten in rekening gebracht voor unieke blokken of pagina's, ongeacht of deze zich in de blob of in de momentopname voordoen. Voor uw account worden geen extra kosten in rekening gebracht voor momentopnamen die zijn gekoppeld aan een blob totdat u de blob waarop ze zijn gebaseerd, bij werkt. Nadat u de basis-blob hebt bijgewerkt, wijkt deze af van de momentopnamen. Als dit gebeurt, worden de unieke blokken of pagina's in elke blob of momentopname in rekening gebracht.
- Wanneer u een blok in een blok-blob vervangt, wordt dat blok vervolgens in rekening gebracht als een uniek blok. Dit geldt zelfs als het blok dezelfde blok-id en dezelfde gegevens heeft als in de momentopname. Nadat het blok opnieuw is vastgelegd, wijkt het af van zijn tegenhanger in een momentopname en worden er kosten in rekening gebracht voor de gegevens. Hetzelfde geldt voor een pagina in een pagina-blob die is bijgewerkt met identieke gegevens.
- Als u een blok-blob bijwerkt door een methode aan te roepen waarmee de volledige inhoud van de blob wordt overschreven, worden alle blokken in de blob vervangen. Als er een momentopname is gekoppeld aan die blob, verschillen alle blokken in de basis-blob en momentopname nu en worden alle blokken in beide blobs in rekening gebracht. Dit geldt ook als de gegevens in de basis-blob en de momentopname identiek blijven.
- De Azure Blob service geen manier om te bepalen of twee blokken identieke gegevens bevatten. Elk blok dat wordt geüpload en vastgelegd, wordt beschouwd als uniek, zelfs als het dezelfde gegevens en dezelfde blok-id heeft. Omdat er kosten in rekening worden gebracht voor unieke blokken, is het belangrijk om te overwegen dat het bijwerken van een blob met een momentopname resulteert in extra unieke blokken en extra kosten.
Kosten minimaliseren met beheer van momentopnamen
We raden u aan uw momentopnamen zorgvuldig te beheren om extra kosten te voorkomen. U kunt deze best practices volgen om de kosten te minimaliseren die worden gemaakt door de opslag van uw momentopnamen:
- Verwijder momentopnamen die zijn gekoppeld aan een blob en maak deze opnieuw wanneer u de blob bij te werken, zelfs als u bij werkt met identieke gegevens, tenzij het ontwerp van uw toepassing vereist dat u momentopnamen onderhoudt. Door de momentopnamen van de blob te verwijderen en opnieuw te maken, kunt u ervoor zorgen dat de blob en momentopnamen niet afwijken.
- Als u momentopnamen voor een blob onderhoudt, moet u voorkomen dat u methoden aanroept die de hele blob overschrijven wanneer u de blob bijwerkt. Werk in plaats daarvan zo weinig mogelijk blokken bij om de kosten laag te houden.
Scenario's voor facturering van momentopnamen
De volgende scenario's laten zien hoe de kosten voor een blok-blob en de momentopnamen ervan toenemen.
Prijzen en facturering
Het maken van een momentopname, een alleen-lezen kopie van een blob, kan leiden tot extra kosten voor gegevensopslag voor uw account. Bij het ontwerpen van uw toepassing is het belangrijk om te weten hoe deze kosten kunnen toenemen, zodat u de kosten kunt minimaliseren.
Blob-momentopnamen, zoals blobversies, worden gefactureerd tegen hetzelfde tarief als actieve gegevens. Hoe momentopnamen worden gefactureerd, is afhankelijk van of u de laag voor de basis-blob expliciet hebt ingesteld of voor een van de momentopnamen (of versies). Zie Hot-, Cool- en Archive-toegangslagen voor blobgegevens voor meer informatie over blob-lagen.
Als u de laag van een blob of momentopname niet hebt gewijzigd, wordt u gefactureerd voor unieke gegevensblokken in die blob, de momentopnamen en eventuele versies ervan. Zie Facturering wanneer de bloblaag niet expliciet is ingesteld voor meer informatie.
Als u de laag van een blob of momentopname hebt gewijzigd, wordt u gefactureerd voor het hele object, ongeacht of de blob en momentopname uiteindelijk weer in dezelfde laag staan. Zie Facturering wanneer de bloblaag expliciet is ingesteld voor meer informatie.
Zie Blobversies voor meer informatie over factureringsgegevens voor blobversies.
Facturering wanneer de bloblaag niet expliciet is ingesteld
Als u de bloblaag niet expliciet hebt ingesteld voor een basis-blob of een van de momentopnamen, worden er kosten in rekening gebracht voor unieke blokken of pagina's in de blob, de momentopnamen en eventuele versies ervan. Gegevens die worden gedeeld met een blob en de momentopnamen ervan worden slechts één keer in rekening gebracht. Wanneer een blob wordt bijgewerkt, verschillen gegevens in een basis-blob van de gegevens die zijn opgeslagen in de momentopnamen en worden de unieke gegevens per blok of pagina in rekening gebracht.
Wanneer u een blok in een blok-blob vervangt, wordt dat blok vervolgens in rekening gebracht als een uniek blok. Dit geldt zelfs als het blok dezelfde blok-id en dezelfde gegevens heeft als in de momentopname. Nadat het blok opnieuw is vastgelegd, wijkt het af van het equivalent in de momentopname en worden er kosten in rekening gebracht voor de gegevens. Hetzelfde geldt voor een pagina in een pagina-blob die is bijgewerkt met identieke gegevens.
Blob Storage biedt geen manier om te bepalen of twee blokken identieke gegevens bevatten. Elk blok dat wordt geüpload en vastgelegd, wordt beschouwd als uniek, zelfs als het dezelfde gegevens en dezelfde blok-id heeft. Omdat er kosten in rekening worden gebracht voor unieke blokken, is het belangrijk om te weten dat het bijwerken van een blob wanneer die blob momentopnamen of versies heeft, leidt tot extra unieke blokken en extra kosten.
Wanneer een blob momentopnamen heeft, roept u updatebewerkingen op blok-blobs aan, zodat deze het minst mogelijke aantal blokken bijwerken. De schrijfbewerkingen die fijngranenteerde controle over blokken toestaan, zijn Put Block en Put Block List. De bewerking Put Blob vervangt daarentegen de volledige inhoud van een blob en kan dus leiden tot extra kosten.
De volgende scenario's laten zien hoe de kosten voor een blok-blob en de momentopnamen ervan toenemen wanneer de bloblaag niet expliciet is ingesteld.
Scenario 1
In scenario 1 is de basis-blob niet bijgewerkt nadat de momentopname is gemaakt. Er worden dus alleen kosten in rekening gebracht voor unieke blokken 1, 2 en 3.

Scenario 2
In scenario 2 is de basis-blob bijgewerkt, maar de momentopname niet. Blok 3 is bijgewerkt en hoewel blok 3 dezelfde gegevens en dezelfde id bevat, is dit niet hetzelfde als blok 3 in de momentopname. Als gevolg hiervan worden voor het account vier blokken in rekening gebracht.

Scenario 3
In scenario 3 is de basis-blob bijgewerkt, maar de momentopname niet. Blok 3 is vervangen door blok 4 in de basis-blob, maar de momentopname weerspiegelt nog steeds blok 3. Als gevolg hiervan worden voor het account vier blokken in rekening gebracht.

Scenario 4
In scenario 4 is de basis-blob volledig bijgewerkt en bevat deze geen van de oorspronkelijke blokken. Als gevolg hiervan worden voor alle acht unieke blokken kosten in rekening gebracht voor het account.

Tip
Vermijd het aanroepen van methoden die de hele blob overschrijven en werk in plaats daarvan afzonderlijke blokken bij om de kosten laag te houden.
Facturering wanneer de bloblaag expliciet is ingesteld
Als u de bloblaag expliciet hebt ingesteld voor een blob of momentopname (of versie), worden er kosten in rekening gebracht voor de volledige inhoudslengte van het object in de nieuwe laag, ongeacht of deze blokken deelt met een object in de oorspronkelijke laag. Er worden ook kosten in rekening gebracht voor de volledige lengte van de inhoud van de oudste versie in de oorspronkelijke laag. Voor alle versies of momentopnamen die in de oorspronkelijke laag blijven, worden unieke blokken in rekening gebracht die ze kunnen delen, zoals beschreven in Facturering wanneer de bloblaag niet expliciet is ingesteld.
Een blob verplaatsen naar een nieuwe laag
In de volgende tabel wordt het factureringsgedrag voor een blob of momentopname beschreven wanneer deze wordt verplaatst naar een nieuwe laag.
| Wanneer de bloblaag expliciet is ingesteld op... | Vervolgens wordt u gefactureerd voor... |
|---|---|
| Een basis-blob met een momentopname | De basis-blob in de nieuwe laag en de oudste momentopname in de oorspronkelijke laag, plus eventuele unieke blokken in andere momentopnamen. 1 |
| Een basis-blob met een vorige versie en een momentopname | De basis-blob in de nieuwe laag, de oudste versie in de oorspronkelijke laag en de oudste momentopname in de oorspronkelijke laag, plus eventuele unieke blokken in andere versies ofmomentopnamen 1. |
| Een momentopname | De momentopname in de nieuwe laag en de basis-blob in de oorspronkelijke laag, plus eventuele unieke blokken in andere momentopnamen. 1 |
1 Als er andere eerdere versies of momentopnamen zijn die niet zijn verplaatst van de oorspronkelijke laag, worden deze versies of momentopnamen in rekening gebracht op basis van het aantal unieke blokken dat ze bevatten, zoals beschreven in Facturering wanneer de bloblaag niet expliciet is ingesteld.
In het volgende diagram ziet u hoe objecten worden gefactureerd wanneer een blob met momentopnamen wordt verplaatst naar een andere laag.
Het expliciet instellen van de laag voor een blob, versie of momentopname kan niet ongedaan worden gemaakt. Als u een blob naar een nieuwe laag verplaatst en deze vervolgens weer naar de oorspronkelijke laag verplaatst, wordt de volledige inhoudslengte van het object in rekening gebracht, zelfs als het blokken deelt met andere objecten in de oorspronkelijke laag.
Bewerkingen die expliciet de laag van een blob, versie of momentopname instellen, zijn onder andere:
- Blob-laag instellen
- Blob met opgegeven laag zetten
- Blokkeringslijst met opgegeven laag zetten
- Blob kopiëren met opgegeven laag
Een blob verwijderen wanneer de functie voor zacht verwijderen is ingeschakeld
Als de functie voor het verwijderen van blobs is ingeschakeld en u een basis-blob verwijdert of overschrijft waarop de laag expliciet is ingesteld, worden eventuele eerdere versies of momentopnamen van de blob die u hebt verwijderd, gefactureerd op volledige inhoudslengte. Zie Blob versioning and soft delete(Blobversies en soft delete) voor meer informatie over hoe blobversies en soft delete samenwerken.
In de volgende tabel wordt het factureringsgedrag beschreven voor een blob die wordt verwijderd, afhankelijk van of versiegedrag is ingeschakeld of uitgeschakeld. Wanneer versievernieuwing is ingeschakeld, wordt er een nieuwe versie gemaakt wanneer een blob wordt verwijderd. Als versien is uitgeschakeld, wordt er een momentopname gemaakt van de momentopname die u op een zachte manier verwijdert wanneer u een blob verwijdert.
| Wanneer u een basis-blob overschrijft met de laag die expliciet is ingesteld... | Vervolgens wordt u gefactureerd voor... |
|---|---|
| Als de functie voor het verwijderen van blobs en versie-versies beide zijn ingeschakeld | Alle bestaande versies met volledige inhoudslengte, ongeacht de laag. |
| Als de functie voor het verwijderen van blobs is ingeschakeld, maar versieversies zijn uitgeschakeld | Alle bestaande momentopnamen voor het verwijderen van de zachte bestanden met een volledige inhoudsduur, ongeacht de laag. |
Functieondersteuning
In deze tabel ziet u hoe deze functie wordt ondersteund in uw account en wat de gevolgen zijn voor de ondersteuning wanneer u bepaalde mogelijkheden inschakelen.
| Type opslagaccount | Blob Storage (standaardondersteuning) | Data Lake Storage Gen2 1 | NFS 3.0 1 | SFTP 1 |
|---|---|---|---|---|
| Standaard algemeen gebruik v2 | ||||
| Premium blok-blobs maken |
1 Voor Data Lake Storage Gen2, het NFS-protocol (Network File System) 3.0 en het Secure File Transfer Protocol (SFTP) is allemaal een opslagaccount vereist waarvoor een hiërarchische naamruimte is ingeschakeld.
2 Functie wordt ondersteund op preview-niveau.