Blob verziószámozása

Engedélyezheti a Blob Storage verziószámozását az objektumok korábbi verzióinak automatikus karbantartásához. Ha engedélyezve van a blob verziószámozása, a blob korábbi verzióihoz is hozzáférhet, hogy helyreállítsa az adatokat, ha azokat módosították vagy törölték.

A Blob verziószámozása a blobadatok átfogó adatvédelmi stratégiájának része. A blobadatok optimális védelme érdekében a Microsoft az alábbi adatvédelmi funkciók engedélyezését javasolja:

Ha többet szeretne megtudni a Microsoft adatvédelmi javaslatairól, tekintse meg az adatvédelem áttekintését.

Figyelemfelhívás

Miután engedélyezte a blobok verziószámozását egy tárfiókhoz, a fiókban lévő blobok írási műveletei egy új verzió létrehozását eredményezik. Emiatt a blob verziószámozásának engedélyezése további költségekkel járhat. A költségek minimalizálása érdekében használjon életciklus-kezelési szabályzatot a régi verziók automatikus törléséhez. Az életciklus-kezeléssel kapcsolatos további információkért lásd : Költségek optimalizálása az Azure Blob Storage hozzáférési szintjeinek automatizálásával.

A blob verziószámozásának működése

A verzió egy blob állapotát rögzíti egy adott időpontban. A rendszer minden verziót egy verzióazonosítóval azonosít. Ha a blob verziószámozása engedélyezve van egy tárfiókhoz, az Azure Storage automatikusan létrehoz egy új verziót egyedi azonosítóval, amikor először létrehoz egy blobot, és minden alkalommal, amikor a blobot később módosítják.

A verzióazonosító azonosíthatja az aktuális vagy az előző verziót. A blobok egyszerre csak egy aktuális verzióval rendelkezhetnek.

Új blob létrehozásakor egyetlen verzió létezik, és ez a jelenlegi verzió. Meglévő blob módosításakor az aktuális verzió egy korábbi verzió lesz. Létrejön egy új verzió a frissített állapot rögzítéséhez, és az új verzió az aktuális verzió. Blob törlésekor a blob aktuális verziója korábbi verzióvá válik, és már nincs aktuális verzió. A blob korábbi verziói megmaradnak.

Az alábbi diagram bemutatja, hogyan jönnek létre a verziók írási műveletek során, és hogyan lehet előléptetni egy korábbi verziót az aktuális verzióra:

Diagram showing how blob versioning works

A blobverziók nem módosíthatók. Egy meglévő blobverzió tartalmát vagy metaadatait nem módosíthatja.

Ha blobonként nagy számú verzióval rendelkezik, azzal növelheti a blobok felsorolási műveleteinek késését. A Microsoft azt javasolja, hogy blobonként kevesebb mint 1000 verziót tartson fenn. Az életciklus-felügyelettel automatikusan törölheti a régi verziókat. Az életciklus-kezeléssel kapcsolatos további információkért lásd : Költségek optimalizálása az Azure Blob Storage hozzáférési szintjeinek automatizálásával.

A Blob verziószámozása standard általános célú v2- és prémium szintű blokkblobokhoz és régi Blob Storage-fiókokhoz érhető el. Az Azure Data Lake Storage Gen2-vel való használatra engedélyezett hierarchikus névtérrel rendelkező tárfiókok jelenleg nem támogatottak.

Az Azure Storage REST API 2019-10-10-es és újabb verziója támogatja a blobok verziószámozását.

Fontos

A Blob verziószámozása nem segít helyreállítani egy tárfiók vagy tároló véletlen törlését. A tárfiók véletlen törlésének megakadályozása érdekében konfiguráljon egy zárolást a tárfiók-erőforráson. A tárfiókok zárolásával kapcsolatos további információkért lásd : Azure Resource Manager-zárolás alkalmazása tárfiókra.

Verzióazonosító

Minden blobverziót egyedi verzióazonosító azonosít. A verzióazonosító értéke az az időbélyeg, amelyen a blob frissült. A verzióazonosító a verzió létrehozásakor van hozzárendelve.

