Zkopírování objektu blob

Operace Copy Blob zkopíruje objekt blob do cíle v rámci účtu úložiště.

Ve verzi 12. 2. 2012 a novější může být zdrojem operace kopírování objektů blob potvrzený objekt blob v libovolném účtu úložiště Azure.

Počínaje verzí 21. 2. 2015 může být zdrojem operace soubor Azure v libovolném Copy Blob účtu úložiště Azure.

Poznámka

Pouze účty úložiště vytvořené 7. června 2012 nebo po jeho vytvoření umožňují operaci kopírovat Copy Blob z jiného účtu úložiště.

Žádost

Požadavek Copy Blob lze zkonstruovat následujícím způsobem. Doporučuje se protokol HTTPS. Nahraďte názvem vašeho účtu úložiště, názvem kontejneru a názvem myaccount mycontainer myblob cílového objektu blob.

Počínaje verzí 2013-08-15 můžete pro cílový objekt blob zadat sdílený přístupový podpis, pokud je ve stejném účtu jako zdrojový objekt blob. Počínaje verzí 2015-04-05 můžete také zadat sdílený přístupový podpis pro cílový objekt blob, pokud se nachází v jiném účtu úložiště.

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

Emulovaný identifikátor URI služby úložiště

Při vytváření požadavku na emulovanou službu úložiště zadejte název hostitele emulátoru a Blob service jako a za ním 127.0.0.1:10000 emulovaný název účtu úložiště:

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

Další informace najdete v tématu Použití Azure Storage Emulator pro vývoj a testování.

Parametry identifikátoru URI

V identifikátoru URI požadavku je možné zadat následující další parametry.

Parametr Popis
timeout Nepovinný parametr. Parametr timeout je vyjádřen v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace služby Blob Service.

Hlavičky požadavku

Následující tabulka popisuje povinné a volitelné hlavičky požadavku.

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ů na 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ů na Azure Storage.
x-ms-version Vyžaduje se pro všechny autorizované žádosti. Další informace najdete v tématu o verzích pro Azure Storage Services.
x-ms-meta-name:value Nepovinný parametr. Určuje uživatelsky definovaný pár název-hodnota přidružený k objektu blob. Pokud nejsou zadané žádné páry název-hodnota, operace zkopíruje metadata ze zdrojového objektu blob nebo souboru do cílového objektu blob. Pokud je zadaný jeden nebo více párů název-hodnota, vytvoří se cílový objekt blob se zadanými metadaty a metadata se nekopírují ze zdrojového objektu blob nebo souboru.

