Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Správu verzí úložiště objektů blob můžete povolit, aby se předchozí verze objektu automaticky udržovaly. Pokud je povolená správa verzí objektů blob, můžete získat přístup ke starším verzím objektu blob, abyste obnovili data, pokud jsou upravená nebo odstraněná.
Doporučená konfigurace ochrany dat
Správa verzí objektů blob je součástí komplexní strategie ochrany dat pro data objektů blob. Pokud chcete zajistit optimální ochranu dat objektů blob, Microsoft doporučuje povolit všechny následující funkce ochrany dat:
- Správa verzí objektů blob, aby se automaticky zachovaly předchozí verze objektu blob. Pokud je povolená správa verzí objektů blob, můžete obnovit starší verzi objektu blob a obnovit tak data, pokud je chybně upravená nebo odstraněná. Informace o povolení správy verzí objektů blob najdete v tématu Povolení a správa správy verzí objektů blob.
- Dočasné odstranění kontejneru, které umožňuje obnovení smazaného kontejneru. Jak povolit soft delete kontejnerů, viz Povolení a správa soft delete u kontejnerů.
- Softwarové odstranění objektu blob pro obnovení odstraněného objektu blob, snímku nebo verze. Jak povolit softwarově řízené odstranění objektů blob, viz Povolení a správa softwarově řízeného odstranění objektů blob.
Další informace o doporučeních Microsoft k ochraně dat najdete v tématu Přehled ochrany dat.
Upozornění
Po povolení správy verzí objektů blob pro účet úložiště má každá operace zápisu do objektu blob v daném účtu za následek vytvoření nové verze. Z tohoto důvodu může povolení verzování objektů blob vést k dalším nákladům. Pokud chcete minimalizovat náklady, použijte zásadu správy životního cyklu k automatickému odstranění starých verzí. Další informace o správě životního cyklu viz Optimalizujte náklady automatizací úrovní přístupu v Azure Blob Storage.
Jak funguje verzování objektů blob
Verze zachycuje stav blobu v daném časovém okamžiku. Každá verze se identifikuje s ID verze. Pokud je pro účet úložiště povolená správa verzí objektů blob, Azure Storage automaticky vytvoří novou verzi s jedinečným ID při prvním vytvoření objektu blob a při každé změně objektu blob.
ID verze může identifikovat aktuální verzi nebo předchozí verzi. Objekt blob může mít současně pouze jednu aktuální verzi.
Při vytváření nového objektu blob existuje jedna verze a tato verze je aktuální. Při úpravě existujícího objektu blob se aktuální verze stane předchozí verzí. Vytvoří se nová verze pro zachycení aktualizovaného stavu a tato nová verze je aktuální. Když odstraníte objekt blob, aktuální verze objektu blob se stane předchozí verzí a už neexistuje aktuální verze. Všechny předchozí verze objektu blob se zachovají.
Následující diagram ukazuje, jak se verze vytvářejí při operacích zápisu a jak může být upřednostněná předchozí verze na aktuální verzi:
Důležité
Velké množství verzí pro blob může zvýšit latenci operací seznamu blobů. Microsoft doporučuje udržovat počet verzí na objekt blob pod 1 000. Správu životního cyklu můžete použít k automatickému odstranění starých verzí. Další informace o správě životního cyklu viz Optimalizujte náklady automatizací úrovní přístupu v Azure Blob Storage.
Verze objektů blob jsou neměnné. Obsah nebo metadata existující verze objektu blob nemůžete upravovat.
Správa verzí objektů blob je dostupná pro standardní účty obecného účelu verze 2, prémiové účty blokového úložiště blob a legacy účty Blob Storage. Účty úložiště s povoleným hierarchickým oborem názvů pro použití s Azure Data Lake Storage momentálně nejsou podporovány.
Verze 2019-10-10 a vyšší rozhraní REST API Azure Storage podporují správu verzí objektů blob.
Důležité
Verzování blobů vám nepomůže obnovit náhodně smazaný účet úložiště nebo kontejner. Pokud chcete zabránit náhodnému odstranění účtu úložiště, nakonfigurujte zámek na prostředku úložiště. Další informace o uzamčení účtu úložiště najdete v tématu Zamknutí Azure Resource Manager účtu úložiště.
ID verze
Každá verze objektu blob je identifikována jedinečným ID verze. Hodnota ID verze je časové razítko, ve kterém se objekt blob aktualizoval. ID verze je přiřazeno v okamžiku vytvoření verze.
Operace čtení nebo odstranění můžete provést u konkrétní verze objektu blob zadáním ID jeho verze. Pokud vynecháte ID verze, operace se chová proti aktuální verzi.
Při volání operace zápisu pro vytvoření nebo úpravu objektu blob Azure Storage vrátí hlavičku x-ms-version-id v odpovědi. Tato hlavička obsahuje ID verze pro aktuální verzi objektu blob, kterou vytvořila operace zápisu.
ID verze zůstává po celou dobu životnosti verze stejné.
Verzování při zápisových operacích
Když je zapnutá správa verzí objektů blob, každá operace zápisu do objektu blob vytvoří novou verzi. Mezi operace zápisu patří Put Blob, Put Block List, Copy Blob a Set Blob Metadata.
Pokud operace zápisu vytvoří nový objekt blob, výsledný objekt blob je aktuální verzí objektu blob. Pokud operace zápisu upraví existující objekt blob, stane se aktuální verze předchozí verzí a vytvoří se nová aktuální verze pro zachycení aktualizovaného objektu blob.
Následující diagram znázorňuje, jak operace zápisu ovlivňují verze objektů blob. Pro zjednodušení diagramy uvedené v tomto článku zobrazují ID verze jako jednoduchou celočíselnou hodnotu. Ve skutečnosti je ID verze časové razítko. Aktuální verze je zobrazená modře a předchozí verze jsou zobrazeny šedě.
Diagram, který znázorňuje, jak operace zápisu ovlivňují verzované blob objekty.
Poznámka:
Objekt blob vytvořený před povolením správy verzí pro účet úložiště nemá ID verze. Po úpravě tohoto objektu blob se upravený objekt blob stane aktuální verzí a vytvoří se verze pro uložení stavu objektu blob před aktualizací. Verze je přiřazena ID verze, která je jejím časem vytvoření.
Pokud je pro účet úložiště povoleno verzování objektů blob, všechny zápisové operace na blokových objektech blob aktivují vytvoření nové verze s výjimkou operace Put Block.
U stránkových a doplňovacích blobů spustí vytvoření verze pouze podmnožina operací zápisu. Mezi tyto operace patří:
Následující operace neaktivují vytvoření nové verze. Pokud chcete zachytit změny z těchto operací, pořiďte ruční snímek:
- Vložit stránku (objekt blob stránky)
- Doplňovací blok (doplňovací objekt blob)
Všechny verze objektu blob musí mít stejný typ. Pokud má objekt blob předchozí verze, nemůžete ho přepsat objektem jiného typu, dokud ho neodstraníte včetně všech jeho verzí.
Správa verzí při operacích odstranění
Když zavoláte operaci Odstranění objektu blob bez zadání ID verze, stane se aktuální verze předchozí verzí a už neexistuje aktuální verze. Všechny existující předchozí verze objektu blob se zachovají.
Následující diagram znázorňuje dopad operace odstranění na verzovaný blob.
Pokud chcete odstranit konkrétní verzi objektu blob, zadejte ID pro danou verzi operace odstranění. Pokud je pro účet úložiště také povoleno měkké odstranění objektů blob, verze je v systému uchována, dokud neuplyne doba uchovávání pro měkké odstranění.
Zápis nových dat do objektu blob vytvoří novou aktuální verzi objektu blob. Všechny existující verze nejsou ovlivněné, jak je znázorněno v následujícím diagramu.
Úrovně přístupu
Libovolnou verzi objektu blob bloku, včetně aktuální verze, můžete přesunout do jiné úrovně přístupu k objektům blob voláním operace Nastavit úroveň objektu blob. Nižších cen za kapacitu můžete využít přesunutím starších verzí blobu do studené nebo archivní vrstvy. Pro více informací viz Horká, Chladná, Studená a Archivní úroveň přístupu pro data objektů blob.
Chcete-li automatizovat proces přesunu blokových objektů blob do příslušné úrovně, použijte správu životního cyklu blobů. Další informace o správě životního cyklu najdete v tématu Spravování životního cyklu úložiště objektů blob Azure.
Povolení nebo zakázání verzování objektů blob
Informace o povolení nebo zakázání správy verzí objektů blob najdete v tématu Povolení a správa správy verzí objektů blob.
Zakázání správy verzí objektů blob neodstraní existující objekty blob, verze ani snímky. Když vypnete správu verzí objektů blob, všechny existující verze zůstanou ve vašem účtu úložiště přístupné. Následně se nevytvořily žádné nové verze.
Po zakázání správy verzí vytvoří úprava aktuální verze objekt blob, který není verzí. Všechny následné aktualizace objektu blob přepíšou svá data bez uložení předchozího stavu. Všechny existující verze se uchovávají jako předchozí verze.
Po zakázání správy verzí můžete číst nebo odstraňovat verze pomocí ID verze. Po zakázání správy verzí můžete také zobrazit seznam verzí objektu blob.
Replikace objektů spoléhá na verzování objektů blob. Než budete moct zakázat verzování objektů blob, musíte odstranit všechny zásady replikace objektů v účtu. Další informace o replikaci objektů naleznete v tématu Replikace objektů pro blokové blob.
Následující diagram ukazuje, jak úprava objektu blob po zakázání správy verzí vytvoří objekt blob, který není ve verzi. Všechny existující verze přidružené k objektu blob se zachovají.
Verze objektů blob a měkké odstranění
Verzování objektů blob a softwarové odstranění objektů blob jsou součástí doporučené konfigurace ochrany dat pro účty úložiště. Další informace o doporučeních Microsoft k ochraně dat najdete v tématu Doporučená konfigurace ochrany dat v tomto článku a Přehled ochrany dat.
Přepsání objektu BLOB
Pokud jsou pro účet úložiště povolené verzování objektů blob i měkké odstranění objektů blob, přepsáním objektu blob se automaticky vytvoří nová verze. Nová verze není soft smazaná a neodstraní se po uplynutí doby uchovávání pro soft smazání. Nejsou vytvořeny žádné měkce odstraněné snímky.
Odstranění objektu blob nebo verze
Pokud je pro účet úložiště povolena správa verzí i jemné odstranění, pak při odstranění objektu blob se aktuální verze objektu blob změní na předchozí verzi. Nevytváří se žádná nová verze a nevytváří se žádné snímky s měkkým odstraněním. Doba uchovávání měkkého odstranění není použitá na odstraněný blob.
Měkké odstranění nabízí další ochranu při odstraňování verzí blobů. Když odstraníte předchozí verzi objektu blob, tato verze se odstraní obnovitelně. Verze soft delete je uchována, dokud nevyprší doba uchování, po jejímž uplynutí je trvale odstraněna.
Pokud chcete odstranit předchozí verzi objektu blob, zavolejte operaci Odstranit objekt blob a zadejte ID verze.
Následující diagram znázorňuje, co se stane, když odstraníte objekt blob nebo verzi objektu blob.
Obnovení soft-smazané verze
Operaci Undelete Blob můžete použít k obnovení verzí měkké smazání během doby uchovávání měkkého smazání. Operace Undelete Blob vždy obnoví všechny softwarově smazané verze objektu blob. Není možné obnovit pouze jednu dočasně odstraněnou verzi.
Obnovení soft-deletovaných verzí pomocí operace Undelete Blob nepovýší žádnou verzi na aktuální. Pokud chcete obnovit aktuální verzi, nejprve obnovte všechny obnovitelně odstraněné verze a pak pomocí operace Kopírovat objekt blob zkopírujte předchozí verzi do nové aktuální verze.
Následující diagram ukazuje, jak obnovit obnovitelně odstraněné verze objektů blob pomocí operace Undelete Blob a jak obnovit aktuální verzi objektu blob pomocí operace Kopírování objektu blob .
Po uplynutí doby uchovávání obnovitelného odstranění se všechny verze obnovitelně odstraněných objektů blob trvale odstraní.
Správa verzí objektů blob a snímky objektů blob
Snímek blobu je kopie blobu jen pro čtení, která se pořizuje v konkrétním okamžiku. Snímky objektů blob a verze objektů blob jsou podobné, ale snímek se vytvoří ručně vámi nebo vaší aplikací, zatímco verze objektu blob se vytvoří automaticky při operaci zápisu nebo odstranění, když je pro váš účet úložiště povolená správa verzí objektů blob.
Důležité
Microsoft doporučuje, abyste po povolení verzování objektů blob také aktualizovali aplikaci tak, aby přestala pořizovat snímky blokových objektů blob. Pokud je pro váš účet úložiště povolená správa verzí, všechny aktualizace a odstranění objektů blob bloku se zachytí a zachovají podle verzí. Pořizování snímků nenabízí žádnou přidanou ochranu dat blokových objektů blob, pokud je povolená správa verzí objektů blob, a může zvýšit náklady i složitost aplikace.
Vytvoření snímku blobu při zapnuté správě verzí
I když se to nedoporučuje, můžete pořídit snímek objektu blob, který je také verzovaný. Pokud nemůžete svou aplikaci aktualizovat tak, aby přestala pořizovat snímky blobů při povolení správy verzí, může vaše aplikace podporovat jak snímky, tak i verze.
Když pořídíte snímek verzovaného bloba, vytvoří se nová verze současně se snímkem. Při pořízení snímku se vytvoří také nová aktuální verze.
Následující diagram ukazuje, co se stane, když pořídíte snímek versionovaného blobu. V diagramu obsahují verze objektů blob a snímky s ID verze 2 a 3 identická data.
Autorizace operací na verzích blobu
Přístup k verzím objektů blob můžete autorizovat pomocí jednoho z následujících přístupů:
- Použitím řízení přístupu na základě role Azure (Azure RBAC) k udělení oprávnění bezpečnostnímu principálu Microsoft Entra. Microsoft doporučuje používat Microsoft Entra ID pro zajištění lepšího zabezpečení a snadného používání. Další informace o použití Microsoft Entra ID s operacemi BLOBu najdete v tématu Autorizace přístupu k datům v Azure Storage.
- Přístup k verzím objektů blob delegujte pomocí sdíleného přístupového podpisu (SAS). Zadejte ID verze podepsaného typu prostředku
bv, který představuje verzi objektu blob, a vytvořte token SAS pro operace s konkrétní verzí. Další informace o sdílených přístupových podpisech najdete v tématu Grant omezený přístup k prostředkům Azure Storage pomocí sdílených přístupových podpisů (SAS). - Pomocí přístupových klíčů účtu k autorizaci operací s verzemi objektů blob se sdíleným klíčem. Další informace najdete v tématu Autorizace se sdíleným klíčem.
Správa verzí objektů blob je navržená tak, aby chránila vaše data před náhodným nebo škodlivým odstraněním. K vylepšení ochrany vyžaduje odstranění verze objektu blob speciální oprávnění. Následující části popisují oprávnění potřebná k odstranění verze objektu blob.
Azure RBAC akce pro smazání verze blobu
Následující tabulka ukazuje, které akce Azure RBAC podporují odstranění blobu nebo jeho verze.
| Popis | Operace služby Blob | Akce s daty RBAC je vyžadována Azure | Azure předdefinovaná podpora rolí |
|---|---|---|---|
| Odstranění aktuální verze | Odstranit blob | Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete | Přispěvatel dat úložiště blobů |
| Odstranění předchozí verze | Odstranit blob | Microsoft.Storage/storageAccounts/blobServices/containers/blobs/deleteBlobVersion/action | Vlastník dat objektů blob úložiště |
Parametry sdíleného přístupového podpisu (SAS)
Podepsaný prostředek pro verzi blobu je bv. Další informace najdete v tématu Vytvoření služby SAS nebo Vytvoření delegace uživatele SAS.
Následující tabulka uvádí oprávnění požadovaná pro SAS k odstranění verze objektu blob.
| Oprávnění | Symbol identifikátoru URI | Povolené operace |
|---|---|---|
| Odstranit | x | Odstraňte verzi objektu blob. |
Ceny a fakturace
Povolení verzování objektů blob může způsobit další poplatky za datové úložiště pro váš účet. Při návrhu aplikace je důležité vědět, jak mohou tyto poplatky nabíhat, abyste mohli minimalizovat náklady.
Verze objektů blob, stejně jako snímky objektů blob, jsou účtovány stejnou sazbou jako aktivní data. Způsob účtování verzí závisí na tom, jestli jste úroveň (tier) explicitně nastavili pro aktuální nebo předchozí verze blobu (nebo snímků). Další informace o úrovních objektů blob najdete v tématu Horká, Chladná, Studená a Archivní úroveň přístupu pro data objektů blob.
Pokud jste nezměnili úroveň objektu blob nebo verze, budou vám účtovány jedinečné bloky dat v rámci daného objektu blob, jeho verzí a všech případných snímků. Další informace naleznete v tématu Vyúčtování, když úroveň blobu nebyla explicitně nastavena.
Pokud jste změnili úroveň objektu blob nebo verze, účtuje se vám celý objekt bez ohledu na to, jestli se objekt blob a verze nakonec znovu nacházejí ve stejné vrstvě. Další informace najdete v tématu Fakturace, pokud je explicitně nastavená úroveň objektu blob.
Poznámka:
Povolení správy verzí dat, která jsou často přepsána, může vést ke zvýšení poplatků za kapacitu úložiště a zvýšení latence během operací výpisu. Pokud chcete tyto obavy zmírnit, ukládejte často přepsaná data do samostatného účtu úložiště se zakázaným správou verzí.
Povolení verzí u účtů úložiště, které se často zálohují, mohou vyvolat poplatky za načítání dat, když jsou verze uložené na chladné nebo studené úrovni přístupu.
Další informace o informacích o fakturaci snímků blobů najdete v oddíle Snímky objektů blob.
Pro účty úložiště, které využívají inteligentní úroveň, jsou verze a snímky účtovány v plné délce obsahu. Další informace najdete v tématu Optimalizace nákladů pomocí inteligentní vrstvy.
Fakturace, když není explicitně nastavena vrstva blobu
Pokud jste explicitně nenastavili úroveň objektu blob pro žádné verze objektu blob, budou vám účtovány poplatky za jedinečné bloky nebo stránky napříč všemi verzemi a za všechny snímky, které může mít. Data sdílená napříč verzemi objektů blob se účtují jenom jednou. Při aktualizaci objektu blob se data v nové aktuální verzi liší od dat uložených v předchozích verzích a na každý blok nebo stránku se účtují jedinečná data.
Když nahradíte blok v rámci blokového blobu, bude tento blok následně účtován jako jedinečný blok. To platí i v případě, že blok má stejné ID bloku a stejná data jako v předchozí verzi. Jakmile se blok znovu potvrdí, liší se od jeho protějšku v předchozí verzi a za jeho data se vám budou účtovat poplatky. Totéž platí pro stránku v objektu blob stránky, který se aktualizuje identickými daty.
Blob Storage nemá způsob, jak určit, jestli dva bloky obsahují identická data. Každý blok, který se nahraje a potvrdí, se považuje za jedinečný, i když má stejná data a stejné ID bloku. Vzhledem k tomu, že poplatky nabíhají za jedinečné bloky, je důležité mít na paměti, že aktualizace objektu blob, když je povoleno verzování, povede k dalším jedinečným blokům a dodatečným poplatkům.
Pokud je povolená správa verzí objektů blob, aktualizujte blokové objekty blob tak, aby se aktualizoval nejmenší možný počet bloků. Operace zápisu, které umožňují jemnou kontrolu nad bloky, jsou Put Block a Put Block List. Operace Put Blob na druhou stranu nahrazuje celý obsah objektu blob, takže může vést k dalším poplatkům.
Následující scénáře ukazují, jak se účtují poplatky za blokový objekt blob a jeho verze, když úroveň vrstvy blob není explicitně nastavena.
Scénář 1
Ve scénáři 1 má objekt blob předchozí verzi. Objekt blob se od vytvoření verze neaktualizoval, takže poplatky jsou účtovány pouze za jedinečné bloky 1, 2 a 3.
Scénář 2
Ve scénáři 2 byl v objektu blob aktualizován jeden blok (blok 3 v diagramu). I když aktualizovaný blok obsahuje stejná data a stejné ID, není stejný jako blok 3 v předchozí verzi. V důsledku toho se účet účtuje za čtyři bloky.
Scénář 3
Ve scénáři 3 se objekt blob aktualizoval, ale verze ne. Blok 3 byl v aktuálním objektu blob nahrazen blokem 4, ale předchozí verze stále odráží blok 3. V důsledku toho se účet účtuje za čtyři bloky.
Scénář 4
Ve scénáři 4 byla aktuální verze zcela aktualizována a neobsahuje žádné z původních bloků. V důsledku toho se účet účtuje za všechny osm jedinečných bloků – čtyři v aktuální verzi a čtyři v kombinaci ve dvou předchozích verzích. K tomuto scénáři může dojít v případě, že zapisujete do objektu blob pomocí operace Put Blob , protože nahrazuje celý obsah objektu blob.
Fakturace, když je explicitně nastavená úroveň blobu
Pokud jste explicitně nastavili úroveň blobu pro blob nebo jeho verzi (nebo snímek), účtují se vám poplatky za celkovou délku obsahu objektu v nové úrovni, bez ohledu na to, zda sdílí bloky s objektem v původní úrovni. Také vám bude účtována celková délka obsahu nejstarší verze v původní kategorii. Za jedinečné bloky, které mohou sdílet, se účtují všechny ostatní předchozí verze nebo snímky, které zůstávají v původní vrstvě, jak je popsáno v části Fakturace, pokud úroveň blobu nebyla explicitně nastavena.
Přesunutí objektu blob na novou vrstvu
Následující tabulka popisuje chování fakturace pro blob nebo verzi při přesunu na novou úroveň.
| Když je nastavená úroveň objektu blob... | Následně vám bude účtováno... |
|---|---|
| Explicitně u verze, zda aktuální či předchozí | Délka celého obsahu této verze. Verze, které nemají explicitně nastavenou úroveň, se účtují jenom za jedinečné bloky.1 |
| Archivace | Délka celého obsahu všech verzí a snímků.1. |
1Pokud existují jiné předchozí verze nebo snímky, které nebyly přesunuty z původní úrovně, budou se tyto verze nebo snímky účtovat na základě počtu jedinečných bloků, které obsahují, jak je popsáno v části Fakturace, pokud nebyla explicitně nastavena úroveň objektu blob.
Následující diagram znázorňuje, jak se účtují objekty, když se verzované bloby přesunou na jinou vrstvu.
Přímé stanovení úrovně pro objekt blob, verzi nebo snímek nelze zrušit. Pokud přesunete objekt blob do nové úrovně a pak ho přesunete zpět na původní úroveň, bude se vám účtovat plná délka obsahu objektu, i když sdílí bloky s ostatními objekty v původní vrstvě.
Operace, které explicitně nastavují úroveň objektu blob, verze nebo snímku, zahrnují:
- Nastavit úroveň Blobu
- Vložte blob se zadanou úrovní
- Umístit seznam bloků se zadanou úrovní
- Zkopírujte objekt blob se zadanou úrovní
Odstranění objektu blob při povoleném měkkém odstranění
Pokud je aktivované měkké smazání objektů blob, budou se všechny měkké smazané entity fakturovat stejnou rychlostí jako živá data. Pokud odstraníte nebo přepíšete aktuální verzi, která má explicitně nastavenou úroveň, budou veškeré předchozí verze měkké odstraněného objektu blob účtovány podle celé velikosti obsahu. Další informace o tom, jak funguje správa verzí objektů blob a obnovitelné odstranění, najdete v tématu Správa verzí objektů blob a obnovitelné odstranění.
Podpora funkcí
Podpora této funkce může být ovlivněna povolením protokolu Data Lake Storage Gen2, systému souborů NFS (Network File System) 3.0 nebo protokolu SSH File Transfer Protocol (SFTP). Pokud jste některou z těchto funkcí povolili, podívejte se na podporu funkcí Blob Storage v účtech Azure Storage a vyhodnoťte podporu této funkce.
Správa verzí není podporovaná pro objekty blob nahrané pomocí rozhraní API Data Lake Storage.
Viz také
- Povolení a správa verzování objektů blob
- Vytvoření snímku objektu blob
- Měkké odstranění objektů blob
- Měkké odstranění kontejnerů