Sdílet prostřednictvím


Pořízení snímku objektu blob

Operace Snapshot Blob vytvoří snímek objektu blob jen pro čtení.

Žádost

Požadavek můžete sestavit Snapshot Blob následujícím způsobem. Doporučuje se https. Nahraďte myaccount názvem vašeho účtu úložiště:

Identifikátor URI požadavku metody PUT Verze PROTOKOLU HTTP
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=snapshot HTTP/1.1

Identifikátor URI služby emulovaného úložiště

Když vytvoříte požadavek na službu emulovaného úložiště, zadejte název hostitele emulátoru a Azure Blob Storage port jako 127.0.0.1:10000a za ním název emulovaného účtu:

Identifikátor URI požadavku metody PUT Verze PROTOKOLU HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=snapshot HTTP/1.1

Další informace najdete v tématu Použití emulátoru Azurite pro vývoj v místním úložišti Azure Storage.

Parametry identifikátoru URI

V identifikátoru URI požadavku můžete zadat následující další parametr.

Parametr Popis
timeout Nepovinný parametr. Parametr se timeout vyjadřuje v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace služby Blob Storage.

Hlavičky požadavku

Následující tabulka popisuje požadované a volitelné hlavičky požadavků.

Hlavička požadavku Popis
Authorization Povinná hodnota. Určuje schéma autorizace, název účtu a podpis. Další informace najdete v tématu Autorizace požadavků do služby Azure Storage.
Date nebo x-ms-date Povinná hodnota. Určuje formát UTC (Coordinated Universal Time). Další informace najdete v tématu Autorizace požadavků do služby Azure Storage.
x-ms-version Vyžaduje se pro všechny autorizované žádosti. Určuje verzi operace, která se má pro tento požadavek použít. Další informace najdete v tématu Správa verzí pro služby Azure Storage.
x-ms-meta-name:value Nepovinný parametr. Určuje uživatelsky definovanou dvojici název-hodnota přidruženou k objektu blob. Pokud nezadáte žádné páry název-hodnota, operace zkopíruje základní metadata objektu blob do snímku. Pokud zadáte jednu nebo více dvojic název-hodnota, vytvoří se snímek se zadanými metadaty a metadata se ze základního objektu blob nezkopírují.

Všimněte si, že od verze 2009-09-19 musí názvy metadat dodržovat pravidla pojmenování pro identifikátory jazyka C#. Další informace najdete v tématu Pojmenování kontejnerů, objektů blob a metadat a odkazování na nich.
If-Modified-Since Nepovinný parametr. Hodnota DateTime . Tuto podmíněnou hlavičku zadejte, pokud chcete pořídit snímek objektu blob, pouze pokud byl od zadaného data a času změněn. Pokud se základní objekt blob nezměnil, vrátí Blob Storage stavový kód 412 (Předběžná podmínka se nezdařila).
If-Unmodified-Since Nepovinný parametr. Hodnota DateTime . Tuto podmíněnou hlavičku zadejte, pokud chcete pořídit snímek objektu blob jenom v případě, že se od zadaného data a času nezměnil. Pokud došlo ke změně základního objektu blob, služba Blob Storage vrátí stavový kód 412 (Předběžná podmínka selhala).
If-Match Nepovinný parametr. Hodnota ETag . ETag Zadejte hodnotu pro tuto podmíněnou hlavičku, která pořídí snímek objektu blob, pouze pokud jeho ETag hodnota odpovídá zadané hodnotě. Pokud se hodnoty neshodovaly, vrátí Blob Storage stavový kód 412 (Předběžná podmínka se nezdařila).
If-None-Match Nepovinný parametr. Hodnota ETag .

ETag Zadejte hodnotu pro tuto podmíněnou hlavičku, která pořídí snímek objektu blob, pouze pokud jeho ETag hodnota neodpovídá zadané hodnotě. Pokud jsou hodnoty identické, blob Storage vrátí stavový kód 412 (Předběžná podmínka se nezdařila).
x-ms-encryption-scope Nepovinný parametr. Určuje obor šifrování, který se má použít k zašifrování obsahu požadavku. Tato hlavička je podporovaná ve verzi 2019-02-02 a novějších.
x-ms-lease-id:<ID> Nepovinný parametr. Pokud zadáte tuto hlavičku, operace se provede pouze v případě, že jsou splněny obě následující podmínky:

