Principy objektů blob bloku, doplňovacích objektů blob a objektů blob stránky
Služba storage nabízí tři typy objektů blob: objekty blob bloku, doplňovací objekty blob a objekty blob stránky. Typ objektu blob zadáte při vytváření objektu blob. Po vytvoření objektu blob nelze změnit jeho typ a je možné ho aktualizovat pouze pomocí operací vhodných pro daný typ objektu blob, tj. zápisem bloku nebo seznamu bloků do objektu blob bloku, připojením bloků k doplňovacímu objektu blob a zápisem stránek do objektu blob stránky.
Všechny objekty blob okamžitě odrážejí potvrzené změny. Každá verze objektu blob má jedinečnou značku označovanou jako ETag, kterou můžete použít s podmínkami přístupu, abyste zajistili, že změníte jenom konkrétní instanci objektu blob.
Jakýkoli objekt blob je možné pronajmout pro výhradní přístup k zápisu. Pokud je objekt blob zapůjčený, můžou pouze volání, která obsahují aktuální ID zapůjčení, upravit objekt blob nebo (v případě objektů blob bloku) jeho bloky.
Každý objekt blob je možné duplikovat ve snímku. Informace o snímcích najdete v tématu Vytvoření snímku objektu blob.
Poznámka
Objekty blob v emulátoru úložiště Azure jsou omezené na maximální velikost 2 GiB.
Informace o objektech blob bloku
Objekty blob bloku jsou optimalizované pro efektivní nahrávání velkých objemů dat. Objekty blob bloku se skládají z bloků, z nichž každý je identifikován ID bloku. Objekt blob bloku může obsahovat až 50 000 bloků. Každý blok v objektu blob bloku může mít jinou velikost až do maximální povolené velikosti používané verze služby. Pokud chcete vytvořit nebo upravit objekt blob bloku, napište sadu bloků prostřednictvím operace Vložení bloku a pak bloky potvrďte do objektu blob pomocí operace Vložit seznam bloků .
Objekty blob, které mají menší než určitou velikost (určenou verzí služby), je možné nahrát v celém rozsahu pomocí jedné operace zápisu prostřednictvím příkazu Put Blob.
Následující tabulka popisuje maximální velikosti bloku a objektů blob povolené verzí služby.
Verze služby | Maximální velikost bloku (přes Put Block) | Maximální velikost objektu blob (přes Vložit seznam blokovaných objektů) | Maximální velikost objektu blob prostřednictvím operace jednoho zápisu (přes Put Blob) |
---|---|---|---|
Verze 2019-12-12 a novější | 4000 MiB | Přibližně 190,7 TiB (4000 MiB x 50 000 bloků) | 5000 MiB |
Verze 2016-05-31 až verze 2019-07-07-07 | 100 MiB | Přibližně 4,75 TiB (100 MiB x 50 000 bloků) | 256 MiB |
Verze před 31. 5. 2016 | 4 MiB | Přibližně 195 GiB (4 MiB x 50 000 bloků) | 64 MiB |
Klienti úložiště ve výchozím nastavení nahrají maximálně jeden objekt blob 128 MiB, který je možné nastavit v klientské knihovně služby Azure Storage pro .NET verze 11 pomocí vlastnosti SingleBlobUploadThresholdInBytes objektu BlobRequestOptions . Pokud je nahrání objektu blob bloku větší než hodnota v této vlastnosti, klienti úložiště rozdělí soubor na bloky. Můžete nastavit počet vláken používaných k paralelnímu nahrávání bloků na základě požadavku pomocí vlastnosti ParallelOperationThreadCountobjektu BlobRequestOptions .
Když nahrajete blok do objektu blob ve vašem účtu úložiště, přidružuje se k zadanému objektu blob bloku, ale stane se součástí objektu blob, dokud nezadáte seznam bloků, který obsahuje ID nového bloku. Nové bloky zůstanou v nepotvrzeném stavu, dokud nebudou výslovně potvrzeny nebo zahozeny. Může existovat maximálně 100 000 nepotvrzených bloků. Zápis bloku neaktualizuje čas poslední změny existujícího objektu blob.
Objekty blob bloku zahrnují funkce, které vám pomůžou spravovat velké soubory přes sítě. S objektem blob bloku můžete nahrát několik bloků paralelně, abyste zkrátili dobu nahrávání. Každý blok může obsahovat hodnotu hash MD5 pro ověření přenosu, takže můžete sledovat průběh nahrávání a podle potřeby znovu odesílat bloky. Bloky můžete nahrát v libovolném pořadí a určit jejich pořadí v posledním kroku závazku seznamu blokovaných bloků. Můžete také nahrát nový blok, který nahradí stávající nepotvrzený blok stejného ID bloku. Na potvrzení bloků do objektu blob máte jeden týden, než se zahodí. Všechny nepotvrzené bloky se také zahodí, když dojde k operaci závazku seznamu blokovaných, ale nezahrnuje je.
Existující objekt blob bloku můžete upravit vložením, nahrazením nebo odstraněním existujících bloků. Po nahrání změněného bloku nebo bloků můžete potvrdit novou verzi objektu blob potvrzením nových bloků s existujícími bloky, které chcete zachovat, pomocí jediné operace potvrzení. Pokud chcete vložit stejný rozsah bajtů do dvou různých umístění potvrzeného objektu blob, můžete stejný blok potvrdit na dvou místech v rámci stejné operace potvrzení. Pokud se u jakékoli operace potvrzení nenajde žádný blok, celá operace závazku selže s chybou a objekt blob se nezmění. Jakýkoli závazek blokování přepíše existující vlastnosti a metadata objektu blob a zahodí všechny nepotvrzené bloky.
ID bloků jsou řetězce stejné délky v rámci objektu blob. Blokový klientský kód obvykle používá kódování base-64 k normalizaci řetězců do stejné délky. Při použití kódování base-64 musí mít předem zakódovaný řetězec 64 bajtů nebo méně. Hodnoty ID bloku je možné duplikovat v různých objektech blob.
Pokud napíšete blok pro objekt blob, který neexistuje, vytvoří se nový objekt blob bloku s délkou nula bajtů. Tento objekt blob se zobrazí v seznamech objektů blob, které obsahují nepotvrzené objekty blob. Pokud do tohoto objektu blob nepotvrzujete žádný blok, budou se tento objekt a jeho nepotvrzené bloky týden po posledním úspěšném nahrání bloku zahodí. Všechny nepotvrzené bloky se také zahodí při vytvoření nového objektu blob se stejným názvem pomocí jediného kroku (místo dvoustupňového procesu nahrávání a následného potvrzení bloku).
Informace o objektech blob stránky
Objekty blob stránky jsou kolekce 512 bajtů stránek optimalizovaných pro náhodné operace čtení a zápisu. Pokud chcete vytvořit objekt blob stránky, inicializujete objekt blob stránky a určíte maximální velikost objektu blob stránky. Pokud chcete přidat nebo aktualizovat obsah objektu blob stránky, napíšete stránku nebo stránky zadáním posunu a rozsahu, který je zarovnán na hranice stránky o velikosti 512 bajtů. Zápis do objektu blob stránky může přepsat jenom jednu stránku, některé stránky nebo až 4 MiB objektu blob stránky. Zápisy do objektů blob stránky probíhají na místě a okamžitě se potvrdí do objektu blob. Maximální velikost objektu blob stránky je 8 TiB.
Disky virtuálních počítačů Azure jsou zajištěné objekty blob stránky. Azure nabízí dva typy odolného diskového úložiště: Premium a Standard. Úložiště Premium pro objekty blob stránky je navržené pro úlohy virtuálních počítačů Azure, které vyžadují konzistentní vysoký výkon a nízkou latenci. Podrobné informace najdete v části Jednotky SSD (Solid-State Drive) úrovně Premium v článku Výběr typu disku pro virtuální počítače IaaS. Informace o cílech škálovatelnosti služby Premium Storage pro objekty blob stránky najdete v tématu Škálovatelnost služby Azure Storage a cíle výkonu.
Informace o doplňovacích objektech blob
Doplňovací objekt blob se skládá z bloků a je optimalizovaný pro operace připojení. Když upravíte doplňovací objekt blob, bloky se přidají pouze na konec objektu blob prostřednictvím operace Připojit blok . Aktualizace nebo odstranění existujících bloků se nepodporuje. Na rozdíl od objektu blob bloku doplňovací objekt blob nezpřístupňuje ID bloků.
Každý blok v doplňovacím objektu blob může mít jinou velikost, maximálně 4 MiB, a doplňovací objekt blob může obsahovat až 50 000 bloků. Maximální velikost doplňovacího objektu blob je tedy o něco větší než 195 GiB (4 MiB x 50 000 bloků).