A blob adott verzióján olvasási vagy törlési műveleteket hajthat végre a verzióazonosító megadásával. Ha kihagyja a verzióazonosítót, a művelet az aktuális verzióval szemben lép fel.

Amikor meghív egy írási műveletet egy blob létrehozásához vagy módosításához, az Azure Storage visszaadja az x-ms-version-id fejlécet a válaszban. Ez a fejléc tartalmazza az írási művelet által létrehozott blob aktuális verziójának verzióazonosítóját.

A verzióazonosító a verzió teljes élettartama alatt változatlan marad.

Verziószámozás írási műveletekhez

Ha a blob verziószámozása be van kapcsolva, a blobok írási művelete új verziót hoz létre. Az írási műveletek közé tartozik a Blob elhelyezése, a Blokklista elhelyezése, a Blob másolása és a Blob metaadatainak beállítása.

Ha az írási művelet létrehoz egy új blobot, akkor az eredményként kapott blob a blob aktuális verziója. Ha az írási művelet módosít egy meglévő blobot, akkor az aktuális verzió egy korábbi verzió lesz, és létrejön egy új, aktuális verzió a frissített blob rögzítéséhez.

Az alábbi diagram bemutatja, hogyan befolyásolják az írási műveletek a blobverziókat. Az egyszerűség kedvéért a cikkben látható diagramok egyszerű egész számként jelenítik meg a verzióazonosítót. A valóságban a verzióazonosító egy időbélyeg. Az aktuális verzió kék, a korábbi verziók pedig szürke színnel jelennek meg.

Diagram showing how write operations affect versioned blobs.

Feljegyzés

A tárfiók verziószámozásának engedélyezése előtt létrehozott blob nem rendelkezik verzióazonosítóval. A blob módosításakor a módosított blob lesz az aktuális verzió, és létrejön egy verzió a blob állapotának frissítés előtti mentéséhez. A verzióhoz hozzá van rendelve egy verzióazonosító, amely a létrehozási ideje.

Ha a blobok verziószámozása engedélyezve van egy tárfiókhoz, a blokkblobokon végzett írási műveletek aktiválják egy új verzió létrehozását, kivéve a Blokk elküldése műveletet.

Lapblobok és hozzáfűző blobok esetén csak az írási műveletek egy részhalmaza aktiválja a verzió létrehozását. Ezek a műveletek a következők:

Az alábbi műveletek nem indítják el az új verzió létrehozását. A műveletek módosításainak rögzítéséhez készítsen manuális pillanatképet:

A blobok minden verziójának azonos blobtípusúnak kell lennie. Ha egy blob korábbi verzióival rendelkezik, nem írhatja felül az egyik típusú blobot egy másik típussal, kivéve, ha először törli a blobot és annak összes verzióját.

Verziószámozás törlési műveletek esetén

Ha a Blob törlése műveletet a verzióazonosító megadása nélkül hívja meg, az aktuális verzió egy korábbi verzió lesz, és már nincs aktuális verzió. A blob összes meglévő korábbi verziója megmarad.

Az alábbi ábra egy törlési művelet egy verziószámozott blobra gyakorolt hatását mutatja be:

Diagram showing deletion of versioned blob.

A blob egy adott verziójának törléséhez adja meg az adott verzió azonosítóját a törlési műveletben. Ha a blob helyreállítható törlése a tárfiókhoz is engedélyezve van, a rendszer mindaddig megőrzi a verziót, amíg el nem telik a helyreállítható törlés megőrzési ideje.

Ha új adatokat ír a blobba, a blob új, aktuális verzióját hozza létre. A meglévő verziók nem változnak, ahogy az alábbi ábrán is látható.

Diagram showing re-creation of versioned blob after deletion.

Hozzáférési szintek

A blokkblobok bármely verzióját, beleértve az aktuális verziót is, áthelyezheti egy másik blobhozzáférési szintre a Blobréteg beállítása művelet meghívásával. Kihasználhatja az alacsonyabb kapacitásárakat, ha a blob régebbi verzióit a ritka elérésű vagy archív szintre helyezi át. További információ: Gyakori elérésű, ritka elérésű, ritka elérésű és archív hozzáférési szintek a blobadatokhoz.