Všimněte si, že počínaje verzí 2009-09-19 musí názvy metadat dodržovat pravidla pojmenování pro identifikátory jazyka C#. Další informace najdete v tématu Názvy kontejnerů, objektů blob a metadat a odkazování na tyto kontejnery.
x-ms-tags Nepovinný parametr. Nastaví dané značky zakódované do řetězce dotazu pro objekt blob. Značky se nekopírují ze zdroje kopírování. Další informace najdete v poznámkách. Podporováno ve verzi 12. 12. 2019 a novější.
x-ms-source-if-modified-since Nepovinný parametr. DateTimeHodnota. Tuto podmíněnou hlavičku zadejte, aby se objekt blob zkopírovaný jenom v případě, že se zdrojový objekt blob od zadaného data a času změnil. Pokud se zdrojový objekt blob neupravil, Blob service stavový kód 412 (předběžná podmínka selhala). Tuto hlavičku nelze zadat, pokud je zdrojem soubor Azure.
x-ms-source-if-unmodified-since Nepovinný parametr. DateTimeHodnota. Tuto podmíněnou hlavičku zadejte, pokud chcete objekt blob zkopírovat jenom v případě, že se zdrojový objekt blob od zadaného data a času neupravil. Pokud se zdrojový objekt blob změnil, Blob service stavový kód 412 (předběžná podmínka selhala). Tuto hlavičku nelze zadat, pokud je zdrojem soubor Azure.
x-ms-source-if-match Nepovinný parametr. Hodnota ETag Tuto podmíněnou hlavičku zadejte, pokud chcete zdrojový objekt blob zkopírovat jenom v případě, že jeho ETag odpovídá zadané hodnotě. Pokud se hodnoty ETag neshodují, Blob service stavový kód 412 (Předběžná podmínka selhala). Tuto hlavičku nelze zadat, pokud je zdrojem soubor Azure.
x-ms-source-if-none-match Nepovinný parametr. Hodnota ETag Tuto podmíněnou hlavičku zadejte, pokud chcete objekt blob zkopírovat jenom v případě, že jeho ETag neodpovídá zadané hodnotě. Pokud jsou hodnoty identické, Blob service stavový kód 412 (Předběžná podmínka selhala). Tuto hlavičku nelze zadat, pokud je zdrojem soubor Azure.
If-Modified-Since Nepovinný parametr. DateTimeHodnota. Zadejte tuto podmíněnou hlavičku, aby se objekt blob zkopírovaný jenom v případě, že se cílový objekt blob od zadaného data a času změnil. Pokud cílový objekt blob nebyl změněn, Blob service stavový kód 412 (předběžná podmínka selhala).
If-Unmodified-Since Nepovinný parametr. DateTimeHodnota. Zadejte tuto podmíněnou hlavičku, aby se objekt blob zkopírovaný jenom v případě, že se cílový objekt blob od zadaného data a času neupravil. Pokud se cílový objekt blob změnil, Blob service stavový kód 412 (Předběžná podmínka selhala).
If-Match Nepovinný parametr. Hodnota ETag Zadejte hodnotu ETag pro tuto podmíněnou hlavičku, aby se objekt blob zkopíroval jenom v případě, že zadaná hodnota ETag odpovídá hodnotě ETag existujícího cílového objektu blob. Pokud se ETag cílového objektu blob neshoduje se zadanou Ztagem ETag pro , Blob service stavový kód If-Match 412 (Předběžná podmínka selhala).
If-None-Match Nepovinný parametr. Hodnota ETag nebo zástupný znak (*).

Zadejte hodnotu ETag pro tuto podmíněnou hlavičku, aby se objekt blob zkopíroval jenom v případě, že zadaná hodnota ETag neodpovídá hodnotě ETag cílového objektu blob.

Zadáním zástupné znaky ( ) provedete operaci pouze v případě, že * cílový objekt blob neexistuje.

Pokud zadaná podmínka není splněná, Blob service stavový kód 412 (Předběžná podmínka selhala).
x-ms-copy-source:name Povinná hodnota. Určuje název zdrojového objektu blob nebo souboru.

Počínaje verzí 12. 2. 2012 může být tato hodnota adresa URL o délce až 2 kiB, která určuje objekt blob. Hodnota by měla být kódovaná pomocí adresy URL, jak by se měla zobrazit v identifikátoru URI požadavku. Zdrojový objekt blob ve stejném účtu úložiště je možné autorizovaný prostřednictvím sdíleného klíče. Pokud je ale zdrojem objekt blob v jiném účtu, musí být zdrojový objekt blob buď veřejný, nebo musí být autorizovaný prostřednictvím sdíleného přístupového podpisu. Pokud je zdrojový objekt blob veřejný, k provedení operace kopírování se nevyžaduje žádná autorizace.

Od verze 21. 2. 2015 může být zdrojovým objektem soubor ve službě Azure File. Pokud je zdrojovým objektem soubor, který se má zkopírovat do objektu blob, musí být zdrojový soubor autorizovaný pomocí sdíleného přístupového podpisu, ať už se nachází ve stejném účtu, nebo v jiném účtu.

Pouze účty úložiště vytvořené 7. června 2012 nebo po jeho vytvoření umožňují operaci kopírovat Copy Blob z jiného účtu úložiště.

Tady je několik příkladů adres URL zdrojového objektu:

- https://myaccount.blob.core.windows.net/mycontainer/myblob
- https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>
- https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime>

Pokud je zdrojovým objektem soubor ve službě Azure File, zdrojová adresa URL používá následující formát. Všimněte si, že adresa URL musí obsahovat platný token SAS pro soubor:

- https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?sastoken

Ve verzích před 12. 2. 2012 je možné objekty blob zkopírovat pouze v rámci stejného účtu a zdrojový název může používat tyto formáty:

– Objekt blob v pojmenovaném kontejneru: /accountName/containerName/blobName
– Snímek v pojmenovaném kontejneru: /accountName/containerName/blobName?snapshot=<DateTime>
– Objekt blob v kořenovém kontejneru: /accountName/blobName
– Snímek v kořenovém kontejneru: /accountName/blobName?snapshot=<DateTime>
x-ms-lease-id:<ID> Vyžaduje se, pokud má cílový objekt blob aktivní zapůjčení. ID zapůjčení zadané pro tuto hlavičku musí odpovídat ID zapůjčení cílového objektu blob. Pokud požadavek neobsahuje ID zapůjčení nebo není platný, operace selže se stavový kódem 412 (Předběžná podmínka selhala).

Pokud je zadaná tato hlavička a cílový objekt blob momentálně nemá aktivní zapůjčení, operace také selže se stavový kódem 412 (Předběžná podmínka selhala).

Ve verzi 12. 2. 2012 a novější musí tato hodnota zadat aktivní nekonečné zapůjčení pro pronajatý objekt blob. ID zapůjčení s konečnou dobou trvání selže s chybou 412 (Předběžná podmínka selhala).
x-ms-source-lease-id: <ID> Volitelné verze před 12. 2. 2012 (nepodporované v 12. 2. 2012 a novějších verzích) Tuto hlavičku zadejte, pokud chcete operaci provést jenom v případě, že zadané ID zapůjčení odpovídá aktivnímu ID zapůjčení Copy Blob zdrojového objektu blob.

Pokud je zadaná tato hlavička a zdrojový objekt blob momentálně nemá aktivní zapůjčení, operace také selže se stavový kódem 412 (Předběžná podmínka selhala).
x-ms-client-request-id Nepovinný parametr. Poskytuje neprůhlednou hodnotu vygenerovanou klientem s limitem 1 kiB znaků, který se zaznamená do analytických protokolů, když je povolené protokolování analýzy úložiště. Použití této hlavičky se důrazně doporučuje pro korelaci aktivit na straně klienta s požadavky přijatými serverem. Další informace najdete v tématu Informace o protokolování Storage Analytics a Protokolování Azure: Použití protokolů ke sledování Storage požadavků.
x-ms-access-tier Nepovinný parametr. Určuje úroveň, která se má nastavit pro cílový objekt blob. Pro objekty blob stránky na účtu Premium pouze s verzí 2017-04-17 a novější. Úplný seznam podporovaných úrovní Premium Storage a spravovaných disků pro virtuální počítače. Verze z 9. 11. 2018 a novější pro objekty blob bloku. Vrstvení objektů blob bloku se podporuje u účtů blob Storage nebo účtů pro obecné účely verze 2, platné hodnoty jsou Hot / Cool / Archive . Podrobné informace o vrstvení objektů blob bloku najdete v tématu Horká, studená a archivní úroveň úložiště.
x-ms-rehydrate-priority Nepovinný parametr. Určuje prioritu, se kterou se má archivovaný objekt blob dosažovat. Podporováno ve verzi 2019-02-02 a novější pro objekty blob bloku. Platné hodnoty jsou High / Standard . Prioritu objektu blob je možné nastavit pouze jednou. Tato hlavička se bude ignorovat u následných požadavků na stejný objekt blob. Výchozí priorita bez této hlavičky je Standard .
x-ms-seal-blob Nepovinný parametr. Podporováno ve verzi 2019-12-12 nebo novější. Platí jenom pro doplňovací objekty blob. Zapečetí cílový objekt blob po dokončení operace kopírování.
x-ms-immutability-policy-until-date Verze z 12. 6. 2020 a novější. Určuje datum uchování do data, které se má pro objekt blob nastavit. Toto je datum, do kterého je možné objekt blob chránit před jeho úpravami nebo odstraněním. Dodržuje formát RFC1123.
x-ms-immutability-policy-mode Verze z 12. 6. 2020 a novější. Určuje režim zásad neměnnosti, který se má pro objekt blob nastavit. Platné hodnoty jsou unlocked / locked . unlocked označuje, že uživatel může zásady změnit zvýšením nebo snížením data uchování až do data. locked označuje, že tyto akce jsou zakázané.
x-ms-legal-hold Verze z 12. 6. 2020 a novější. Určuje blokování z právních předpisů, které se má pro objekt blob nastavit, platné hodnoty jsou true/false .

