Meer informatie over blok-blobs, toevoeg-blobs en pagina-blobsUnderstanding block blobs, append blobs, and page blobs

De opslag service biedt drie typen blobs, blok-blobs, toevoeg-blobs en pagina-blobs.The storage service offers three types of blobs, block blobs, append blobs, and page blobs. U geeft het type Blob op wanneer u de BLOB maakt.You specify the blob type when you create the blob. Zodra de blob is gemaakt, kan het type ervan niet worden gewijzigd en kan het alleen worden bijgewerkt met behulp van bewerkingen die geschikt zijn voor dat type blob, d.w.z. het schrijven van een blok of lijst met blokken naar een blok-blob, het toevoegen van blokken aan een toevoeg-Blob en het schrijven van pagina's naar een pagina-blob.Once the blob has been created, its type cannot be changed, and it can be updated only by using operations appropriate for that blob type, i.e., writing a block or list of blocks to a block blob, appending blocks to an append blob, and writing pages to a page blob.

Alle blobs geven onmiddellijk doorgevoerde wijzigingen weer.All blobs reflect committed changes immediately. Elke versie van de BLOB heeft een unieke tag, een ETAG genoemd, die u kunt gebruiken met toegangs voorwaarden om te garanderen dat u alleen een specifiek exemplaar van de BLOB wijzigt.Each version of the blob has a unique tag, called an ETag, that you can use with access conditions to assure you only change a specific instance of the blob.

Een BLOB kan worden geleasd voor exclusieve schrijf toegang.Any blob can be leased for exclusive write access. Wanneer een BLOB wordt geleasd, kunnen alleen aanroepen die de huidige lease-ID bevatten, de BLOB of (voor blok-blobs) de blokken wijzigen.When a blob is leased, only calls that include the current lease ID can modify the blob or (for block blobs) its blocks.

Elke Blob kan worden gedupliceerd in een moment opname.Any blob can be duplicated in a snapshot. Zie een moment opname van een BLOB makenvoor meer informatie over moment opnamen.For information about snapshots, see Creating a Snapshot of a Blob.

Notitie

Blobs in de Azure-opslag emulator zijn beperkt tot een maximum grootte van 2 GiB.Blobs in the Azure storage emulator are limited to a maximum size of 2 GiB.

Over blok-blobsAbout block blobs

Blok-blobs zijn geoptimaliseerd voor het efficiënt uploaden van grote hoeveel heden gegevens.Block blobs are optimized for uploading large amounts of data efficiently. Blok-blobs bestaan uit blokken, die allemaal worden aangeduid met een blok-ID.Block blobs are composed of blocks, each of which is identified by a block ID. Een blok-Blob kan Maxi maal 50.000 blokken bevatten.A block blob can include up to 50,000 blocks. Elk blok in een blok-Blob kan een andere grootte hebben, tot de maximale grootte die is toegestaan voor de in gebruik zijnde Service versie.Each block in a block blob can be a different size, up to the maximum size permitted for the service version in use. Als u een blok-BLOB wilt maken of wijzigen, schrijft u een set blokken via de put-blok bewerking en voert u de blokken vervolgens door naar een blob met de bewerking blokkerings lijst .To create or modify a block blob, write a set of blocks via the Put Block operation and then commit the blocks to a blob with the Put Block List operation.

Blobs die kleiner zijn dan een bepaalde grootte (bepaald door de service versie) kunnen in hun geheel worden geüpload met één schrijf bewerking via een put-BLOB.Blobs that are less than a certain size (determined by service version) can be uploaded in their entirety with a single write operation via Put Blob.

In de volgende tabel staan de maximale blok- en blobgroottes die per serviceversie zijn toegestaan.The following table describes the maximum block and blob sizes permitted by service version.

ServiceversieService version Maximale blokgrootte (via Put Block)Maximum block size (via Put Block) Maximale blobgrootte (via Put Block List)Maximum blob size (via Put Block List) Maximale blobgrootte via enkele schrijfbewerking (via Put Blob)Maximum blob size via single write operation (via Put Blob)
Versie 2019-12-12 en hogerVersion 2019-12-12 and later 4000-MiB4000 MiB Ongeveer 190,7 TiB (4000 MiB X 50.000 blokken)Approximately 190.7 TiB (4000 MiB X 50,000 blocks) 5000 MiB (preview)5000 MiB (preview)
Versie 2016-05-31 t/m versie 2019-07-07Version 2016-05-31 through version 2019-07-07 100 MiB100 MiB Ongeveer 4,75 TiB (100 MiB x 50.000 blokken)Approximately 4.75 TiB (100 MiB X 50,000 blocks) 256 MiB256 MiB
Versies vóór 2016-05-31Versions prior to 2016-05-31 4 MiB4 MiB Ongeveer 195 GiB (4 MiB x 50.000 blokken)Approximately 195 GiB (4 MiB X 50,000 blocks) 64 MiB64 MiB