A blokkblobok megfelelő szintre történő áthelyezésének automatizálásához használja a blobok életciklusának kezelését. Az életciklus-kezelésről további információt az Azure Blob Storage életciklusának kezelése című témakörben talál.

Blobverzió engedélyezése vagy letiltása

A blobverziók engedélyezéséről és letiltásáról a blobverziók engedélyezéséről és kezeléséről olvashat.

A blobverziók letiltása nem törli a meglévő blobokat, verziókat vagy pillanatképeket. A blobverziók kikapcsolásakor a meglévő verziók továbbra is elérhetők maradnak a tárfiókban. Ezt követően nem jön létre új verzió.

Ha a verziószámozás le van tiltva, az aktuális verzió módosítása létrehoz egy nem verziószámú blobot. A blob minden későbbi frissítése felülírja az adatait az előző állapot mentése nélkül. Az összes meglévő verzió megmarad a korábbi verziókban.

A verziószámozás letiltása után a verzióazonosítóval olvashatja vagy törölheti a verziószámokat. A blobok verzióit a verziószámozás letiltása után is listázhatja.

Az objektumreplikálás blobverzióra támaszkodik. A blobok verziószámozásának letiltása előtt törölnie kell a fiók összes objektumreplikációs szabályzatát. Az objektumreplikálással kapcsolatos további információkért lásd a blokkblobok objektumreplikálását ismertető témakört.

Az alábbi ábra bemutatja, hogy a blobok verziószámozásának letiltása után történő módosítása hogyan hoz létre nem verziószámozott blobot. A blobhoz társított meglévő verziók megmaradnak.

Diagram showing that modification of a current version after versioning is disabled creates a blob that isn't a version.

Blob verziószámozása és helyreállítható törlése

A blobok verziószámozása és a blobok helyreállítható törlése a tárfiókok ajánlott adatvédelmi konfigurációjának része. A Microsoft adatvédelmi javaslatairól további információt ebben a cikkben az Ajánlott adatvédelmi konfiguráció és az Adatvédelem áttekintése című témakörben talál.

Blob felülírása

Ha a blobok verziószámozása és a blobok helyreállítható törlése egyaránt engedélyezve van egy tárfiókhoz, akkor a blob felülírása automatikusan létrehoz egy új verziót. Az új verzió nem törölhető helyreállíthatóan, és a helyreállítható törlés megőrzési időszakának lejártakor nem törlődik. A rendszer nem hoz létre helyreállíthatóan törölt pillanatképeket.

Blob vagy verzió törlése

Ha a verziószámozás és a helyreállítható törlés is engedélyezve van egy tárfiókhoz, akkor a blob törlésekor a blob aktuális verziója lesz az előző verzió. A rendszer nem hoz létre új verziót, és nem hoz létre helyreállíthatóan törölt pillanatképeket. A helyreállítható törlési megőrzési időszak nem érvényes a törölt blobra vonatkozóan.

A helyreállítható törlés további védelmet nyújt a blobverziók törléséhez. A blob egy korábbi verziójának törlésekor az adott verzió helyreállíthatóan törlődik. A helyreállíthatóan törölt verzió mindaddig megmarad, amíg a helyreállítható törlés megőrzési ideje el nem telik, és ekkor véglegesen törlődik.

A blob egy korábbi verziójának törléséhez hívja meg a Blob törlése műveletet, és adja meg a verzióazonosítót.

Az alábbi ábrán látható, hogy mi történik egy blob vagy egy blobverzió törlésekor.

Diagram showing deletion of a version with soft delete enabled.

Helyreállíthatóan törölt verzió visszaállítása

Az Undelete Blob művelettel visszaállíthatja a helyreállíthatóan törölt verziókat a helyreállítható törlés megőrzési ideje alatt. Az Undelete Blob művelet mindig visszaállítja a blob összes helyreállíthatóan törölt verzióját. Nem lehet csak egyetlen helyreállíthatóan törölt verziót visszaállítani.

A helyreállíthatóan törölt verziók visszaállítása az Undelete Blob művelettel nem támogatja az aktuális verziót. Az aktuális verzió visszaállításához először állítsa vissza az összes helyreállíthatóan törölt verziót, majd a Blob másolása művelettel másolja át az előző verziót egy új, aktuális verzióra.