Tato operace podporuje, aby podmíněné hlavičky a uspěly x-ms-if-tags x-ms-source-if-tags pouze v případě, že 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 Service.

Text požadavku

Žádné

Odpověď

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

Stavový kód

Ve verzi 12. 2. 2012 a novější vrátí úspěšná operace stavový kód 202 (Přijato).

Ve verzích před 12. 2. 2012 vrátí úspěšná operace stavový kód 201 (vytvořeno).

Informace o stavových kódech najdete v tématu Stavové a chybové kódy.

Hlavičky odpovědi

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

Hlavička odpovědi Popis
ETag Pokud je kopírování dokončené, ve verzi 12. 2. 2012 a novější obsahuje ETag cílového objektu blob. Pokud kopírování není dokončené, obsahuje ETag prázdného objektu blob vytvořeného na začátku kopírování.

Ve verzích před 12. 2. 2012 vrátí ETag cílového objektu blob.

Ve verzi 2011-08-18 a novější bude hodnota ETag v uvozovkách.
Last-Modified Vrátí datum a čas dokončení operace kopírování do cílového objektu blob.
x-ms-request-id Tato hlavička 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 Určuje verzi Blob service, která se používá k provedení požadavku. Tato hlavička se vrátí pro požadavky na verzi 2009-09-19 a novější.
Date Hodnota data a času UTC vygenerovaná službou, která udává čas zahájení odpovědi.
x-ms-copy-id: <id> Verze z 12. 2. 2012 a novější. Identifikátor řetězce pro tuto operaci kopírování Pomocí s nebo zkontrolujte stav této operace kopírování nebo předáním do Get Blob Get Blob Properties Abort Copy Blob přerušte nevyřízenou kopii.
x-ms-copy-status: <success &#124; pending> Verze z 12. 2. 2012 a novější. Stav operace kopírování s těmito hodnotami:

- success: Kopírování se úspěšně dokončilo.
- pending: Probíhá kopírování.
x-ms-version-id: <DateTime> Verze z 12. 12. 2019 a novější. Hodnota DateTime vrácená službou, která jednoznačně identifikuje objekt blob. Hodnota této hlavičky označuje verzi objektu blob a může být použita v následných požadavcích na přístup k této verzi objektu blob. Tato hodnota by měla být považována za neprůhlednou.
x-ms-client-request-id Tato hlavička se používá k řešení potíží s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě hlavičky, pokud se nachází v požadavku a hodnota je nejvíce x-ms-client-request-id 1024 viditelných znaků ASCII. Pokud hlavička v požadavku není, nebude tato hlavička x-ms-client-request-id v odpovědi k dispozici.

Text odpovědi

Žádné

Ukázková odpověď

Následuje ukázková odpověď na požadavek na zkopírování objektu blob:

Response Status:  
HTTP/1.1 202 Accepted  
  
Response Headers:   
Last-Modified: <date>   
ETag: "0x8CEB669D794AFE2"  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402  
x-ms-version: 2015-02-21  
x-ms-copy-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
x-ms-copy-status: pending
x-ms-version-id: <DateTime>  
Date: <date>  
  

Autorizace

Tuto operaci může volat vlastník účtu. Pro požadavky na verzi 2013-08-15 a novější se pro operace kopírování v rámci stejného účtu podporuje sdílený přístupový podpis, který má oprávnění k zápisu do cílového objektu blob nebo jeho kontejneru. Všimněte si, že sdílený přístupový podpis zadaný v požadavku se vztahuje pouze na cílový objekt blob.

