Principy objektů blob bloku, doplňovací objekty blob a objektů blob stránky
Služba úložiště nabízí tři typy objektů blob, objektů 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 jeho typ změnit a aktualizovat ho pouze pomocí operací vhodných pro tento 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 značka ETag, kterou můžete použít s podmínkami přístupu, abyste zajistili, že změníte pouze konkrétní instanci objektu blob.
Každý objekt blob je možné pronajímat pro výhradní přístup pro zápis. Při zapůjčení objektu blob mohou objekt blob nebo jeho bloky (pro objekty blob bloku) upravovat pouze volání, která obsahují aktuální ID zapůjčení.
Každý objekt blob se ve snímku může duplikovat. 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 pomocí 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í velikosti povolené pro pou3/4íovanou verzi služby. Pokud chcete vytvořit nebo upravit objekt blob bloku, zapište sadu bloků prostřednictvím operace Put Block a pak je potvrďte do objektu blob pomocí operace Put Block List.
Objekty blob, které jsou menší než určitá velikost (určené verzí služby), je možné nahrát v celém rozsahu pomocí jedné operace zápisu prostřednictvím put blob.
Následující tabulka popisuje maximální velikosti bloků 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 seznam bloků PUT) | Maximální velikost objektu blob prostřednictvím jedné operace zápisu (přes Put Blob) |
|---|---|---|---|
| Verze z 12. 12. 2019 a novější | 4 000 MiB | Přibližně 190,7 TiB (4000 bloků MiB X 50 000) | 5000 MiB (Preview) |
| Verze z 31. 5. 2016 do verze z 7. 7. 2019 | 100 MiB | Přibližně 4,75 TiB (100 MiB × 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 |
Storage 128 MiB ve výchozím nastavení 128 MiB, které je možné nastavit v klientské knihovně 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ě soubor přeruší na bloky. Počet vláken používaných k paralelnímu nahrávání bloků pro každý požadavek můžete nastavit pomocí vlastnosti ParallelOperationThreadCount objektu BlobRequestOptions.
Když nahrajete blok do objektu blob ve vašem účtu úložiště, je přidružený k zadanému objektu blob bloku, ale nestávají se součástí objektu blob, dokud nepotáte seznam bloků, které obsahují ID nového bloku. Nové bloky zůstanou v nepotrzeném stavu, dokud nejsou výslovně potvrzeny nebo zahozeny. Může být maximálně 100 000 nepotutých bloků. Zápis bloku ne aktualizován čas poslední změny existujícího objektu blob.
Objekty blob bloku obsahují funkce, které vám pomůžou spravovat velké soubory přes sítě. Pomocí objektu blob bloku můžete nahrát několik bloků paralelně, abyste snížili 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 bloky odesílat znovu. Bloky můžete nahrát v libovolném pořadí a určit jejich pořadí v posledním kroku závazku seznamu bloků. Můžete také nahrát nový blok, který nahradí existující nepotrzené blok stejného ID bloku. Před jejich zahozením máte týden na potvrzení bloků do objektu blob. Všechny nepotrzené bloky se také zahodí, když dojde k operaci závazku seznamu bloků, ale nezahrnují 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í bloku nebo bloků, které se změnily, můžete potvrdit novou verzi objektu blob tak, že potvrdíte nové bloky s existujícími bloky, které chcete zachovat, pomocí jedné operace potvrzení. Pokud chcete vložit stejný rozsah bajtů do dvou různých umístění potvrzených objektů blob, můžete stejný blok potvrdit na dvou místech v rámci stejné operace potvrzení. Pokud se v případě jakékoli operace potvrzení žádný blok nenašel, celá operace závazku selže s chybou a objekt blob se neupraví. Jakýkoli blokový závazek přepíše stávající vlastnosti a metadata objektu blob a zahodí všechny nepotuzené 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ých délek. Při použití kódování base-64 musí být předkódovaný řetězec 64 bajtů nebo menší. Hodnoty ID bloku je možné duplikovat v různých objektech blob.
Pokud zapíšete blok pro objekt blob, který neexistuje, vytvoří se nový objekt blob bloku o délce nula bajtů. Tento objekt blob se zobrazí v seznamech objektů blob, které obsahují nepotrzené objekty blob. Pokud do tohoto objektu blob nepotáháte žádný blok, zahodí se tento blok i jeho nepotužené bloky týden po posledním úspěšném nahrání bloku. Všechny nepotrzené bloky se také zahodí, když se pomocí jednoho kroku vytvoří nový objekt blob se stejným názvem (a ne pomocí dvoukroku bloku upload-then-commit).
Informace o objektech blob stránky
Objekty blob stránky jsou kolekce 512 byte stránek optimalizovaných pro náhodné operace čtení a zápisu. Pokud chcete vytvořit objekt blob stránky, inicializujte objekt blob stránky a zadejte 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 zarovnaný na hranice stránky o 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 prochádí na místě a okamžitě se do něj zapíšou. Maximální velikost objektu blob stránky je 8 TiB.
Disky virtuálních počítačů Azure jsou zálohované objekty blob stránky. Azure nabízí dva typy úložiště trvalých disků: Premium a Standard. Premium úložiště pro objekty blob stránky je určené pro úlohy virtuálních počítačů Azure, které vyžadují konzistentní vysoký výkon a nízkou latenci. Podrobné informace najdete v Premium SSD článku Výběr typu disku pro virtuální počítače IaaS. Informace o cílech škálovatelnosti pro premium storage pro objekty blob stránky najdete v tématu Azure Storage a cíle výkonnosti.
Informace o doplňcích objektů blob
Doplňovací objekt blob se skládá z bloků a je optimalizovaný pro doplňovací operace. Když upravíte doplňovací objekt blob, bloky se přidávají pouze na konec objektu blob prostřednictvím operace Append Block (Připojit blok). Aktualizace nebo odstranění existujících bloků se nepodporuje. Na rozdíl od objektu blob bloku objekt blob připojení nevystavuje svá ID bloků.
Každý blok v doplňovacím objektu blob může mít jinou velikost až do 4 MiB a doplňovací objekt blob může obsahovat až 50 000 bloků. Maximální velikost doplňovacího objektu blob je proto o něco větší než 195 GiB (4 MiB x 50 000 bloků).