Az alábbi ábra bemutatja, hogyan állíthatja vissza a helyreállíthatóan törölt blobverziókat az Undelete Blob művelettel, és hogyan állíthatja vissza a blob aktuális verzióját a Blob másolása művelettel.

Diagram showing how to restore soft-deleted versions.

A helyreállítható törlési megőrzési időszak leteltét követően a rendszer véglegesen törli a helyreállíthatóan törölt blobverziókat.

Blobverziók és blobok pillanatképei

A blob pillanatképe egy adott időpontban készített blob írásvédett másolata. A blob-pillanatképek és a blobverziók hasonlóak, de a pillanatképeket Ön vagy az alkalmazás manuálisan hozza létre, míg a blobverzió automatikusan létrejön egy írási vagy törlési művelet során, ha a blobverzió engedélyezve van a tárfiókban.

Fontos

A Microsoft azt javasolja, hogy a blobok verziószámozásának engedélyezése után frissítse az alkalmazást is, hogy ne készíthessen pillanatképeket a blokkblobokról. Ha a tárfiók verziószámozása engedélyezve van, a blokkblobok minden frissítését és törlését a verziók rögzítik és megőrzik. A pillanatképek készítése nem nyújt további védelmet a blokkblobadatok számára, ha engedélyezve van a blobverziók használata, és növelheti a költségeket és az alkalmazások összetettségét.

Blob pillanatképe a verziószámozás engedélyezésekor

Bár nem ajánlott, készíthet pillanatképet egy szintén verziószámozott blobról. Ha nem tudja frissíteni az alkalmazást, hogy leállítsák a blobok pillanatképeinek készítését a verziószámozás engedélyezésekor, az alkalmazás támogatja a pillanatképeket és a verziókat is.

Ha pillanatképet készít egy verziószámozott blobról, a rendszer a pillanatkép létrehozásával egyidejűleg létrehoz egy új verziót. Pillanatkép készítésekor egy új, aktuális verzió is létrejön.

Az alábbi ábra bemutatja, mi történik, ha pillanatképet vesz fel egy verziószámozott blobról. A diagramban a 2. és 3. verziójú blobverziók és pillanatképek azonos adatokat tartalmaznak.

Diagram showing snapshots of a versioned blob.

Műveletek engedélyezése blobverziókon

A blobverziókhoz való hozzáférést az alábbi módszerek egyikével engedélyezheti:

A blobverziók úgy lettek kialakítva, hogy megvédjék az adatokat a véletlen vagy rosszindulatú törléstől. A védelem javításához a blobverzió törléséhez speciális engedélyekre van szükség. A következő szakaszok a blobverzió törléséhez szükséges engedélyeket ismertetik.

Azure RBAC-művelet blobverzió törléséhez

Az alábbi táblázat azt mutatja be, hogy mely Azure RBAC-műveletek támogatják a blobok vagy blobverziók törlését.

Leírás Blobszolgáltatás-művelet Azure RBAC-adatművelet szükséges Az Azure beépített szerepkör-támogatása
Az aktuális verzió törlése Blob törlése Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete Storage blobadat-közreműködő
Előző verzió törlése Blob törlése Microsoft.Storage/storageAccounts/blobServices/containers/blobs/deleteBlobVersion/action Storage Blob adattulajdonos

Közös hozzáférésű jogosultságkód (SAS) paraméterei

A blobverzió aláírt erőforrása a bvkövetkező: . További információ: Szolgáltatás sas létrehozása vagy felhasználói delegálási SAS létrehozása.

Az alábbi táblázat a blobverzió törléséhez szükséges sas-engedélyeket mutatja be.

Engedély URI-szimbólum Engedélyezett műveletek
Törlés x Blobverzió törlése.

Árképzés és számlázás

A blob verziószámozásának engedélyezése további adattárolási díjakat vonhat maga után a fiókjában. Az alkalmazás tervezésekor fontos tisztában lenni azzal, hogyan merülhetnek fel ezek a díjak, hogy minimalizálhassa a költségeket.