Storage-clients zijn standaard ingesteld op een 128 MiB maximum enkele BLOB-upload, besteld in de Azure Storage-client bibliotheek voor .NET versie 11 met behulp van de eigenschap SingleBlobUploadThresholdInBytes van het BlobRequestOptions -object.Storage clients default to a 128 MiB maximum single blob upload, settable in the Azure Storage client library for .NET version 11 by using the SingleBlobUploadThresholdInBytes property of the BlobRequestOptions object. Wanneer het uploaden van een blok-BLOB groter is dan de waarde in deze eigenschap, verbreekt de opslag-clients het bestand in blokken.When a block blob upload is larger than the value in this property, storage clients break the file into blocks. Met de eigenschap ParallelOperationThreadCount van het BlobRequestOptions -object kunt u het aantal threads instellen dat wordt gebruikt voor het parallel uploaden van de blokken per aanvraag.You can set the number of threads used to upload the blocks in parallel on a per-request basis using the ParallelOperationThreadCount property of the BlobRequestOptions object.

Wanneer u een blok uploadt naar een BLOB in uw opslag account, wordt deze gekoppeld aan de opgegeven blok-blob, maar wordt het pas onderdeel van de BLOB als u een lijst met blokken met de nieuwe blok-ID hebt door gegeven.When you upload a block to a blob in your storage account, it is associated with the specified block blob, but it does not become part of the blob until you commit a list of blocks that includes the new block's ID. Nieuwe blokken blijven in een niet-doorgevoerde status totdat ze specifiek worden doorgevoerd of verwijderd.New blocks remain in an uncommitted state until they are specifically committed or discarded. Er kunnen Maxi maal 100.000 niet-doorgevoerde blokken zijn.There can be a maximum of 100,000 uncommitted blocks. Wanneer u een blok schrijft, wordt het tijdstip van de laatste wijziging van een bestaande BLOB niet bijgewerkt.Writing a block does not update the last modified time of an existing blob.

Blok-blobs bevatten functies waarmee u grote bestanden via netwerken kunt beheren.Block blobs include features that help you manage large files over networks. Met een blok-BLOB kunt u meerdere blokken parallel uploaden om de upload tijd te verkorten.With a block blob, you can upload multiple blocks in parallel to decrease upload time. Elk blok kan een MD5-hash bevatten om de overdracht te controleren, zodat u de voortgang van het uploaden kunt volgen en de blokken opnieuw moet verzenden als dat nodig is.Each block can include an MD5 hash to verify the transfer, so you can track upload progress and re-send blocks as needed. U kunt in een wille keurige volg orde blokken uploaden en de volg orde ervan bepalen in de definitieve toezeggings stap van blokkerings lijst.You can upload blocks in any order, and determine their sequence in the final block list commitment step. U kunt ook een nieuw blok uploaden om een bestaand, niet-vastgelegd blok met dezelfde blok-ID te vervangen.You can also upload a new block to replace an existing uncommitted block of the same block ID. U hebt een week om blokken door te voeren in een BLOB voordat ze worden verwijderd.You have one week to commit blocks to a blob before they are discarded. Alle niet-doorgevoerde blokken worden ook verwijderd wanneer er een toezeg ging voor een blokkerings lijst plaatsvindt, maar deze niet bevat.All uncommitted blocks are also discarded when a block list commitment operation occurs but does not include them.

U kunt een bestaande blok-BLOB wijzigen door bestaande blokken in te voegen, te vervangen of te verwijderen.You can modify an existing block blob by inserting, replacing, or deleting existing blocks. Na het uploaden van het blok of de blokken die zijn gewijzigd, kunt u een nieuwe versie van de BLOB door voeren door de nieuwe blokken door te voeren met de bestaande blokken die u met één doorvoer bewerking wilt blijven gebruiken.After uploading the block or blocks that have changed, you can commit a new version of the blob by committing the new blocks with the existing blocks you want to keep using a single commit operation. Als u hetzelfde bereik aan bytes op twee verschillende locaties van de doorgevoerde BLOB wilt invoegen, kunt u hetzelfde blok op twee plaatsen in dezelfde doorvoer bewerking door voeren.To insert the same range of bytes in two different locations of the committed blob, you can commit the same block in two places within the same commit operation. Als een wille keurige blok kering niet wordt gevonden, mislukt de volledige toezeggings bewerking met een fout en wordt de BLOB niet gewijzigd.For any commit operation, if any block is not found, the entire commitment operation fails with an error, and the blob is not modified. Alle blokkerings toezeggingen overschrijft de bestaande eigenschappen en meta gegevens van de BLOB en verwijdert alle niet-doorgevoerde blokken.Any block commitment overwrites the blob's existing properties and metadata, and discards all uncommitted blocks.

Blok-Id's zijn teken reeksen met een gelijke lengte binnen een blob.Block IDs are strings of equal length within a blob. Client code blok keren maakt gewoonlijk gebruik van base-64-code ring om teken reeksen te normaliseren in gelijke lengten.Block client code usually uses base-64 encoding to normalize strings into equal lengths. Bij gebruik van de base-64-code ring moet de vooraf gecodeerde teken reeks 64 bytes of minder zijn.When using base-64 encoding, the pre-encoded string must be 64 bytes or less. De waarden van de blok-ID kunnen worden gedupliceerd in verschillende blobs.Block ID values can be duplicated in different blobs.