– Zapůjčení objektu blob je aktuálně aktivní.
– ID zapůjčení zadané v požadavku odpovídá ID objektu blob.

Pokud je tato hlavička zadána a není splněna kterákoliv z těchto podmínek, požadavek selže. Operace Snapshot Blob selže se stavovým kódem 412 (Předběžná podmínka se nezdařila).
x-ms-client-request-id Nepovinný parametr. Poskytuje klientem vygenerovanou neprůselnou hodnotu s limitem počtu znaků 1 kibibajt (KiB), který je zaznamenán v protokolech při konfiguraci protokolování. Důrazně doporučujeme použít tuto hlavičku ke korelaci aktivit na straně klienta s požadavky, které server přijímá. Další informace najdete v tématu Monitorování Azure Blob Storage.

Tato operace také podporuje použití podmíněných hlaviček ke spuštění operace, pouze pokud je splněna zadaná podmínka. Další informace najdete v tématu Určení podmíněných hlaviček pro operace služby Blob Storage.

Hlavičky požadavku (šifrovací klíče poskytnuté zákazníkem)

Od verze 2019-02-02 můžete v požadavku na šifrování objektu blob pomocí klíče poskytnutého zákazníkem zadat následující hlavičky. Šifrování pomocí klíče poskytnutého zákazníkem (a odpovídající sady hlaviček) je volitelné. Pokud se objekt blob dříve zašifroval pomocí klíče poskytnutého zákazníkem, musí být tyto hlavičky zahrnuty do požadavku, aby se operace čtení úspěšně dokončila.

Hlavička požadavku Popis
x-ms-encryption-key Povinná hodnota. Šifrovací klíč AES-256 s kódováním Base64.
x-ms-encryption-key-sha256 Povinná hodnota. Hodnota hash SHA256 s kódováním Base64 šifrovacího klíče.
x-ms-encryption-algorithm: AES256 Povinná hodnota. Určuje algoritmus, který se má použít k šifrování. Hodnota této hlavičky musí být AES256.

Text požadavku

Žádné

Odpověď

Odpověď obsahuje stavový kód HTTP a sadu hlaviček odpovědi.

Stavový kód

Úspěšná operace vrátí stavový kód 201 (Vytvořeno). Informace o stavových kódech najdete v tématu Stavové kódy a kódy chyb.

Hlavičky odpovědi

Odpověď na tuto operaci obsahuje následující hlavičky. Odpověď může také obsahovat další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.

Syntax Description
x-ms-snapshot: <DateTime> DateTime Vrátí hodnotu, která jednoznačně identifikuje snímek. Hodnota této hlavičky označuje verzi snímku a můžete ji použít v následných požadavcích na přístup k snímku. Všimněte si, že tato hodnota je neprůselná.
ETag Snímek ETag . Pokud je verze požadavku 2011-08-18 nebo novější, ETag hodnota bude v uvozovkách. Všimněte si, že snímek nejde zapsat do, takže se ETag nikdy nezmění konkrétní snímek. Snímek se ale bude lišit od základního objektu blob, ETag pokud jsou spolu s Snaphot Blob požadavkem dodána nová metadata. Pokud v požadavku nejsou zadána žádná metadata, ETag snímek bude stejný jako základní objekt blob v době pořízení snímku.
Last-Modified Čas poslední změny snímku. Další informace najdete v tématu Reprezentace hodnot data a času v záhlavích.