Přístup ke zdrojovému objektu blob nebo souboru se autorizován samostatně, jak je popsáno v podrobnostech hlavičky požadavku x-ms-copy-source .

Následující tabulka popisuje, jak mohou být autorizovány cílové a zdrojové objekty pro operaci kopírování objektů blob.

Objekt blob Autorizace pomocí sdíleného klíče/sdíleného klíče v Lite Autorizace pomocí sdíleného přístupového podpisu Veřejný objekt nevyžadující autorizaci
Cílový objekt BLOB Ano Ano Ne
Zdrojový objekt BLOB ve stejném účtu Ano Ano Ano
Zdrojový objekt BLOB v jiném účtu Ne Ano Ano
Zdrojový soubor ve stejném účtu nebo jiném účtu Ne Ano

Pokud požadavek určuje značky s x-ms-tags hlavičkou požadavku, volající musí splňovat požadavky na autorizaci operace Nastavení značek objektů BLOB .

Poznámky

Ve verzi 2012-02-12 a novější může být Copy Blob operace dokončena asynchronně. Tato operace vrátí ID kopie, které můžete použít ke kontrole nebo přerušení operace kopírování. Blob service kopíruje objekty blob na základě nejlepší úsilí.

Zdrojový objekt BLOB pro operaci kopírování může být objekt blob bloku, doplňovací objekt BLOB nebo objekt blob stránky nebo snímek. Pokud cílový objekt BLOB už existuje, musí se jednat o stejný typ objektu BLOB jako zdrojový objekt BLOB. Veškerý existující cílový objekt BLOB bude přepsán. Cílový objekt BLOB nelze upravovat, dokud probíhá operace kopírování.

Ve verzi 2015-02-21 a novější může být zdrojem operace kopírování i soubor ve službě Azure File Service. Pokud je zdrojem soubor, musí být cílem objekt blob bloku.

Několik operací probíhajících Copy Blob v rámci účtu může být zpracováno postupně. Cílový objekt BLOB může mít jenom jednu nevyřízenou operaci kopírování objektů BLOB. Jinými slovy, objekt BLOB nemůže být cílem pro více operací, které čekají na zpracování Copy Blob . Pokus do Copy Blob cílového objektu blob, který už má probíhající kopírování, se nezdaří a stavový kód 409 (konflikt).

Pouze účty úložiště vytvořené v nebo po 7. června 2012 umožňují, aby Copy Blob operace kopírovala z jiného účtu úložiště. Došlo k pokusu o zkopírování z jiného účtu úložiště do účtu vytvořeného před 7. června 2012 se stavovým kódem 400 (chybný požadavek).

Tato Copy Blob operace vždy zkopíruje celý zdrojový objekt BLOB nebo soubor; kopírování rozsahu bajtů nebo sady bloků se nepodporuje.

Copy BlobOperace může mít některou z následujících forem:

  • Zdrojový objekt blob můžete zkopírovat do cílového objektu BLOB s jiným názvem. Cílový objekt BLOB může být existující objekt BLOB stejného typu objektu BLOB (blok, připojit nebo stránka), nebo může být nový objekt BLOB vytvořený operací kopírování.

  • Zdrojový objekt blob můžete zkopírovat do cílového objektu BLOB se stejným názvem a efektivně nahradit cílový objekt BLOB. Taková operace kopírování odstraní všechny nepotvrzené bloky a přepíše metadata objektu BLOB.

  • Zdrojový soubor v Souborové službě Azure můžete zkopírovat do cílového objektu BLOB. Cílový objekt BLOB může být existující objekt blob bloku nebo může být nový objekt blob bloku vytvořený operací kopírování. Kopírování ze souborů do objektů blob stránky nebo doplňovací objekty BLOB se nepodporuje.

  • Snímek můžete zkopírovat přes svůj základní objekt BLOB. Zvýšením úrovně snímku na pozici základního objektu blob můžete obnovit předchozí verzi objektu BLOB.

  • Snímek můžete zkopírovat do cílového objektu BLOB s jiným názvem. Výsledný cílový objekt BLOB je zapisovatelný objekt blob, který není snímkem.

