Comprendre les blobs de bloc, les blobs d’appendice, et les blobs de pageUnderstanding block blobs, append blobs, and page blobs

Le service de stockage offre trois types de blobs, blobs bloc, blobs append, et blobs page.The storage service offers three types of blobs, block blobs, append blobs, and page blobs. Vous spécifiez le type de l'objet blob au moment de sa création.You specify the blob type when you create the blob. Une fois que le blob a été créé, son type ne peut pas être changé, et il ne peut être mis à jour qu’en utilisant des opérations appropriées pour ce type blob, c’est-à-dire, l’écriture d’un bloc ou une liste de blocs à un blob bloc, les blocs de mise à jour à un blob appendette, et l’écriture de pages à un blob page.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 a append blob, and writing pages to a page blob.

Tous les objets blob reflètent immédiatement les modifications validées.All blobs reflect committed changes immediately. Chaque version de l'objet blob contient une balise unique, appelée ETag, que vous pouvez utiliser avec des conditions d'accès pour vous assurer de ne modifier qu'une instance spécifique de l'objet blob.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.

Tout objet blob peut être loué pour un accès en écriture exclusif.Any blob can be leased for exclusive write access. Quand un objet blob est loué, seuls les appels qui incluent l'ID de bail actuel peuvent modifier l'objet blob ou ses blocs (pour des objets blob de blocs).When a blob is leased, only calls that include the current lease ID can modify the blob or (for block blobs) its blocks.

Tout objet blob peut être dupliqué dans un instantané.Any blob can be duplicated in a snapshot. Pour plus d’informations sur les instantanés, voir Créer un instantané d’un Blob.For information about snapshots, see Creating a Snapshot of a Blob.

Notes

Les blobs dans l’émulateur de stockage Azure sont limités à une taille maximale de 2 Go.Blobs in the Azure storage emulator are limited to a maximum size of 2 GB.

À propos des objets blob de blocsAbout Block Blobs

Les objets blob de blocs vous permettent de télécharger efficacement des objets blob volumineux.Block blobs let you upload large blobs efficiently. Les objets BLOB de blocs sont composés de blocs, chacun étant identifié par un ID de bloc.Block blobs are comprised of blocks, each of which is identified by a block ID. Vous créez ou modifiez un objet BLOB de blocs en écrivant un ensemble de blocs et en validant leur ID de bloc.You create or modify a block blob by writing a set of blocks and committing them by their block IDs. Chaque bloc peut être d’une taille différente, jusqu’à un maximum de 100 Mo (4 Mo pour les demandes utilisant les versions REST avant 2016-05-31), et un blob bloc peut inclure jusqu’à 50.000 blocs.Each block can be a different size, up to a maximum of 100 MB (4 MB for requests using REST versions before 2016-05-31), and a block blob can include up to 50,000 blocks. La taille maximale d’un blob de bloc est donc légèrement plus de 4,75 TB (100 Mo X 50.000 blocs).The maximum size of a block blob is therefore slightly more than 4.75 TB (100 MB X 50,000 blocks). Pour les versions REST avant 2016-05-31, la taille maximale d’un blob bloc est d’un peu plus de 195 Go (4 Mo X 50.000 blocs).For REST versions before 2016-05-31, the maximum size of a block blob is a little more than 195 GB (4 MB X 50,000 blocks). Si vous écrivez un blob bloc qui n’est pas plus de 256 Mo (64 Mo pour les demandes utilisant des versions REST avant 2016-05-31) de taille, vous pouvez le télécharger dans son intégralité avec une seule opération d’écriture; voir Put Blob.If you are writing a block blob that is no more than 256 MB (64 MB for requests using REST versions before 2016-05-31) in size, you can upload it in its entirety with a single write operation; see Put Blob.

Stockage clients par défaut à un maximum de 128 Mo simple blob télécharger, settable à l’aide de la propriété SingleBlobUploadThresholdInBytes de l’objet BlobRequestOptions.Storage clients default to a 128 MB maximum single blob upload, settable using the SingleBlobUploadThresholdInBytes property of the BlobRequestOptions object. Quand le téléchargement d'un objet blob de blocs dépasse la valeur de cette propriété, les clients de stockage fractionnent le fichier en blocs.When a block blob upload is larger than the value in this property, storage clients break the file into blocks. Vous pouvez définir le nombre de threads utilisés pour télécharger les blocs en parallèle sur une base par demande en utilisant la propriété ParallelOperationThreadCount de l’objet BlobRequestOptions.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.