Všimněte si, že snímek nejde zapsat do, takže čas poslední změny konkrétního snímku se nikdy nezmění. Čas poslední změny snímku se ale bude lišit od času základního objektu blob, pokud jsou spolu s požadavkem dodána Snaphot Blob nová metadata. Pokud v požadavku nejsou zadána žádná metadata, bude čas poslední změny snímku stejný jako čas základního objektu blob v době pořízení snímku.
x-ms-request-id Jednoznačně identifikuje požadavek, který byl proveden, a lze ho použít k řešení potíží s požadavkem. Další informace najdete v tématu Řešení potíží s operacemi rozhraní API.
x-ms-version Označuje verzi služby Blob Storage, která se použila ke spuštění požadavku. Tato hlavička se vrátí pro požadavky provedené ve verzi 2009-09-19 a novější.
Date Hodnota data a času UTC, která označuje čas, kdy byla odpověď zahájena. Tato služba vygeneruje tuto hodnotu.
x-ms-request-server-encrypted: true/false Verze 2019-02-02 nebo novější. Hodnota této hlavičky je nastavena na truehodnotu , pokud je obsah požadavku úspěšně zašifrován pomocí zadaného algoritmu. V opačném případě je hodnota nastavena na falsehodnotu .
x-ms-encryption-key-sha256 Verze 2019-02-02 nebo novější. Vráceno, pokud žádost použila k šifrování klíč poskytnutý zákazníkem. Klient může zajistit, aby byl obsah požadavku úspěšně zašifrován pomocí zadaného klíče.
x-ms-encryption-scope Verze 2019-02-02 nebo novější. Vráceno, pokud požadavek používal obor šifrování. Klient může zajistit, aby byl obsah požadavku úspěšně zašifrován pomocí oboru šifrování.
x-ms-version-id: <DateTime> Verze 2019-12-12 a novější. Vrátí neprůselnou DateTime hodnotu, která jednoznačně identifikuje objekt blob. Hodnota této hlavičky označuje verzi objektu blob a můžete ji použít v následných požadavcích na přístup k objektu blob.
x-ms-client-request-id Dá se použít k řešení potíží s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě x-ms-client-request-id hlavičky, pokud je v požadavku. Hodnota je maximálně 1 024 viditelných znaků ASCII. Pokud hlavička x-ms-client-request-id v požadavku není, nebude v odpovědi.

Text odpovědi

Žádné

Autorizace

Při volání jakékoli operace přístupu k datům ve službě Azure Storage se vyžaduje autorizace. Operaci můžete autorizovat, Snapshot Blob jak je popsáno níže.

Důležité

Microsoft doporučuje používat Microsoft Entra ID se spravovanými identitami k autorizaci požadavků do služby Azure Storage. Microsoft Entra ID ve srovnání s autorizací sdíleného klíče poskytuje vynikající zabezpečení a snadné použití.

Azure Storage podporuje autorizaci požadavků na data objektů blob pomocí Microsoft Entra ID. S Microsoft Entra ID můžete pomocí řízení přístupu na základě role v Azure (Azure RBAC) udělit oprávnění k objektu zabezpečení. Objektem zabezpečení může být uživatel, skupina, instanční objekt aplikace nebo spravovaná identita Azure. Objekt zabezpečení je ověřen Microsoft Entra ID, aby vrátil token OAuth 2.0. Token se pak dá použít k autorizaci požadavku na službu Blob Service.

Další informace o autorizaci pomocí Microsoft Entra ID najdete v tématu Autorizace přístupu k objektům blob pomocí Microsoft Entra ID.

Oprávnění

Níže jsou uvedené akce RBAC potřebné k volání operace Microsoft Entra uživatele, skupiny, spravované identity nebo instančního objektu Snapshot Blob a nejméně privilegované integrované role Azure RBAC, která zahrnuje tuto akci:

Další informace o přiřazování rolí pomocí Azure RBAC najdete v tématu Přiřazení role Azure pro přístup k datům objektů blob.

Poznámky

Snímky poskytují verze objektů blob jen pro čtení. Po vytvoření snímku ho můžete číst, kopírovat nebo odstraňovat, ale nemůžete ho upravovat.

Snímek poskytuje pohodlný způsob zálohování dat objektů blob. Snímek můžete použít k obnovení objektu blob do starší verze voláním funkce Kopírovat objekt blob a přepsat základní objekt blob jeho snímkem.

