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. Když povolíte verzi blobů, můžete přistupovat ke starším verzím blobu a obnovit data, pokud jsou změněna nebo smazána.
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 zapnutí verzí blobů znamenat vyšší náklady. 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é
Správa verzí objektů blob vám nepomůže obnovit omylem odstraněný účet úložiště ani 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 blobu má jedinečné ID verze. Hodnota ID verze je časové razítko, kdy byl blob aktualizován. Přiřadíte ID verze při vytváření verze.
Konkrétní verzi blobu můžete přečíst nebo smazat pomocí jeho version ID. Pokud nezahrnete ID verze, operace cílí na 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 aktuální verze blobu, kterou zápisová operace vytváří.
ID verze zůstává po celou dobu životnosti verze stejné.
Verzování při zápisových operacích
Když zapnete verzi blobů, každá operace zápisu do blobu vytvoří novou verzi. Mezi operace zápisu patří Put Blob, Put Block List, Copy Blob a Set Blob Metadata.
Pokud zápisová operace vytvoří nový blob, výsledný blob je aktuální verzí blobu. Pokud zápisová operace upraví existující blob, aktuální verze se stane předchozí verzí a nová aktuální verze zachytí aktualizovaný blob.
Následující diagram znázorňuje, jak operace zápisu ovlivňují verze objektů blob. Pro zjednodušení diagramy 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:
Když povolíte verzi blobů pro úložný účet, všechny zápisové operace na blokových bloboch spustí vytvoření nové verze, kromě 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 blobu musí mít stejný typ blob. 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. Operace zachovává všechny existující předchozí verze blobu.
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 také povolíte měkké mazání blobu pro úložný účet, systém si verzi ponechá, dokud nevyprší doba uchovávání měkkého mazání.
Zápis nových dat do objektu blob vytvoří novou aktuální verzi objektu blob. Tato akce neovlivňuje žádné existující verze, jak je znázorněno na 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. Přesunem starších verzí blobu do cool nebo archivní úrovně můžete využít nižší ceny kapacity. Pro více informací viz Horká, Chladná, Studená a Archivní úroveň přístupu pro data objektů blob.
Pro automatizaci přesunu blokových blobů na příslušnou úroveň použijte správu životního cyklu blobů. Pro více informací o řízení životního cyklu viz Správa životního cyklu úložiště Azure Blob.
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.
Verze můžete číst nebo mazat pomocí ID verze po deaktivaci verzování. 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 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 povolíte verzování a softwarové mazání pro úložný účet, při mazání blobu se aktuální verze blobu stane předchozí. Operace nevytváří novou verzi ani obnovitelně odstraněné snímky. Doba uchovávání pro soft delete se na odstraněný objekt blob nevztahuje.
Soft delete poskytuje dodatečnou ochranu při mazání blob verzí. Když smažete předchozí verzi blobu, ta verze je měkko smazána. Verze označená k odstranění se zachová až do konce doby uchování pro odstranění bez trvalého smazání a poté 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. Nemůžete obnovit jen jednu soft-deleted verzi.
Obnovení softwarově smazaných verzí pomocí operace Undelete Blob nepropaguje žádnou verzi jako aktuální verzi. 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 soft-deleted verze blobů pomocí operace Undelete Blob a jak obnovit aktuální verzi blobu pomocí operace Copy Blob .
Po skončení doby uchovávání po obnovitelném odstranění jsou všechny verze blobů odstraněné obnovitelným odstraněním trvale smazány.
Správa verzí objektů blob a snímky objektů blob
Snapshot blobu je kopie blobu pouze pro čtení, pořízená v určitém okamžiku. Snapshoty a verze blobov jsou podobné, ale vy nebo vaše aplikace vytváříte snapshot ručně, zatímco verze blobu se automaticky vytvoří během operace zápisu nebo mazání, když povolíte verzi blob pro váš úložný účet.
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 povolíte verzování pro svůj úložný účet, zachytí a uchová všechny aktualizace a mazání blokových blobů pomocí verzí. Pořizování snapshotů neposkytuje žádnou další ochranu vašim datům blokových blobů, pokud je povoleno verzování blobů, a může to zvýšit náklady a složitost aplikací.
Vytvoření snímku blobu při zapnuté správě verzí
Přestože se to nedoporučuje, můžete vytvořit snímek blobu, pro který je také povolené verzování. 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 verze blobu, vytvoříte novou verzi současně s vytvořením snímku. Také vytvoříte novou aktuální verzi, když pořídíte snapshot.
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 blobů můžete autorizovat jedním z následujících přístupů:
- Použijte Azure role-based access control (Azure RBAC) k udělení oprávnění Microsoft Entra security principalovi. 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.
- K delegování přístupu k verzím objektů blob použijte podpis sdíleného přístupu (SAS). Zadejte ID verze pro podepsaný typ prostředku
bv, který představuje verzi objektu blob, aby bylo možné vytvořit 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). - Použijte přístupové klíče k účtu k autorizaci operací proti verzím blobů pomocí sdíleného klíče. 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í správy verzí objektů blob může na vašem účtu vést k dodatečným poplatkům za ukládání dat. Při navrhování aplikace si uvědomte, jak se tyto náklady mohou nahromadit, abyste mohli náklady minimalizovat.
Verze objektů blob, stejně jako snímky objektů blob, jsou účtovány stejnou sazbou jako aktivní data. Jak platíte za verze, závisí na tom, jestli jste explicitně nastavili úroveň pro aktuální nebo předchozí verze blobu (nebo snapshotů). Další informace o úrovních objektů blob najdete v tématu Horká, Chladná, Studená a Archivní úroveň přístupu pro data objektů blob.
Pokud nezměníte úroveň blobu nebo verze, platíte za unikátní bloky dat napříč tímto blobem, jeho verzemi a případnými snímky, které může mít. Další informace najdete v článku Fakturace, když úroveň objektu blob není výslovně nastavena.
Pokud změníte úroveň blobu nebo verze, platíte za celý objekt, bez ohledu na to, jestli jsou blob a verze nakonec opět ve stejné úrovni. Další informace najdete v článku Fakturace při explicitním nastavení úrovně objektu blob.
Poznámka:
Povolení verzování dat, která jsou často přepisována, může zvýšit náklady na kapacitu úložiště a zvýšit latenci během operací s výpisem. 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.
U úložných účtů, které používají smart tier, platíte za verze a snímky v plné délce obsahu. Další informace najdete v tématu Optimalizace nákladů pomocí inteligentní vrstvy.
Účtování, když explicitně nenastavíte úroveň objektu blob
Pokud explicitně nenastavíte úroveň blobů pro žádnou verzi blobu, platíte za unikátní bloky nebo stránky napříč všemi verzemi a za případné snapshoty, které by mohl mít. Za sdílená data napříč blob verzemi platíte jen jednou. Když aktualizujete blob, data v nové aktuální verzi se liší od dat uložených v předchozích verzích a platíte za unikátní data na blok nebo stránku.
Když vyměníte blok uvnitř bloku, platíte za něj jako za unikátní blok. Toto pravidlo platí i v případě, že blok má stejné ID bloku a stejná data jako v předchozí verzi. Když blok znovu uložíte, začne se lišit od svého protějšku v předchozí verzi a platíte za jeho data. Stejné pravidlo platí pro stránku v blobu stránky, kterou aktualizujete s identickými daty.
Ukládání blobov nemá způsob, jak zjistit, zda dva bloky obsahují identická data. Každý blok, který nahrajete a commitujete, je považován za unikátní, i když má stejná data a stejné ID bloku. Protože platíte za unikátní bloky, mějte na paměti, že aktualizace blobu při zapnutí verzování znamená více unikátních bloků a další poplatky.
Když povolíte verzi blobů, vyvolejte aktualizační operace blokových blobů tak, aby aktualizovaly co nejméně bloků. Operace zápisu, které umožňují jemnou kontrolu nad bloky, jsou Put Block a Put Block List. Operace Put Blob naopak nahrazuje celý obsah blobu, a může tedy vést k dalším poplatkům.
Následující scénáře ukazují, jak se účtují poplatky za blokový blob a jeho verze, pokud explicitně nenastavíte úroveň blobu.
Scénář 1
Ve scénáři 1 má objekt blob předchozí verzi. Blob není aktualizován od vytvoření verze, takže se účtují pouze za unikátní bloky 1, 2 a 3.
Scénář 2
Ve scénáři 2 aktualizujete jeden blok (blok 3 v diagramu) v blobu. I když aktualizovaný blok obsahuje stejná data a stejné ID, není stejný jako blok 3 v předchozí verzi. Výsledkem je, že platíte za čtyři bloky.
Scénář 3
Ve scénáři 3 aktualizujete blob, ale neaktualizujete verzi. V současné blobové verzi nahradíte blok 3 blokem 4, ale předchozí verze stále odráží blok 3. Výsledkem je, že platíte za čtyři bloky.
Scénář 4
Ve scénáři 4 kompletně aktualizujete aktuální verzi a neobsahuje žádné z původních bloků. Výsledkem je, že platíte za všech osm unikátních bloků – čtyři v aktuální verzi a čtyři dohromady ve dvou předchozích verzích. Tento scénář může nastat, pokud zapisujete do blobu pomocí operace Put Blob , protože nahrazuje celý obsah blobu.
Fakturace, když je úroveň blobu explicitně nastavena
Pokud explicitně nastavíte úroveň blobu pro blob, verzi nebo snapshot, platíte za celou délku obsahu objektu v nové úrovni, i když sdílí bloky s objektem v původní úrovni. Platíte také za celý rozsah obsahu nejstarší verze v původní úrovni. U ostatních předchozích verzí nebo snapshotů, které zůstávají v původní úrovni, platíte za unikátní bloky, které sdílejí, jak je popsáno v Fakturaci, pokud úroveň blobu není 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 do nové úrovně.
| Když nastavíš úroveň 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 snapshoty, které jste nepřesunuli z původní úrovně, tyto verze nebo snímky se účtují podle počtu unikátních bloků, které obsahují, jak je popsáno v Fakturaci, když úroveň blobu není explicitně nastavena.
Následující diagram znázorňuje, jak se účtují objekty, když se verzované bloby přesunou na jinou vrstvu.
Explicitní nastavení úrovně pro blob, verzi nebo snapshot nelze zvrátit. Pokud přesunete blob do nové úrovně a pak ho vrátíte zpět do původní úrovně, platíte za celou délku obsahu objektu, i když sdílí bloky s jinými objekty v původní úrovni.
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í
Když povolíte měkké mazání blobů, platíte za všechny měkké smazané entity stejnou sazbou jako živá data. Pokud smažete nebo přepište aktuální verzi, která má explicitně nastavenou úroveň, platíte za všechny předchozí verze soft-deleted blobu v plné délce 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.
Verze nejsou podporovány u blobů, které nahráváte pomocí Data Lake Storage API.
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ů