Quand vous téléchargez un bloc dans un objet BLOB de votre compte de stockage, il est associé à l'objet BLOB de blocs spécifié, mais il ne fait pas partie de l'objet BLOB tant que vous n'avez pas validé une liste de blocs incluant l'ID du nouveau bloc.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. Les nouveaux blocs restent en état non validé tant qu'ils ne sont pas spécifiquement validés ou ignorés.New blocks remain in an uncommitted state until they are specifically committed or discarded. Il peut y avoir un maximum de 100 000 blocs non engagés.There can be a maximum of 100,000 uncommitted blocks. L'écriture d'un bloc ne met pas à jour l'heure de dernière modification d'un objet blob existant.Writing a block does not update the last modified time of an existing blob.

Les objets blob de blocs incluent des fonctionnalités qui vous aident à gérer les fichiers volumineux sur un réseau.Block blobs include features that help you manage large files over networks. Avec un objet blob de blocs, vous pouvez télécharger plusieurs blocs en parallèle pour réduire le temps de téléchargement.With a block blob, you can upload multiple blocks in parallel to decrease upload time. Chaque bloc peut inclure un hachage MD5 pour vérifier le transfert, vous pouvez alors suivre la progression du téléchargement et renvoyer des blocs selon vos besoins.Each block can include an MD5 hash to verify the transfer, so you can track upload progress and re-send blocks as needed. Vous pouvez télécharger des blocs dans n'importe quel ordre et déterminer leur séquence à l'étape finale de validation de la liste de blocs.You can upload blocks in any order, and determine their sequence in the final block list commitment step. Vous pouvez aussi télécharger un nouveau bloc pour remplacer un bloc validé existant associé au même ID de bloc.You can also upload a new block to replace an existing uncommitted block of the same block ID. Vous avez une semaine pour valider les blocs dans un objet BLOB avant qu'ils soient ignorés.You have one week to commit blocks to a blob before they are discarded. Tous les blocs non validés sont ignorés quand ils sont exclus lors d'une opération de validation de liste de blocs.All uncommitted blocks are also discarded when a block list commitment operation occurs but does not include them.

Vous pouvez modifier un objet blob de blocs existant en insérant, remplaçant ou supprimant des blocs existants.You can modify an existing block blob by inserting, replacing, or deleting existing blocks. Après avoir téléchargé le ou les blocs modifiés, vous pouvez valider une nouvelle version de l'objet blob en validant les nouveaux blocs en même temps que les blocs existants que vous souhaitez conserver en une seule opération de validation.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. Pour insérer la même plage d'octets à deux emplacements différents de l'objet blob validé, vous pouvez valider le même bloc à deux emplacements pendant la même opération de validation.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. Pour toutes les opérations de validation, si tous les blocs ne sont pas trouvés, l'opération entière de validation échoue avec une erreur et l'objet blob n'est pas modifié.For any commit operation, if any block is not found, the entire commitment operation fails with an error, and the blob is not modified. Tout engagement de bloc surécrit les propriétés et les métadonnées existantes du blob, et rejette tous les blocs non engagés.Any block commitment overwrites the blob's existing properties and metadata, and discards all uncommitted blocks.

Les ID de bloc sont des chaînes de longueur égale dans un objet blob.Block IDs are strings of equal length within a blob. Le code client de bloc utilise généralement le codage en base 64 pour normaliser les chaînes en longueurs égales.Block client code usually uses base-64 encoding to normalize strings into equal lengths. Dans le codage en base 64, la chaîne précodée doit mesurer 64 octets maximum.When using base-64 encoding, the pre-encoded string must be 64 bytes or less. Les valeurs d'ID de bloc peuvent être dupliquées dans différents objets blob.Block ID values can be duplicated in different blobs.