Při vytváření snímku vrátí DateTime Blob Storage hodnotu, která jednoznačně identifikuje snímek vzhledem k jeho základnímu objektu blob. Tuto hodnotu můžete použít k provádění dalších operací se snímkem. Všimněte si, že tuto DateTime hodnotu byste měli považovat za neprůselnou.

Hodnota DateTime identifikuje snímek v identifikátoru URI. Například základní objekt blob a jeho snímky mají identifikátory URI podobné následujícímu:

  • Základní objekt blob: http://myaccount.blob.core.windows.net/mycontainer/myblob

  • Snímek: http://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Všimněte si, že při každém volání Snapshot Blob operace vytvoříte nový snímek s jedinečnou DateTime hodnotou. Objekt blob může podporovat libovolný počet snímků. Existující snímky se nikdy nepřepíšou. Explicitně je odstraníte voláním odstranit objekt blob a nastavením x-ms-include-snapshots hlavičky na příslušnou hodnotu.

Úspěšné volání Snapshot Blob vrátí DateTime hodnotu v hlavičce x-ms-snapshot odpovědi. Tuto DateTime hodnotu pak můžete použít k provádění operací čtení, odstranění nebo kopírování v konkrétní verzi snímku. Za názvem objektu blob můžete volat libovolnou ?snapshot=<DateTime> operaci Blob Storage, která je platná pro snímek.

Při vytváření snímku objektu blob se do snímku zkopírují následující systémové vlastnosti se stejnými hodnotami:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • x-ms-blob-sequence-number (jenom pro objekty blob stránky)

  • x-ms-blob-committed-block-count (pouze pro doplňovací objekty blob)

  • x-ms-copy-id (verze 2012-02-12 a novější)

  • x-ms-copy-status (verze 2012-02-12 a novější)

  • x-ms-copy-source (verze 2012-02-12 a novější)

  • x-ms-copy-progress (verze 2012-02-12 a novější)

  • x-ms-copy-completion-time (verze 2012-02-12 a novější)

  • x-ms-copy-status-description (verze 2012-02-12 a novější)

Seznam potvrzených bloků základního objektu blob se také zkopíruje do snímku, pokud je objekt blob bloku. Žádné nepotvrzené bloky se nekopírují.

Objekt blob snímku má vždy stejnou velikost jako základní objekt blob v době pořízení snímku. Hodnota hlavičky Content-Length pro objekt blob snímku bude stejná jako pro základní objekt blob.

Můžete zadat jednu nebo více nových hodnot metadat pro snímek zadáním hlavičky x-ms-meta-name:value v požadavku. Pokud tato hlavička není zadaná, metadata přidružená k základnímu objektu blob se zkopírují do snímku.

Všechny značky přidružené k základnímu objektu blob se zkopírují do snímku. Pro snímek není možné nastavit nové hodnoty značek.

Podmíněné hlavičky pro požadavek můžete zadat tak, aby se snímek objektu blob pořídí pouze v případě, že je splněna podmínka. Pokud není zadaná podmínka splněná, snímek se nevytvořil. Služba vrátí stavový kód 412 (Předběžná podmínka selhala) spolu s dalšími informacemi o chybě o nesplněné podmínce.

Pokud má základní objekt blob aktivní zapůjčení, můžete pořídit snímek objektu blob za předpokladu, že požadavek splňuje některou z následujících podmínek:

  • Zadá se podmíněná x-ms-lease-id hlavička a v požadavku se zahrne ID aktivního zapůjčení základního objektu blob. Tato podmínka určuje, že se snímek vytvoří jenom v případě, že je zapůjčení aktivní a zadané ID zapůjčení odpovídá objektu blob.

  • Hlavička x-ms-lease-id není vůbec zadána, v takovém případě se zapůjčení výhradního zápisu ignoruje.

Všimněte si, že zapůjčení přidružené k základnímu objektu blob se do snímku nezkopíruje. Snímky se nedají zapůjčením.