Při kopírování z objektu blob stránky vytvoří Blob service objekt BLOB cílové stránky s délkou zdrojového objektu blob, zpočátku obsahující všechny nuly. Pak se vyčíslují rozsahy zdrojových stránek a zkopírují se neprázdné rozsahy.

Pro objekt blob bloku nebo doplňovací objekt BLOB vytvoří Blob service před vrácením z této operace potvrzený objekt BLOB s nulovou délkou.

Při kopírování z objektu blob bloku se zkopírují všechny potvrzené bloky a jejich ID bloku. Nepotvrzené bloky se nekopírují. Na konci operace kopírování bude mít cílový objekt BLOB stejný počet potvrzených bloků jako zdroj.

Při kopírování z připojeného objektu BLOB se zkopírují všechny potvrzené bloky. Na konci operace kopírování bude mít cílový objekt BLOB stejný počet potvrzených bloků jako zdroj.

Pro všechny typy objektů blob můžete zavolat Get Blob nebo Get Blob Properties na cílový objekt BLOB a ověřit stav operace kopírování. Konečný objekt BLOB bude potvrzen po dokončení kopírování.

Pokud zdroj operace kopírování poskytuje značky ETag (Pokud se ve zdroji vyskytnou nějaké změny, zatímco probíhá kopírování), kopie se nezdaří. Pokus o změnu cílového objektu BLOB v době, kdy probíhá kopírování, selže s 409 konfliktů. Pokud má cílový objekt BLOB nekonečné zapůjčení, musí se mu předávat ID zapůjčení Copy Blob . Zapůjčení s konečnou dobou trvání nejsou povolena.

Značka ETag pro objekt blob bloku se po Copy Blob zahájení operace a dokončení kopírování změní. Značka ETag pro objekt blob stránky se po Copy Blob zahájení operace změní a v průběhu kopírování se stále často mění. Obsah objektu blob bloku se po dokončení úplného kopírování zobrazuje jenom pomocí GET.

Kopírování vlastností, značek a metadat objektů BLOB

Po zkopírování objektu BLOB se do cílového objektu BLOB zkopírují následující vlastnosti systému se stejnými hodnotami:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • Content-Disposition

  • x-ms-blob-sequence-number (for page blobs only)

  • x-ms-committed-block-count (for append blobs only, and for version 2015-02-21 only)

Seznam potvrzeného blokování zdrojového objektu BLOB se také zkopíruje do cílového objektu blob, pokud objekt BLOB je objekt blob bloku. Nepotvrzené bloky nejsou zkopírovány.

Cílový objekt BLOB má vždycky stejnou velikost jako zdrojový objekt blob, takže hodnota Content-Length záhlaví cílového objektu BLOB odpovídá hodnotě pro zdrojový objekt BLOB.

Když je zdrojový objekt BLOB a cílový objekt BLOB stejný, Copy Blob Odebere všechny nepotvrzené bloky. Pokud jsou v tomto případě zadána metadata, stávající metadata jsou přepsána novými metadaty.

Pokud jsou v hlavičce k dispozici značky pro cílový objekt BLOB x-ms-tags , musí být kódované řetězcem dotazu. Klíče a hodnoty značek musí odpovídat požadavkům na pojmenování a délku, jak je uvedeno v části Nastavení značek objektů BLOB. Kromě toho x-ms-tags může záhlaví obsahovat až 2 KB značek. Pokud je vyžadováno více značek, použijte operaci nastavit značky objektů BLOB .

Pokud se v hlavičce neposkytují značky x-ms-tags , pak se nekopírují ze zdrojového objektu BLOB.

Kopírování pronajatého objektu BLOB

Copy BlobOperace čte pouze ze zdrojového objektu blob, takže stav zapůjčení zdrojového objektu BLOB nezáleží. Tato operace ale Copy Blob při zahájení kopírování uloží značku zdrojového objektu BLOB. Pokud se hodnota ETag změní před dokončením kopírování, kopie se nezdařila. Můžete zabránit změnám zdrojového objektu BLOB jeho zapůjčením během operace kopírování.

