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.
Operace Incremental Copy Blob zkopíruje snímek zdrojového objektu blob stránky do cílového objektu blob stránky. Do cíle se přenesou pouze rozdíly oproti dříve zkopírovanému snímku. Zkopírované snímky jsou úplnými kopiemi původního snímku a můžete z nich číst nebo kopírovat obvyklým způsobem. Toto rozhraní API je podporované od verze REST 2016-05-31.
Žádost
Požadavek Incremental Copy Blob můžete vytvořit následujícím způsobem. Doporučuje se HTTPS. Nahraďte myaccount názvem vašeho účtu úložiště, mycontainer názvem vašeho kontejneru a myblob názvem cílového objektu blob. Parametr comp query s hodnotou , incrementalcopyoznačuje, že tento požadavek má vytvořit přírůstkový snímek.
| Identifikátor URI požadavku metody PUT | Verze protokolu HTTP |
|---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=incrementalcopy |
Protokol HTTP/1.1 |
Identifikátor URI emulované služby úložiště
Když zadáte požadavek na emulovanou službu úložiště, zadejte název hostitele emulátoru a port služby Azure Blob Storage jako 127.0.0.1:10000 následovaný názvem emulovaného účtu úložiště. Označte také, že tento požadavek je pro přírůstkovou kopii, a to nastavením parametru comp query na incrementalcopy.
| Identifikátor URI požadavku metody PUT | Verze protokolu HTTP |
|---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=incrementalcopy |
Protokol HTTP/1.1 |
Další informace najdete v tématu Použití emulátoru Azurite pro místní vývoj Azure Storage.
Parametry identifikátoru URI
Pro identifikátor URI požadavku můžete zadat následující další parametry.
| Parametr | Popis |
|---|---|
timeout |
Volitelný. Parametr timeout se vyjadřuje v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace služby Blob Storage. |
Hlavičky žádosti
Následující tabulka popisuje povinné a volitelné hlavičky požadavků.
| Hlavička požadavku | Popis |
|---|---|
Authorization |
Povinné. Určuje schéma autorizace, název účtu a podpis. Další informace najdete v tématu Autorizace požadavků na službu Azure Storage. |
Date nebo x-ms-date |
Povinné. Určuje standard UTC (Coordinated Universal Time) pro požadavek. Další informace najdete v tématu Autorizace požadavků na službu Azure Storage. |
x-ms-version |
Požadováno pro všechny autorizované žádosti a volitelné pro anonymní žá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. |
If-Modified-Since |
Volitelný. Hodnota DateTime . Tuto podmíněnou hlavičku zadejte pro zkopírování objektu blob pouze v případě, že se cílový objekt blob od zadaného data a času změnil. Pokud se cílový objekt blob nezměnil, vrátí blob Storage stavový kód 412 (předběžná podmínka se nezdařila). |
If-Unmodified-Since |
Volitelný. Hodnota DateTime . Tuto podmíněnou hlavičku zadejte, pokud chcete objekt blob zkopírovat pouze v případě, že cílový objekt blob nebyl od zadaného data a času změněn. Pokud byl cílový objekt blob změněn, vrátí blob Storage stavový kód 412 (předběžná podmínka se nezdařila). |
If-Match |
Volitelný. Hodnota ETag . Zadejte hodnotu pro tuto podmíněnou hlavičku ETag pro zkopírování objektu blob pouze v případě, že zadaná ETag hodnota odpovídá ETag hodnotě existujícího cílového objektu blob. Pokud se ETag parametr pro cílový objekt blob neshoduje se zadaným parametrem ETag , If-Matchvrátí služba Blob Storage stavový kód 412 (Předběžná podmínka se nezdařila). |
If-None-Match |
Volitelný. Hodnota ETag nebo zástupný znak (*).Zadejte hodnotu této podmíněné hlavičky ETag pro zkopírování objektu blob pouze v případě, že zadaná ETag hodnota neodpovídá ETag hodnotě cílového objektu blob.Zadejte zástupný znak ( *) pro provedení operace pouze v případě, že cílový objekt blob neexistuje.Pokud zadaná podmínka není splněná, vrátí blob Storage stavový kód 412 (předběžná podmínka se nezdařila). |
x-ms-copy-source:name |
Povinné. Určuje název snímku objektu blob zdrojové stránky. Tato hodnota je adresa URL o délce až 2 kibibajty (KiB), která určuje snímek objektu blob stránky. Hodnota by měla být zakódovaná jako adresa URL, jak by se zobrazovala v identifikátoru URI požadavku. Zdrojový identifikátor URI objektu blob je možné autorizovat jedním ze dvou způsobů: Identifikátor URI zdrojového objektu blob může odkazovat na snímek objektu blob stránky, ale musí obsahovat token sdíleného přístupového podpisu (SAS), který byl vytvořen v základním objektu blob snímku. Pole podepsaný prostředek ( sr) SAS by mělo být nastaveno na .b Například: https://<account-name>.blob.core.windows.net/<container-name>/<page-blob-name>?snapshot=2022-07-23T00:14:45.3964054Z&sp=r&st=2022-07-23T00:15:38Z&se=2022-07-23T08:15:38Z&spr=https&sv=2021-06-08&sr=b&sig=<signature>.Zdrojový identifikátor URI objektu blob může odkazovat na snímek objektu blob veřejné stránky. Například, https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>. |
x-ms-client-request-id |
Volitelný. Poskytuje hodnotu vygenerovanou klientem s neprůhlenou hodnotou s limitem znaků 1 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í služby Azure Blob Storage. |
Obsah požadavku
Žádné.
Odezva
Odpověď obsahuje stavový kód HTTP a sadu hlaviček odpovědi.
Stavový kód
Úspěšná operace vrátí stavový kód 202 (přijato). Informace o stavových kódech naleznete v tématu Stav a kódy chyb.
Hlavičky odpovědi
Odpověď pro tuto operaci obsahuje následující hlavičky. Odpověď může obsahovat také další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.
| Syntaxe | Popis |
|---|---|
ETag |
Obsahuje hodnotu, kterou můžete použít k podmíněnému provádění operací. Hodnota je v uvozovkách. |
Last-Modified |
Datum a čas poslední změny objektu blob. Další informace naleznete v tématu Reprezentace hodnot data a času v záhlavích. Jakákoli operace zápisu v objektu blob (včetně aktualizací metadat nebo vlastností objektu blob) změní čas poslední změny objektu blob. |
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 použitou ke spuštění požadavku. |
Date |
Hodnota data a času UTC, která označuje čas, kdy byla odpověď zahájena. Služba vygeneruje tuto hodnotu. |
x-ms-copy-id: <id> |
Identifikátor řetězce pro tuto operaci kopírování. Slouží k Get Blob Properties ověření stavu této operace kopírování nebo předáním příkazu k Abort Copy Blob zastavení čekající kopie. |
x-ms-copy-status: pending |
Stav operace kopírování. Tato aktualizace vždy čeká na vyřízení, což znamená, že kopírování bylo zahájeno a probíhá. |
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ě hlavičky x-ms-client-request-id, pokud se nachází v požadavku. Hodnota je maximálně 1 024 viditelných znaků ASCII. Pokud v požadavku není hlavička x-ms-client-request-id, nezobrazí se v odpovědi. |
Obsah odpovědi
Žádné.
Ukázková odpověď
Následuje ukázková odpověď na požadavek na provedení přírůstkové kopie:
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: 2016-05-31
x-ms-copy-id: 1f812371-a41d-49e6-b123-f4b542e851c5
x-ms-copy-status: pending
Date: <date>
Autorizace
Autorizace se vyžaduje při volání jakékoli operace přístupu k datům ve službě Azure Storage. Následující část popisuje, jak lze autorizovat cílový objekt pro operaci Incremental Copy Blob . Přístup ke zdrojovému objektu blob nebo souboru je autorizován samostatně, jak je popsáno v podrobnostech x-ms-copy-source v hlavičce požadavku.
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 poskytuje vynikající zabezpečení a snadné použití v porovnání s autorizací sdíleného klíče.
Azure Storage podporuje použití Microsoft Entra ID k autorizaci přístupů k datům objektů blob. S ID Microsoft Entra můžete pomocí řízení přístupu na základě role v Azure (Azure RBAC) udělit oprávnění k objektu zabezpečení. Objekt zabezpečení může být uživatel, skupina, instanční objekt aplikace nebo spravovaná identita Azure. Instanční objekt zabezpečení je ověřený pomocí ID Microsoft Entra pro vrácení tokenu OAuth 2.0. Token se pak dá použít k autorizaci požadavku ve službě Blob Service.
Další informace o autorizaci pomocí ID Microsoft Entra najdete v tématu Autorizace přístupu k objektům blob pomocíMicrosoft Entra ID .
Povolení
Níže je uvedena akce RBAC potřebná pro uživatele, skupinu, spravovanou identitu nebo instanční objekt Microsoftu pro volání operace Incremental Copy Blob a nejméně privilegované předdefinované role Azure RBAC, která zahrnuje tuto akci:
- Akce Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write (pro zápis do existujícího objektu blob) nebo Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action (pro zápis nového objektu blob do cíle)
předdefinovaná role s nejnižšími oprávněními: přispěvatel dat Přispěvatel dat objektů blob služby Storage
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
Cíl přírůstkové kopie nesmí existovat nebo musí být vytvořen s předchozí přírůstkovou kopií ze stejného zdrojového objektu blob. Po vytvoření je cílový objekt blob trvale přidružen ke zdroji a lze jej použít pouze pro přírůstkové kopie. Rozhraní Get Blob Properties API a List Blobs označují, zda je objekt blob přírůstkovou kopií objektu blob vytvořeného tímto způsobem.
Objekty blob přírůstkového kopírování nemůžete stahovat přímo. Jediné podporované operace jsou Get Blob Properties, Incremental Copy Blob, a Delete Blob. Zkopírované snímky můžete číst a odstraňovat obvyklým způsobem.
Přírůstkovou kopii provádíte ve službě asynchronně a musíte se dotazovat na dokončení. Podrobnosti o tom, jak se dotazovat na čekající kopii, najdete v Copy Blob rozhraní API. Po dokončení kopírování bude cílový objekt blob obsahovat nový snímek. Rozhraní Get Blob Properties API vrací čas snímku nově vytvořeného snímku.
Při prvním provedení přírůstkové kopie cílového objektu blob se vytvoří nový objekt blob se snímkem, který je plně zkopírován ze zdroje. Každé následující volání vytvoří Incremental Copy Blob nový snímek zkopírováním pouze rozdílových změn z dříve zkopírovaného snímku.
Rozdílové změny se počítají na serveru vydáním Get Page Ranges volání na zdrojovém snímku objektu blob. Nastavte prevsnapshot na naposledy zkopírovaný snímek. Proto platí stejná omezení pro Get Page RangesIncremental Copy Blob. Konkrétně musíte kopírovat snímky ve vzestupném pořadí, a pokud se zdrojový objekt blob znovu vytvoří pomocí Put Blob nebo Copy Blob, pak Incremental Copy Blob nové snímky selžou.
Další úložný prostor spotřebovaný kopírovaným snímkem je velikost rozdílových dat přenesených během kopírování. Tuto velikost můžete určit provedením rozdílového Get Page Ranges volání rozhraní API na snímku, abyste jej porovnali s předchozím snímkem.
Viz také
autorizace požadavků na službu Azure Storage
Kódy stavu a chyb
Nastavení časových limitů pro operace služby Blob Storage