Při kopírování základního objektu blob pomocí operace Kopírování objektu blob se do cílového objektu blob nezkopírují žádné snímky základního objektu blob. Když se cílový objekt blob přepíše kopií, všechny snímky přidružené k cílovému objektu blob zůstanou pod jeho názvem nedotčené.

Pokud chcete obnovit starší verzi objektu blob, můžete zkopírovat snímek objektu blob přes základní objekt blob. Snímek zůstane, ale základní objekt blob se přepíše kopií, která se dá číst i zapisovat.

Poznámka

Zvýšení úrovně snímku neúčtuje další poplatky za prostředky úložiště. Důvodem je to, že se bloky nebo stránky sdílejí mezi snímkem a základním objektem blob.

Na snímku můžete nastavit úroveň objektů blob, počínaje verzí REST 2019-12-12. Pokud je úroveň nastavená v kořenovém objektu blob, všechny snímky dědí vrstvu ze základního objektu blob. Pořízení snímku archivovaného objektu blob se nezdaří. Explicitní nastavení vrstvy objektu vede k fakturaci za celou velikost objektu. Pořízení snímku objektu blob, který má nastavenou úroveň, má za následek úplné účtování kopie kořenového objektu blob a snímku. Podrobné informace o vrstvení na úrovni objektů blob bloku najdete v tématu Horká, studená a archivní vrstva úložiště.

Mezi účty Azure Premium Storage a účty úložiště úrovně Standard existují z hlediska snímků několik rozdílů:

  • Počet snímků na objekt blob stránky v účtu Premium Storage je omezený na 100. Pokud je tento limit překročen, Snapshot Blob vrátí operace kód chyby 409 (Počet snímků byl překročen).

  • Snímek objektu blob stránky v účtu Premium Storage můžete pořídit jednou za deset minut. Pokud je tato rychlost překročena Snapshot Blob , vrátí operace kód chyby 409 (Překročení rychlosti operace snímku).

  • Pomocí možnosti Získat objekt blob nemůžete číst snímek objektu blob stránky v účtu Premium Storage. V takovém případě služba vrátí kód chyby 400 (neplatná operace). Pro snímek ale můžete volat funkce Get Blob Properties (Získat vlastnosti objektu blob) a Get Blob Metadata (Získat metadata objektu blob ).

    Pokud chcete přečíst snímek, můžete pomocí operace Kopírování objektu blob zkopírovat snímek do jiného objektu blob stránky v účtu. Cílový objekt blob pro operaci kopírování nesmí mít žádné existující snímky. Pokud cílový objekt blob obsahuje snímky, Copy Blob vrátí kód chyby 409 (SnapshotsPresent).

Další informace najdete v tématu Použití operací služby Blob Storage s Azure Premium Storage.

Pokud je povolená správa verzí, vytvoření snímku objektu blob také vygeneruje novou verzi a uloží předchozí verzi základního objektu blob. Parametr x-ms-version-id vrátí neprůselnou DateTime hodnotu pro novou verzi objektu blob.

Fakturace

Žádosti o ceny můžou pocházet od klientů, kteří používají rozhraní BLOB Storage API, a to buď přímo prostřednictvím rozhraní REST API služby Blob Storage, nebo z klientské knihovny Služby Azure Storage. Tyto požadavky načítají poplatky za transakci. Typ transakce ovlivňuje způsob účtování poplatku za účet. Například transakce čtení se načítají do jiné kategorie fakturace než transakce zápisu. Následující tabulka ukazuje kategorii fakturace pro Snapshot Blob žádosti založené na typu účtu úložiště:

Operace Typ účtu úložiště Kategorie fakturace
Pořízení snímku objektu blob Objekt blob bloku úrovně Premium
Standard pro obecné účely v2
Standard pro obecné účely v1
Operace čtení

Informace o cenách pro zadanou kategorii fakturace najdete v tématu Azure Blob Storage Ceny.

Viz také

Vytvoření snímku objektu blob

Autorizace žádostí do Služby Azure Storage

Stavové kódy a kódy chyb

Kódy chyb služby Blob Storage