Pokud má cílový objekt BLOB aktivní nekonečné zapůjčení, musíte ve volání operace zadat jeho ID zapůjčení Copy Blob . Pokud zapůjčení, které zadáte, představuje aktivní konečnou zapůjčenou dobu trvání, toto volání se nezdařilo se stavovým kódem 412 (Předběžná podmínka se nezdařila). I když kopírování čeká na vyřízení, všechny operace zapůjčení cílového objektu BLOB selžou a stavový kód 409 (konflikt). Nekonečná zapůjčení cílového objektu BLOB je během operace kopírování uzamčena, ať už kopírujete do cílového objektu BLOB s jiným názvem ze zdroje, zkopírujete do cílového objektu BLOB se stejným názvem jako zdroj nebo povýšíte snímek přes svůj základní objekt BLOB. Pokud klient zadává ID zapůjčení u objektu blob, který ještě neexistuje, Blob service vrátí stavový kód 412 (Předběžná podmínka se nezdařila) pro požadavky vytvořené s verzí 2013-08-15 a novější. pro předchozí verze Blob service vrátí stavový kód 201 (vytvořeno).

Kopírování snímků

Při kopírování zdrojového objektu BLOB se do cíle nekopírují žádné snímky nebo verze zdrojového objektu BLOB. Když je cílový objekt BLOB přepsaný kopií, všechny snímky nebo verze přidružené k cílovému objektu BLOB zůstanou beze změny v rámci svého názvu.

Operaci kopírování můžete použít pro zvýšení úrovně objektu BLOB snímku v rámci svého základního objektu BLOB. Tímto způsobem můžete obnovit předchozí verzi objektu BLOB. Snímek zůstane, ale jeho cíl je přepsán kopií, kterou lze číst i zapsat.

Kopírování verzí

Operaci kopírování můžete použít pro zvýšení úrovně objektu BLOB verze v rámci svého základního objektu BLOB. Tímto způsobem můžete obnovit předchozí verzi objektu BLOB. Verze zůstane, ale její cíl přepíše kopii, která může být načtena i zapsána.

Kopírování archivovaného objektu BLOB (verze 2018-11-09 a novější)

Archivovaný objekt BLOB se dá zkopírovat do nového objektu BLOB v rámci stejného účtu úložiště. Tím se pořád ponechá původní archivovaný objekt BLOB tak, jak je. Při kopírování archivovaného objektu BLOB jako zdroje musí požadavek obsahovat hlavičku x-ms-access-tier označující úroveň cílového objektu BLOB. Data se nakonec zkopírují do cílového objektu BLOB.

Zdroj a cíl kopírování by měl být stejný účet úložiště, když je zdroj archivován. Pokud je zdroj kopie stále v nedokončeném stavu, požadavek se nezdaří a dojde k jeho konfliktu.

Podrobné informace o vrstvení na úrovni objektů blob bloku najdete na horké, studené a archivní úrovni úložiště.

Práce s nevyřízenou kopií (verze 2012-02-12 a novější)

Pokud Copy Blob operace provede kopírování asynchronně, použijte následující tabulku k určení dalšího kroku na základě stavového kódu, který vrátil Copy Blob :

Stavový kód Význam
202 (přijato), x-MS-Copy-status: úspěch Kopírování bylo úspěšně dokončeno.
202 (přijato), x-MS-Copy-status: čeká Kopírování nebylo dokončeno. Dotazování cílového objektu BLOB Get Blob Properties můžete prostudovat pomocí, abyste prozkoumali stav x-MS-Copy až do dokončení kopírování nebo neúspěchu.
4xx, 500 nebo 503 Kopírování se nezdařilo.