Si vous écrivez un bloc pour un objet blob qui n'existe pas, un nouvel objet blob de blocs est créé avec une longueur de zéro octet.If you write a block for a blob that does not exist, a new block blob is created, with a length of zero bytes. Cet objet blob apparaît dans les listes d'objets blob qui incluent les objets blob non validés.This blob will appear in blob lists that include uncommitted blobs. Si vous n’engagez aucun bloc à ce blob, lui et ses blocs non engagés seront jetés une semaine après le dernier téléchargement réussi bloc.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. Tous les blocs non validés sont également ignorés quand un nouvel objet blob de même nom est créé en une seule étape (au lieu du processus en deux étapes de téléchargement puis validation des blocs).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).

À propos des objets blob de pagesAbout Page Blobs

Les objets blob de pages sont une collection de pages de 512 octets optimisées pour les opérations aléatoires de lecture et d'écriture.Page blobs are a collection of 512-byte pages optimized for random read and write operations. Pour créer un objet blob de pages, vous initialisez l'objet blob de pages et spécifiez la taille maximale qu'il pourra atteindre.To create a page blob, you initialize the page blob and specify the maximum size the page blob will grow. Pour ajouter ou mettre à jour le contenu d'un objet blob de pages, vous écrivez une ou plusieurs pages en spécifiant un décalage et une plage conformément aux limites de pages de 512 octets.To add or update the contents of a page blob, you write a page or pages by specifying an offset and a range that align to 512-byte page boundaries. Une écriture dans un objet blob de pages peut remplacer une seule page, certaines pages ou un maximum de 4 Mo de l'objet blob de pages.A write to a page blob can overwrite just one page, some pages, or up to 4 MB of the page blob. Les écritures dans les objets blob de pages se produisent sur place et sont immédiatement validées dans l'objet blob.Writes to page blobs happen in-place and are immediately committed to the blob. La taille maximale pour un blob page est de 8 TB.The maximum size for a page blob is 8 TB.

Les disques de machine virtuelle Azure sont soutenus par des blobs de page.Azure virtual machine disks are backed by page blobs. Azure offre deux types de stockage de disque durable : premium et standard.Azure offers two types of durable disk storage: premium and standard. Le stockage premium pour les blobs de page est conçu pour les charges de travail de la machine virtuelle Azure qui exigent des performances élevées constantes et une faible latence.Premium storage for page blobs is designed for Azure virtual machine workloads that require consistent high performance and low latency. Pour plus d’informations, voir la section Premium disques à état solide (SSD) de l’article Sélectionnez un type de disque pour les machines À sous IaaS.For detailed information, see the Premium solid-state drives (SSD) section of the article Select a disk type for IaaS VMs. Pour plus d’informations sur les objectifs d’évolutivité pour le stockage premium pour les blobs de page, voir Azure Storage Scalability and Performance Targets.For information about the scalability targets for premium storage for page blobs, see Azure Storage Scalability and Performance Targets.

À propos des objets blob d'ajoutAbout Append Blobs

Un blob d’appendice est composé de blocs et est optimisé pour les opérations d’appendice.An append blob is comprised of blocks and is optimized for append operations. Lorsque vous modifiez un blob d’appendice, des blocs sont ajoutés à l’extrémité du blob uniquement, via l’opération Du bloc d’annexe.When you modify an append blob, blocks are added to the end of the blob only, via the Append Block operation. La mise à jour ou la suppression des blocs existants n’est pas prise en charge.Updating or deleting of existing blocks is not supported. Contrairement à un blob bloc, un blob appendice n’expose pas ses ID bloc.Unlike a block blob, an append blob does not expose its block IDs.

Chaque bloc dans un blob appendice peut être d’une taille différente, jusqu’à un maximum de 4 Mo, et un blob appendette peut inclure jusqu’à 50.000 blocs.Each block in an append blob can be a different size, up to a maximum of 4 MB, and an append blob can include up to 50,000 blocks. La taille maximale d’un objet blob d’ajout est donc légèrement supérieure à 195 Go (4 Mo x 50 000 blocs).The maximum size of an append blob is therefore slightly more than 195 GB (4 MB X 50,000 blocks).

 Voir aussiSee Also

Comment utiliser le service de stockage Blob How to Use the Blob Storage Service
Utilisation du service de stockage de files d’attenteHow to Use the Queue Storage Service