A blobverziók, például a blob-pillanatképek számlázása ugyanolyan ütemben történik, mint az aktív adatok. A verziók számlázásának módja attól függ, hogy explicit módon beállította-e a blob (vagy pillanatképek) aktuális vagy korábbi verzióinak szintjét. A blobszintekről további információt a blobadatok gyakori elérésű, ritka elérésű, hideg és archív hozzáférési szintjeiben talál.

Ha nem módosította a blob vagy a verzió szintjét, akkor az adott blobban, annak verzióiban és az esetleges pillanatképekben lévő egyedi adatblokkokért kell fizetnie. További információ: Számlázás, ha a blobszint nincs explicit módon beállítva.

Ha módosította egy blob vagy verzió szintjét, akkor a teljes objektumért kell fizetnie, függetlenül attól, hogy a blob és a verzió végül ismét ugyanabban a rétegben van-e. További információ: Számlázás, ha a blobszint explicit módon lett beállítva.

Feljegyzés

A gyakran felülírt adatok verziószámozásának engedélyezése megnövelheti a tárolási kapacitás díjait és növelheti a késést a listázási műveletek során. A problémák enyhítése érdekében tárolja a gyakran felülírt adatokat egy külön tárfiókban, és tiltsa le a verziószámozást.

A blob-pillanatképek számlázási részleteiről további információt a Blob pillanatképek című témakörben talál.

Számlázás, ha a blobszint nincs explicit módon beállítva

Ha nem állította be explicit módon a blobszintet a blobok egyik verziójához sem, akkor az összes verzió egyedi blokkjaiért vagy lapjaiért, valamint az esetleges pillanatképekért kell fizetnie. A blobverziók között megosztott adatokért csak egyszer kell fizetni. A blobok frissítésekor az új jelenlegi verzió adatai eltérnek az előző verziókban tárolt adatoktól, és az egyedi adatokat blokkonként vagy oldalonként számítjuk fel.

Ha egy blokkblobon belüli blokkot cserél le, a blokkot később egyedi blokkként számítjuk fel. Ez akkor is igaz, ha a blokk ugyanazokkal a blokkazonosítóval és ugyanazokkal az adatokkal rendelkezik, mint az előző verzióban. A blokk ismételt véglegesítése után az eltér az előző verzióban használt megfelelőjétől, és az adatokért díjat számítunk fel. Ugyanez érvényes az azonos adatokkal frissített lapblobok lapjára is.

A Blob Storage nem tudja meghatározni, hogy két blokk azonos adatokat tartalmaz-e. Minden feltöltött és véglegesített blokk egyediként lesz kezelve, még akkor is, ha ugyanazokkal az adatokkal és ugyanazzal a blokkazonosítóval rendelkezik. Mivel az egyedi blokkokért díjak merülnek fel, fontos szem előtt tartani, hogy a blobok verziószámozás engedélyezésekor történő frissítése további egyedi blokkokat és további díjakat eredményez.

Ha a blob verziószámozása engedélyezve van, hívja meg a blokkblobok frissítési műveleteit, hogy a lehető legkevesebb blokkot frissítse. A blokkok részletes vezérlését lehetővé tevő írási műveletek a Blokkok elhelyezése és a Blokkok listázása. A Blob elhelyezése művelet viszont lecseréli a blob teljes tartalmát, ezért további díjakhoz vezethet.

Az alábbi forgatókönyvek bemutatják, hogyan keletkeznek díjak a blokkblobok és azok verziói esetében, ha a blobszint nincs explicit módon beállítva.

1. eset

Az 1. forgatókönyvben a blobnak van egy korábbi verziója. A blob nem frissült a verzió létrehozása óta, ezért a díjak csak az 1., 2. és 3. egyedi blokkok esetén merülnek fel.

Diagram 1 showing billing for unique blocks in base blob and previous version.

2. eset

A 2. forgatókönyvben a blob egy blokkja (a diagram 3. blokkja) frissült. Annak ellenére, hogy a frissített blokk ugyanazokat az adatokat és azonos azonosítót tartalmazza, nem ugyanaz, mint a 3. blokk az előző verzióban. Ennek eredményeképpen a fiók négy blokkért lesz felszámítva.

Diagram 2 showing billing for unique blocks in base blob and previous version.

3. eset