Copy BlobVlastnosti cílového objektu BLOB během a po operaci obsahují ID kopie Copy Blob operace a adresy URL zdrojového objektu BLOB. Po dokončení kopírování Blob service zapíše čas a hodnotu výsledku ( success , failed nebo aborted ) do vlastností cílového objektu BLOB. Pokud operace failed , x-ms-copy-status-description Hlavička obsahuje řetězec s podrobnými informacemi o chybě.

Nedokončená Copy Blob operace má časový limit 2 týden. Pokus o kopírování, který nebyl dokončen po 2 týdnech vyprší, a opustí prázdný objekt BLOB s x-ms-copy-status polem nastaveným na failed a x-ms-copy-status-description nastaveným na 500 (OperationCancelled). Občasné, méně závažné chyby, ke kterým může dojít během kopírování, může bránit průběh kopírování, ale nezpůsobí selhání. V těchto případech x-ms-copy-status-description popisuje občasné chyby.

Při pokusu o změnu nebo vytvoření snímku cílového objektu BLOB v průběhu kopírování dojde k selhání s 409 (konflikt) BLOB kopírování.

Při volání Abort Copy Blob operace se zobrazí x-ms-copy-status:aborted záhlaví a cílový objekt BLOB bude mít nedotčená metadata a velikost objektu BLOB nula bajtů. Můžete opakovat původní volání, abyste Copy Blob mohli kopii vyzkoušet znovu.

Pokud se Copy Blob operace dokončí synchronně, určete stav operace kopírování pomocí následující tabulky:

Stavový kód Význam
202 (přijato), x-MS-Copy-status: úspěch Kopírování bylo úspěšně dokončeno.
4xx, 500 nebo 503 Kopírování se nezdařilo.

Úroveň je děděna pro úrovně Premium Storage. U objektů blob bloku převezme přepsání cílového objektu BLOB vrstvu Hot/studenou z cíle, pokud není k dispozici x-MS-Access-úrovně. Přepsání archivovaného objektu BLOB se nezdaří. Podrobné informace o vrstvení na úrovni objektů blob bloku najdete na horké, studené a archivní úrovni úložiště.

Fakturace

K cílovému účtu Copy Blob operace se účtuje jedna transakce za účelem iniciování kopie a zároveň dojde k přerušení jedné transakce pro každý požadavek na přerušení nebo pro požadavek na stav operace kopírování.

Když je zdrojový objekt BLOB v jiném účtu, zdrojovému účtu se účtují náklady transakce. Kromě toho platí, že pokud se zdrojové a cílové účty nacházejí v různých oblastech (například USA – sever a USA – jih), bude šířka pásma používaná k přenosu žádosti účtována jako výstup do zdrojového účtu úložiště. Egress mezi účty v rámci stejné oblasti je zdarma.

Když zkopírujete zdrojový objekt blob do cílového objektu BLOB s jiným názvem v rámci jednoho účtu, použijete pro nový objekt BLOB další prostředky úložiště, takže operace kopírování bude mít za následek poplatek za využívání kapacity účtu úložiště pro tyto další prostředky. Pokud je však název zdrojového a cílového objektu BLOB stejný v rámci stejného účtu (například při povýšení snímku na svůj základní objekt BLOB), neúčtují se žádné další poplatky, kromě metadat extra Copy uložených ve verzi 2012-02-12 a novější.

Když povýšíte snímek tak, aby nahradil svůj základní objekt blob, bude se shodovat se snímkem a základním objektem BLOB. Sdílí bloky nebo stránky, takže operace kopírování nevede k dodatečnému poplatku za využití kapacity účtu úložiště. Pokud ale zkopírujete snímek do cílového objektu BLOB s jiným názvem, účtují se další poplatky za prostředky úložiště používané novým objektem blob, který je výsledkem. Dva objekty BLOB s různými názvy nemůžou sdílet bloky nebo stránky, a to i v případě, že jsou identické. Další informace o scénářích nákladů na snímky najdete v tématu porozumění způsobu nabíhání nákladů na snímky.

Viz také

Autorizovat požadavky na Azure Storage
Stavové a chybové kódy
Kódy chyb služby BLOB Service
Princip nabíhání nákladů na snímky
Přerušit kopii objektu BLOB