Blob-momentopnamen
Een momentopname is een alleen-lezen versie van een blob die op een bepaald moment wordt gemaakt.
Notitie
Blob-versiebeheer biedt een superieure manier om eerdere versies van een blob te onderhouden. Zie Blob-versiebeheer voor meer informatie.
Over blob-momentopnamen
Belangrijk
Momentopnamen in accounts waarvoor de hiërarchische naamruimtefunctie is ingeschakeld, is momenteel beschikbaar in PREVIEW. 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.
Als u zich wilt inschrijven in de preview, raadpleegt u dit formulier.
Een momentopname van een blob is identiek aan de basis-blob, behalve dat de blob-URI een Datum/tijd-waarde heeft die is toegevoegd aan de blob-URI om aan te geven op welk tijdstip de momentopname is gemaakt. Als een pagina-blob-URI bijvoorbeeld is http://storagesample.core.blob.windows.net/mydrives/myvhd
, is 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 basisblob. Het enige verschil tussen de basis-blob en de momentopname is de toegevoegde Datum/tijd-waarde .
Een blob kan een willekeurig aantal momentopnamen bevatten. Momentopnamen blijven behouden totdat ze expliciet worden verwijderd, onafhankelijk of als onderdeel van een verwijder-blobbewerking voor de basis-blob. U kunt de momentopnamen opsommen 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 gekopieerd naar de momentopname. De metagegevens van de basisblob worden ook gekopieerd naar de momentopname, tenzij u afzonderlijke metagegevens opgeeft voor de momentopname 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.
U kunt een momentopname van een blob maken in de dynamische of statische laag. Momentopnamen op blobs in de archieflaag worden niet ondersteund.
Een VHD-bestand wordt gebruikt om de huidige informatie en status voor een VM-schijf op te slaan. U kunt een schijf loskoppelen van de VIRTUELE machine of de VIRTUELE machine 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 virtuele machine opnieuw te maken.
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 worden opgebouwd, zodat u de kosten kunt minimaliseren.
Blob-momentopnamen, zoals blobversies, worden gefactureerd met hetzelfde tarief als actieve gegevens. Hoe momentopnamen worden gefactureerd, is afhankelijk van of u de laag expliciet hebt ingesteld voor de basis-blob of voor een van de momentopnamen (of versies). Zie Toegangslagen voor blobgegevens voor meer informatie over bloblagen.
Als u de laag van een blob of momentopname niet hebt gewijzigd, wordt u gefactureerd voor unieke gegevensblokken in die blob, de bijbehorende momentopnamen en eventuele versies. 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 zich uiteindelijk opnieuw in dezelfde laag bevinden. Zie Facturering wanneer de bloblaag expliciet is ingesteld voor meer informatie.
Zie Blob-versiebeheer voor meer informatie over factureringsgegevens voor blobversies.
Kosten minimaliseren met momentopnamebeheer
Microsoft raadt u aan uw momentopnamen zorgvuldig te beheren om extra kosten te voorkomen. U kunt deze aanbevolen procedures volgen om de kosten die worden gemaakt door de opslag van uw momentopnamen te minimaliseren:
- Verwijder en maak momentopnamen die zijn gekoppeld aan een blob wanneer u de blob bijwerkt, zelfs als u met identieke gegevens bijwerkt, tenzij voor uw toepassingsontwerp momentopnamen moeten worden onderhouden. 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, vermijdt u het aanroepen van methoden die de hele blob overschrijven wanneer u de blob bijwerkt. Werk in plaats daarvan het kleinste aantal blokken bij om de kosten laag te houden.
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. Gegevens die worden gedeeld in een blob en de momentopnamen worden slechts eenmaal in rekening gebracht. Wanneer een blob wordt bijgewerkt, worden gegevens in een basis-blob afgeleid 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 later in rekening gebracht als een uniek blok. Dit geldt zelfs als het blok dezelfde blok-id heeft en dezelfde gegevens als in de momentopname. Nadat het blok opnieuw is doorgevoerd, wijkt het af van de tegenhanger in de momentopname en worden er kosten in rekening gebracht voor de gegevens. Hetzelfde geldt voor een pagina in een pagina-blob die wordt bijgewerkt met identieke gegevens.
Blob Storage heeft 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 de kosten voor unieke blokken toenemen, is het belangrijk om te onthouden dat het bijwerken van een blob wanneer die blob momentopnamen of versies bevat, extra unieke blokken en extra kosten oplevert.
Wanneer een blob momentopnamen heeft, roept u updatebewerkingen aan op blok-blobs, zodat ze het minst mogelijke aantal blokken bijwerken. De schrijfbewerkingen die fijnmazige controle over blokken toestaan, zijn Put Block en Put Block List. De Put Blob-bewerking vervangt daarentegen de volledige inhoud van een blob en kan leiden tot extra kosten.
In de volgende scenario's ziet u hoe de kosten voor een blok-blob en de bijbehorende momentopnamen 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 deze dezelfde gegevens en dezelfde id bevat, is het niet hetzelfde als blok 3 in de momentopname. Als gevolg hiervan worden er vier blokken in rekening gebracht voor het account.
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 er vier blokken in rekening gebracht voor het account.
Scenario 4
In scenario 4 is de basis-blob volledig bijgewerkt en bevat deze geen van de oorspronkelijke blokken. Als gevolg hiervan wordt het account in rekening gebracht voor alle acht unieke blokken.
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 inhoudslengte van de oudste versie in de oorspronkelijke laag. Alle versies of momentopnamen die in de oorspronkelijke laag blijven, worden in rekening gebracht voor unieke blokken 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 basisblob 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 basisblob 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 of momentopnamen1. |
Een momentopname | De momentopname in de nieuwe laag en de basis-blob in de oorspronkelijke laag, plus eventuele unieke blokken in andere momentopnamen.1 |
1Als 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 naar een andere laag wordt verplaatst.
Het expliciet instellen van de laag voor een blob, versie of momentopname kan niet ongedaan worden gemaakt. Als u een blob verplaatst naar een nieuwe laag en deze vervolgens weer verplaatst naar de oorspronkelijke laag, worden er kosten in rekening gebracht voor de volledige inhoudslengte van het object, 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:
- Set Blob Tier (Blob-laag instellen)
- Blob plaatsen met laag opgegeven
- Lijst met blokken plaatsen met opgegeven laag
- Blob kopiëren met laag opgegeven
Een blob verwijderen wanneer voorlopig verwijderen is ingeschakeld
Wanneer voorlopig verwijderen van blobs is ingeschakeld en u een basis-blob verwijdert of overschrijft waarvoor de laag expliciet is ingesteld, worden eventuele eerdere versies of momentopnamen van de voorlopig verwijderde blob gefactureerd op volledige inhoudslengte. Zie Blob-versiebeheer en voorlopig verwijderen voor meer informatie over hoe blobversiebeheer en voorlopig verwijderen samenwerken.
De volgende tabel beschrijft het factureringsgedrag voor een blob die voorlopig wordt verwijderd, afhankelijk van of versiebeheer is ingeschakeld of uitgeschakeld. Wanneer versiebeheer is ingeschakeld, wordt er een nieuwe versie gemaakt wanneer een blob voorlopig wordt verwijderd. Wanneer versiebeheer is uitgeschakeld, maakt voorlopig verwijderen van een blob een momentopname van voorlopig verwijderen.
Wanneer u een basis-blob overschrijft met de bijbehorende laag expliciet ingesteld... | Vervolgens wordt u gefactureerd voor... |
---|---|
Als voorlopig verwijderen van blobs en versiebeheer beide zijn ingeschakeld | Alle bestaande versies met volledige inhoudslengte, ongeacht de laag. |
Als voorlopig verwijderen van blob is ingeschakeld, maar versiebeheer is uitgeschakeld | Alle bestaande momentopnamen voor voorlopig verwijderen op volledige inhoudslengte, ongeacht de laag. |
Functieondersteuning
Ondersteuning voor deze functie kan worden beïnvloed door het inschakelen van Data Lake Storage Gen2, het NFS-protocol (Network File System) 3.0 of het SSH File Transfer Protocol (SFTP). Als u een van deze mogelijkheden hebt ingeschakeld, raadpleegt u de ondersteuning voor Blob Storage-functies in Azure Storage-accounts om ondersteuning voor deze functie te beoordelen.