Als u een blok schrijft voor een blob die niet bestaat, wordt er een nieuwe blok-BLOB gemaakt met een lengte van nul bytes.If you write a block for a blob that does not exist, a new block blob is created, with a length of zero bytes. Deze BLOB wordt weer gegeven in BLOB-lijsten die niet-doorgevoerde blobs bevatten.This blob will appear in blob lists that include uncommitted blobs. Als u geen wille keurige blok kering doorvoert aan deze blob, worden deze en de niet-doorgevoerde blokken één week verwijderd na de laatste voltooide blok upload.If you don't commit any block to this blob, it and its uncommitted blocks will be discarded one week after the last successful block upload. Alle niet-doorgevoerde blokken worden ook verwijderd wanneer een nieuwe blob met dezelfde naam wordt gemaakt met behulp van één stap (in plaats van het proces voor het uploaden van twee stappen blok keren en vervolgens door Voer).All uncommitted blocks are also discarded when a new blob of the same name is created using a single step (rather than the two-step block upload-then-commit process).

Pagina-blobsAbout page blobs

Pagina-blobs zijn een verzameling van 512-byte pagina's die zijn geoptimaliseerd voor wille keurige Lees-en schrijf bewerkingen.Page blobs are a collection of 512-byte pages optimized for random read and write operations. Als u een pagina-BLOB wilt maken, initialiseert u de pagina-Blob en geeft u de maximale grootte op waarmee de pagina-BLOB wordt verg root.To create a page blob, you initialize the page blob and specify the maximum size the page blob will grow. Om de inhoud van een pagina-BLOB toe te voegen of bij te werken, schrijft u een of meer pagina's door een verschuiving en een bereik op te geven die beide op pagina grenzen van 512-byte worden uitgelijnd.To add or update the contents of a page blob, you write a page or pages by specifying an offset and a range that both align to 512-byte page boundaries. Een schrijf bewerking naar een pagina-Blob kan slechts één pagina, sommige pagina's of Maxi maal 4 MiB van de pagina-BLOB overschrijven.A write to a page blob can overwrite just one page, some pages, or up to 4 MiB of the page blob. Schrijf bewerkingen naar pagina-blobs gebeuren in-place en worden direct doorgevoerd in de blob.Writes to page blobs happen in-place and are immediately committed to the blob. De maximale grootte voor een pagina-blob is 8 TiB.The maximum size for a page blob is 8 TiB.

Schijven van virtuele machines van Azure worden ondersteund door pagina-blobs.Azure virtual machine disks are backed by page blobs. Azure biedt twee typen duurzame schijf opslag: Premium en Standard.Azure offers two types of durable disk storage: premium and standard. Premium-opslag voor pagina-blobs is ontworpen voor werk belastingen van virtuele Azure-machines die consistente hoge prestaties en lage latentie nodig hebben.Premium storage for page blobs is designed for Azure virtual machine workloads that require consistent high performance and low latency. Zie voor gedetailleerde informatie de sectie Premium Solid-state drives (SSD) in het artikel Selecteer een schijf type voor IaaS vm's.For detailed information, see the Premium solid-state drives (SSD) section of the article Select a disk type for IaaS VMs. Zie Azure Storage schaal baarheid en prestatie doelenvoor meer informatie over de schaalbaarheids doelen voor Premium-opslag voor pagina-blobs.For information about the scalability targets for premium storage for page blobs, see Azure Storage Scalability and Performance Targets.

Over toevoeg-blobsAbout append blobs

Een toevoeg-BLOB bestaat uit blokken en is geoptimaliseerd voor toevoeg bewerkingen.An append blob is composed of blocks and is optimized for append operations. Wanneer u een toevoeg-BLOB wijzigt, worden blokken alleen toegevoegd aan het einde van de blob, via de toevoeg bewerking voor blok keren .When you modify an append blob, blocks are added to the end of the blob only, via the Append Block operation. Het bijwerken of verwijderen van bestaande blokken wordt niet ondersteund.Updating or deleting of existing blocks is not supported. In tegens telling tot een blok-BLOB maakt een toevoeg-BLOB de blok-Id's niet zichtbaar.Unlike a block blob, an append blob does not expose its block IDs.

Elk blok in een toevoeg-Blob kan een andere grootte hebben, Maxi maal 4 MiB en een toevoeg-Blob kan Maxi maal 50.000 blokken bevatten.Each block in an append blob can be a different size, up to a maximum of 4 MiB, and an append blob can include up to 50,000 blocks. De maximale grootte van een toevoeg-blob is daarom iets meer dan 195 GiB (4 MiB X 50.000 blokken).The maximum size of an append blob is therefore slightly more than 195 GiB (4 MiB X 50,000 blocks).

Zie ookSee Also