A 3. forgatókönyvben a blob frissült, de a verzió nem. A 3. blokkot az aktuális blob 4. blokkja váltotta fel, de az előző verzió továbbra is a 3. blokkot tükrözi. Ennek eredményeképpen a fiók négy blokkért lesz felszámítva.

Diagram 3 showing billing for unique blocks in base blob and previous version.

4\. példa

A 4. forgatókönyvben a jelenlegi verzió teljesen frissült, és egyik eredeti blokkját sem tartalmazza. Ennek eredményeképpen a fiók mind a nyolc egyedi blokkért díjat számít fel – négyet az aktuális verzióban, négyet pedig az előző két verzióban. Ez a forgatókönyv akkor fordulhat elő, ha egy blobba ír a Blob elhelyezése művelettel, mert az a blob teljes tartalmát lecseréli.

Diagram 4 showing billing for unique blocks in base blob and previous version.

Számlázás a blobszint explicit beállításakor

Ha explicit módon beállította egy blob vagy verzió (vagy pillanatkép) blobszintét, akkor az objektum teljes tartalomhosszáért díjat számítunk fel az új rétegben, függetlenül attól, hogy az az eredeti szinten lévő objektummal osztja-e meg a blokkokat. Az eredeti szint legrégebbi verziójának teljes tartalomhosszáért is díjat számítunk fel. Az eredeti szinten maradó többi korábbi verziót vagy pillanatképet az általuk megosztható egyedi blokkokért számítjuk fel, a számlázásban leírtak szerint, ha a blobszint nincs explicit módon beállítva.

Blob áthelyezése új szintre

Az alábbi táblázat egy blob vagy verzió számlázási viselkedését ismerteti, amikor az új szintre kerül.

Ha a blobszint be van állítva... Akkor kiszámlázzuk a...
Explicit módon egy verzión, akár aktuális, akár korábbi A verzió teljes tartalomhossza. Azok a verziók, amelyek nem rendelkeznek explicit módon beállított szinttel, csak egyedi blokkokért számlázunk.1
Archiválás Az összes verzió és pillanatkép teljes tartalomhossza.1.

1Ha vannak olyan korábbi verziók vagy pillanatképek, amelyeket nem helyeztek át az eredeti szintről, a rendszer azokat a verziókat vagy pillanatképeket a bennük található egyedi blokkok száma alapján számítja fel, a számlázásban leírtak szerint, ha a blobszint nincs explicit módon beállítva.

Az alábbi ábra bemutatja, hogyan történik az objektumok számlázása egy verziószámozott blob másik szintre való áthelyezésekor.

Diagram showing how objects are billed when a versioned blob is explicitly tiered.

A blob, a verzió vagy a pillanatkép szintjének explicit beállítása nem vonható vissza. Ha áthelyez egy blobot egy új szintre, majd visszaköltözteti az eredeti szintre, akkor is fizetnie kell az objektum teljes tartalomhosszáért, ha az blokkokat oszt meg az eredeti szinten lévő többi objektummal.

A blob, verzió vagy pillanatkép rétegét explicit módon beállítva műveletek a következők:

Blob törlése, ha engedélyezve van a helyreállítható törlés

Ha engedélyezve van a blob helyreállítható törlése, a rendszer minden helyreállíthatóan törölt entitást teljes tartalomhosszon számláz. Ha olyan aktuális verziót töröl vagy ír felül, amelynek a szintje kifejezetten be van állítva, akkor a helyreállíthatóan törölt blob korábbi verziói teljes tartalomhosszon lesznek számlázva. A blobok verziószámozásával és a helyreállítható törléssel kapcsolatos további információkért lásd a Blob verziószámozását és a helyreállítható törlést.

Szolgáltatások támogatása

Ennek a funkciónak a támogatását befolyásolhatja a Data Lake Storage Gen2, a Network File System (NFS) 3.0 protokoll vagy az SSH File Transfer Protocol (SFTP) engedélyezése. Ha engedélyezte bármelyik funkciót, tekintse meg a Blob Storage szolgáltatástámogatását az Azure Storage-fiókokban a funkció támogatásának felméréséhez.

A verziószámozás nem támogatott a Data Lake Storage Gen2 API-kkal feltöltött blobok esetében.

Lásd még