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.
Tato Append Block From URL operace potvrdí nový blok dat na konec existujícího doplňovacího objektu blob.
Operace Append Block From URL je povolena pouze v případě, že byl objekt blob vytvořen s x-ms-blob-type nastavenou hodnotou AppendBlob.
Append Block From URL je podporována pouze ve verzi 2018-11-09 nebo novější.
Žádost
Požadavek Append Block From URL můžete vytvořit následujícím způsobem. Doporučuje se protokol 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=appendblock |
Protokol HTTP/1.1 |
Když vytváříte požadavek na emulovanou službu úložiště, zadejte název hostitele emulátoru a port Azure Blob Storage jako 127.0.0.1:10000, následovaný názvem emulovaného účtu úložiště.
| Identifikátor URI požadavku metody PUT | Verze protokolu HTTP |
|---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=appendblock |
Protokol HTTP/1.1 |
Další informace najdete v tématu Použití emulátoru Azurite pro místní vývoj ve službě Azure Storage.
Parametry identifikátoru URI
| Parametr | Popis |
|---|---|
timeout |
Volitelný. Parametr časového limitu 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 |
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. |
Content-Length |
Povinné. Určuje počet bajtů přenášených v textu požadavku. Hodnota této hlavičky musí být nastavena na nulu. Pokud délka není nulová, operace selže s kódem chyby 400 (Chybný požadavek). |
x-ms-copy-source:name |
Povinné. Určuje adresu URL zdrojového objektu blob. Hodnotou může být adresa URL o délce až 2 KiB, která určuje objekt blob. Hodnota by měla být kódována pomocí adresy URL, jak by se zobrazila v identifikátoru URI požadavku. Zdrojový objekt blob musí být 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 se nevyžaduje žádná autorizace. Tady je několik příkladů adres URL zdrojového objektu:https://myaccount.blob.core.windows.net/mycontainer/myblobhttps://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime> |
x-ms-copy-source-authorization: <scheme> <signature> |
Volitelný. Určuje schéma autorizace a podpis pro zdroj kopie. Další informace najdete v tématu Autorizace požadavků na službu Azure Storage. Pro Microsoft Entra ID je podporován pouze nositel schématu. Tato hlavička je podporována ve verzi 2020-10-02 a novější. |
x-ms-source-range |
Volitelný. Nahraje pouze bajty objektu blob ve zdrojové adrese URL v určeném rozsahu. Pokud toto není zadané, celý obsah zdrojového objektu blob se nahraje jako jeden připojovací blok. Další informace najdete v tématu Určení hlavičky rozsahu pro operace služby Blob Storage . |
x-ms-source-content-md5 |
Volitelný. Hodnota hash MD5 přidávacího bloku obsahu z identifikátoru URI. Tato hodnota hash se používá k ověření integrity přidávacího bloku během přenosu dat z identifikátoru URI. Když zadáte tuto hlavičku, služba úložiště porovná hodnotu hash obsahu, který přišel ze zdroje kopírování, s touto hodnotou hlavičky. Všimněte si, že tato hodnota hash MD5 není uložena s objektem blob. Pokud se dvě hodnoty hash neshoduje, operace selže s kódem chyby 400 (Chybný požadavek). |
x-ms-source-content-crc64 |
Volitelný. Hodnota hash CRC64 obsahu bloku připojení z identifikátoru URI. Tato hodnota hash se používá k ověření integrity přidávacího bloku během přenosu dat z identifikátoru URI. Když zadáte tuto hlavičku, služba úložiště porovná hodnotu hash obsahu, který přišel ze zdroje kopírování, s touto hodnotou hlavičky. Všimněte si, že tato hodnota hash CRC64 není uložena s objektem blob. Pokud se dvě hodnoty hash neshoduje, operace selže s kódem chyby 400 (Chybný požadavek). Pokud jsou k dispozici obě x-ms-source-content-md5 hlavičky and x-ms-source-content-crc64 , požadavek selže s chybou 400 (Chybný požadavek).Tato hlavička je podporována ve verzi 2019-02-02 nebo novější. |
x-ms-encryption-scope |
Volitelný. Označuje obor šifrování, který se má použít k šifrování zdrojového obsahu. Tato hlavička je podporována ve verzi 2019-02-02 nebo novější. |
x-ms-lease-id:<ID> |
Je vyžadováno, pokud má objekt blob aktivní pronájem. Pokud chcete tuto operaci provést u objektu blob s aktivním zapůjčením, zadejte platné ID zapůjčení pro tuto hlavičku. |
x-ms-client-request-id |
Volitelný. Poskytuje hodnotu vygenerovanou klientem, neprůshlenou hodnotou s limitem 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í služby Azure Blob Storage. |
x-ms-blob-condition-maxsize |
Volitelná podmíněná hlavička Maximální povolená délka v bajtech pro doplňovací objekt blob. Pokud operace způsobí Append Block From URL , že objekt blob překročí tento limit, nebo pokud je velikost objektu blob již větší než hodnota zadaná v této hlavičce, požadavek selže s hodnotou 412 (Předběžná podmínka se nezdařila). |
x-ms-blob-condition-appendpos |
Volitelná podmíněná hlavička Append Block from URL , která se používá pouze pro operaci. Číslo označující posun bajtů, který se má porovnat.
Append Block from URL úspěšné pouze v případě, že pozice připojení je rovna tomuto číslu. Pokud tomu tak není, požadavek selže s chybou 412 (Předběžná podmínka se nezdařila). |
x-ms-file-request-intent |
Vyžaduje se, pokud x-ms-copy-source je hlavička adresa URL souboru Azure a hlavička x-ms-copy-source-authorization určuje token OAuth. Přijatelná hodnota je backup. Tato hlavička určuje, že Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action nebo Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action by měly být uděleny, pokud jsou zahrnuty do zásad RBAC přiřazené k identitě, která je autorizovaná pomocí hlavičky x-ms-copy-source-authorization. K dispozici pro verzi 2025-07-05 a novější. |
Tato operace podporuje použití dalších podmíněných hlaviček, aby se zajistilo, že rozhraní API bude úspěšné 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 Storage.
Hlavičky požadavku (šifrovací klíče poskytnuté zákazníkem)
Počínaje verzí 2019-02-02 můžete v požadavku zadat následující hlavičky pro šifrování objektu blob pomocí klíče poskytnutého zákazníkem. Šifrování pomocí klíče poskytnutého zákazníkem (a odpovídající sady hlaviček) je volitelné.
| Hlavička požadavku | Popis |
|---|---|
x-ms-encryption-key |
Povinné. Šifrovací klíč AES-256 s kódováním Base64. |
x-ms-encryption-key-sha256 |
Povinné. Hodnota hash SHA256 s kódováním Base64 šifrovacího klíče. |
x-ms-encryption-algorithm: AES256 |
Povinné. Určuje algoritmus, který se má použít pro šifrování. Hodnota této hlavičky musí být AES256. |
Obsah požadavku
Text požadavku obsahuje obsah bloku.
Ukázkový požadavek
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=appendblock HTTP/1.1
Request Headers:
x-ms-version: 2018-11-09
x-ms-date: <date>
x-ms-copy-source: https://myaccount.blob.core.windows.net/mycontainer/myblob
x-ms-source-range: bytes=0-65535
x-ms-blob-condition-appendpos: 2097152
x-ms-blob-condition-maxsize: 4194304
Authorization: SharedKey myaccount:J4ma1VuFnlJ7yfk/Gu1GxzbfdJloYmBPWlfhZ/xn7GI=
Content-Length: 0
If-Match: "0x8CB172A360EC34B"
Odezva
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 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.
| Hlavička odpovědi | Popis |
|---|---|
Etag |
Obsahuje ETag hodnotu v uvozovkách. Klient používá hodnotu k provádění podmíněných PUT operací pomocí hlavičky If-Match požadavku. |
Last-Modified |
Datum a čas, kdy byl objekt blob naposledy změněn. Formát data se řídí dokumentem RFC 1123. 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. |
Content-MD5 |
Tato hlavička se vrátí, aby klient mohl zkontrolovat integritu obsahu zprávy. Blob Storage vypočítá hodnotu této hlavičky. Nemusí se nutně jednat o stejnou hodnotu uvedenou v hlavičkách požadavku. Pro verzi 2019-02-02 nebo novější se tato hlavička vrátí pouze v případě, že požadavek má tuto hlavičku. |
x-ms-content-crc64 |
Pro verzi 2019-02-02 nebo novější. Tato hlavička se vrátí, aby klient mohl zkontrolovat integritu obsahu zprávy. Blob Storage vypočítá hodnotu této hlavičky. Nemusí se nutně jednat o stejnou hodnotu uvedenou v hlavičkách požadavku. Tato hlavička je vrácena, pokud hlavička x-ms-source-content-md5 v požadavku není. |
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. |
x-ms-version |
Označuje verzi služby Blob Storage, která byla použita 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 vygenerovaná službou, která označuje čas, kdy byla odpověď zahájena. |
x-ms-blob-append-offset |
Tato hlavička odpovědi se vrátí pouze pro operace připojení. Vrátí posun, při kterém byl blok potvrzen v bajtech. |
x-ms-blob-committed-block-count |
Počet potvrzených bloků, které jsou přítomné v objektu blob. Pomocí této možnosti můžete určit, kolik dalších připojení lze provést. |
x-ms-request-server-encrypted: true/false |
Verze 2015-12-11 nebo novější. Hodnota této hlavičky je nastavena na true pokud je obsah požadavku úspěšně zašifrován pomocí zadaného algoritmu. V opačném případě je hodnota nastavena na false. |
x-ms-encryption-key-sha256 |
Verze 2019-02-02 nebo novější. Tato hlavička se vrátí, pokud požadavek použil k šifrování klíč poskytnutý zákazníkem. Klient pak může zajistit, aby byl obsah požadavku úspěšně zašifrován pomocí poskytnutého klíče. |
x-ms-encryption-scope |
Verze 2019-02-02 nebo novější. Tato hlavička je vrácena, pokud požadavek použil obor šifrování. Klient pak může zajistit, aby byl obsah požadavku úspěšně zašifrován pomocí oboru šifrování. |
Ukázková odpověď
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
x-ms-content-crc64: 77uWZTolTHU
Date: <date>
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-blob-append-offset: 2097152
x-ms-blob-committed–block-count: 1000
Autorizace
Autorizace se vyžaduje při volání jakékoli operace přístupu k datům ve službě Azure Storage. Operaci Append Block From URL můžete autorizovat, jak je popsáno níže.
Podrobnosti o autorizaci v této části se vztahují na cíl kopie. Další informace o autorizaci zdroje kopírování naleznete v podrobnostech o hlavičce x-ms-copy-sourcepož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 Append Block From URL a nejméně privilegované předdefinované role Azure RBAC, která zahrnuje tuto akci:
- Akce Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action nebo Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
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
Append Block From URL Nahraje blok na konec existujícího doplňovacího objektu blob. Blok dat je okamžitě k dispozici po úspěšném volání na serveru. Pro každý doplňovací objekt blob je povoleno maximálně 50 000 připojení. Každý blok může mít různou velikost.
Následující tabulka popisuje maximální povolené velikosti bloků a objektů blob podle verze služby:
| Verze služby | Maximální velikost bloku (přes Append Block From URL) |
Maximální velikost objektu blob |
|---|---|---|
| Verze 2022-11-02 a novější | 100 MiB (Náhled) | Přibližně 4,75 TiB (100 MiB × 50 000 bloků) |
| Verze starší než 2022-11-02 | 4 MiB | Přibližně 195 gibibajtů (GiB) (4 MiB × 50 000 bloků) |
Ve verzi 2020-10-02 a novější je pro zdroj operace kopírování podporována autorizace Microsoft Entra ID.
Append Block From URL úspěšný pouze v případě, že objekt blob již existuje.
Objekty blob nahrané pomocí Append Block From URL nezpřístupňují ID bloků, takže nemůžete volat Get Block List proti doplňovacímu objektu blob. Pokud tak učiníte, dojde k chybě.
V požadavku můžete zadat následující volitelné podmíněné hlavičky:
x-ms-blob-condition-appendpos: Tuto hlavičku můžete nastavit na posun bajtů, při kterém klient očekává připojení bloku. Požadavek je úspěšný pouze v případě, že aktuální posun odpovídá posunu určenému klientem. V opačném případě požadavek selže s kódem chyby 412 (Předběžná podmínka se nezdařila).Klienti, kteří používají jeden zapisovač, mohou pomocí této hlavičky určit, zda
Append Block From URLbyla operace úspěšná i přes selhání sítě.x-ms-blob-condition-maxsize: Klienti mohou pomocí této hlavičky zajistit, aby operace připojení nezvětšily velikost objektu blob nad očekávanou maximální velikost v bajtech. Pokud podmínka selže, požadavek selže s kódem chyby 412 (Předběžná podmínka se nezdařila).
Pokud se pokusíte nahrát blok, který je větší než povolená velikost, služba vrátí kód chyby HTTP 413 (Entita požadavku je příliš velká). Služba také vrací další informace o chybě v odpovědi, včetně maximální povolené velikosti bloku v bajtech. Pokud se pokusíte nahrát více než 50 000 bloků, služba vrátí kód chyby 409 (konflikt).
Pokud má objekt blob aktivní zapůjčení, musí klient v požadavku zadat platné ID zapůjčení, aby mohl do objektu blob zapsat blok. Pokud klient nezadá ID zapůjčení nebo zadá neplatné ID zapůjčení, vrátí služba Blob Storage kód chyby 412 (Předběžná podmínka se nezdařila). Pokud klient zadá ID zapůjčení, ale objekt blob nemá aktivní zapůjčení, služba vrátí kód chyby 412.
Pokud zavoláte Append Block From URL existující objekt blob bloku nebo objekt blob stránky, služba vrátí kód chyby 409 (konflikt). Pokud zavoláte Append Block From URL neexistující objekt blob, služba vrátí kód chyby 404 (Nenalezeno).
Vyhněte se duplicitním nebo zpožděným připojením
Ve scénáři s jedním zapisovačem se klient může vyhnout duplicitním připojením nebo zpožděným zápisům pomocí podmíněné hlavičky x-ms-blob-condition-appendpos ke kontrole aktuálního posunu. Klient se také může vyhnout duplicitám nebo zpožděním tím, že podmíněně zkontroluje ETag .If-Match
Ve scénáři s více zapisovači může každý klient používat podmíněné hlavičky. To nemusí být optimální pro výkon. Pro nejvyšší propustnost souběžného připojení by aplikace měly zpracovávat redundantní a zpožděná připojení ve své aplikační vrstvě. Aplikace mohou například přidávat epochy nebo pořadová čísla do připojovaných dat.
Další informace o cenách pro zadanou fakturační kategorii najdete v tématu ceny služby Azure Blob Storage.
Fakturování
Žádosti o ceny můžou pocházet z klientů, kteří používají rozhraní API služby Blob Storage, a to buď přímo prostřednictvím rozhraní REST API služby Blob Storage, nebo z klientské knihovny služby Azure Storage. Tyto žádosti nabíhají poplatky za transakci. Typ transakce ovlivňuje způsob účtování účtu. Například transakce čtení nabíhají do jiné fakturační kategorie než transakce zápisu. Následující tabulka uvádí kategorii fakturace pro požadavky Append Block From URL na základě typu účtu úložiště:
| Operace | Typ účtu úložiště | Kategorie fakturace |
|---|---|---|
| Připojit blok z adresy URL (cílový účet1) | Objekt blob bloku Úrovně Premium Standard pro obecné účely verze 2 Standard pro obecné účely verze 1 |
Operace zápisu |
| Připojit blok z adresy URL (zdrojový účet2) | Objekt blob bloku Úrovně Premium Standard pro obecné účely verze 2 Standard pro obecné účely verze 1 |
Operace čtení |
1Cílový účet se účtuje za jednu transakci, která zahájí zápis.
2Zdrojový účet provede jednu transakci pro každý požadavek na čtení zdroje.