Descripción de blobs en bloques, blobs en anexos y blobs en páginasUnderstanding block blobs, append blobs, and page blobs

El servicio de almacenamiento ofrece tres tipos de blobs, blobs en bloques, blobs en anexosy blobs en páginas.The storage service offers three types of blobs, block blobs, append blobs, and page blobs. Se especifica el tipo de blob cuando se crea.You specify the blob type when you create the blob. Una vez creado el blob, no se puede cambiar su tipo y solo se puede actualizar mediante operaciones adecuadas para ese tipo de blob, es decir, escribir un bloque o una lista de bloques en un blob en bloques, anexar bloques a un blob de anexar y escribir páginas a un blob en páginas.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.

Todos los blobs reflejan los cambios confirmados inmediatamente.All blobs reflect committed changes immediately. Cada versión del blob tiene una etiqueta única, denominada ETag, que puede usar con condiciones de acceso para asegurarse de que solo cambia una instancia concreta del 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.

Se puede conceder cualquier blob para acceso exclusivo de escritura.Any blob can be leased for exclusive write access. Cuando se concede un blob, solamente las llamadas que incluyen el identificador de concesión actual pueden modificar el blob (para blobs en bloques) o sus bloques.When a blob is leased, only calls that include the current lease ID can modify the blob or (for block blobs) its blocks.

Los blobs se puede duplicar en una instantánea.Any blob can be duplicated in a snapshot. Para obtener información acerca de las instantáneas, consulte Creación de una instantánea de un blob.For information about snapshots, see Creating a Snapshot of a Blob.

Nota

Los blobs en el emulador de azure Storage están limitados a un tamaño máximo de 2 GB.Blobs in the Azure storage emulator are limited to a maximum size of 2 GB.

Acerca de blobs en bloquesAbout Block Blobs

Los blobs en bloques permiten cargar blobs grandes de manera eficiente.Block blobs let you upload large blobs efficiently. Los blobs en bloques están formados por bloques, cada uno de los cuales se identifica mediante un identificador de bloque.Block blobs are comprised of blocks, each of which is identified by a block ID. Es posible crear o modificar un blob en bloques escribiendo un conjunto de bloques y confirmándolos mediante sus identificadores de bloque.You create or modify a block blob by writing a set of blocks and committing them by their block IDs. Cada bloque puede tener un tamaño diferente, hasta un máximo de 100 MB (4 MB para las solicitudes que usan versiones REST anteriores a 2016-05-31), y un blob en bloques puede incluir hasta 50.000 bloques.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. Por lo tanto, el tamaño máximo de un blob en bloques es ligeramente superior a 4,75 TB (100 MB X 50.000 bloques).The maximum size of a block blob is therefore slightly more than 4.75 TB (100 MB X 50,000 blocks). Para las versiones REST anteriores a 2016-05-31, el tamaño máximo de un blob en bloques es un poco más de 195 GB (4 MB X 50.000 bloques).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 está escribiendo un blob en bloques que no tiene más de 256 MB (64 MB para las solicitudes con versiones REST anteriores a 2016-05-31) de tamaño, puede cargarlo en su totalidad con una sola operación de escritura; ver Poner 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.

Los clientes de almacenamiento tienen como valor predeterminado una carga máxima de blob único de 128 MB, configurable mediante la propiedad SingleBlobUploadThresholdInBytes del objeto BlobRequestOptions.Storage clients default to a 128 MB maximum single blob upload, settable using the SingleBlobUploadThresholdInBytes property of the BlobRequestOptions object. Cuando una carga de blobs en bloques es superior al valor de esta propiedad, los clientes de almacenamiento dividen el archivo en bloques.When a block blob upload is larger than the value in this property, storage clients break the file into blocks. Puede establecer el número de subprocesos utilizados para cargar los bloques en paralelo por solicitud mediante la propiedad ParallelOperationThreadCount del objeto 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.

Cuando se carga un bloque en un blob de la cuenta de almacenamiento, este está asociado al blob en bloques especificado, pero no se convierte en parte del blob hasta que se confirme una lista de bloques que incluya el identificador del nuevo bloque.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. Los bloques nuevos permanecen sin confirmar hasta que se confirman o descartan específicamente.New blocks remain in an uncommitted state until they are specifically committed or discarded. Puede haber un máximo de 100.000 bloques no confirmados.There can be a maximum of 100,000 uncommitted blocks. Cuando se escribe un bloque no se actualiza la última hora de modificación de los blobs existentes.Writing a block does not update the last modified time of an existing blob.

Los blobs en bloques disponen de características que ayudan a administrar archivos grandes en varias redes.Block blobs include features that help you manage large files over networks. Con un blob en bloques, puede cargar varios bloques en paralelo para reducir el tiempo de carga.With a block blob, you can upload multiple blocks in parallel to decrease upload time. Cada bloque puede incluir un hash MD5 para comprobar la transferencia, de forma que puede llevar el seguimiento del progreso de la carga y volver a enviar bloques según sea necesario.Each block can include an MD5 hash to verify the transfer, so you can track upload progress and re-send blocks as needed. Puede cargar los bloques en cualquier orden y determinar su secuencia en el paso final de confirmación de la lista de bloques.You can upload blocks in any order, and determine their sequence in the final block list commitment step. También puede cargar un bloque nuevo para reemplazar un bloque existente sin confirmar en el mismo identificador de bloque.You can also upload a new block to replace an existing uncommitted block of the same block ID. Tiene una semana para confirmar los bloques de un blob antes de que se descarten.You have one week to commit blocks to a blob before they are discarded. Todos los bloques sin confirmar se descartan también cuando se produce una operación de confirmación de lista de bloques sin incluirlos.All uncommitted blocks are also discarded when a block list commitment operation occurs but does not include them.

Puede modificar un blob en bloques existente si inserta, reemplaza o elimina los bloques existentes.You can modify an existing block blob by inserting, replacing, or deleting existing blocks. Después de cargar el bloque o bloques que han cambiado, puede confirmar una versión nueva del blob; para ello, debe confirmar los bloques nuevos con los bloques existentes que desea mantener mediante una sola operación de confirmación.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. Para insertar el mismo intervalo de bytes en dos ubicaciones diferentes de blob confirmado, puede confirmar el mismo bloque en dos lugares en la misma operación de confirmación.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. En las operaciones de confirmación, si no se encuentra algún bloque, fracasará la totalidad de la operación de confirmación y el blob no se modificará.For any commit operation, if any block is not found, the entire commitment operation fails with an error, and the blob is not modified. Cualquier compromiso de bloque sobrescribe las propiedades y metadatos existentes del blob y descarta todos los bloques no confirmados.Any block commitment overwrites the blob's existing properties and metadata, and discards all uncommitted blocks.

Los identificadores de bloque son cadenas de igual longitud en un blob.Block IDs are strings of equal length within a blob. El código de cliente del bloque suele utilizar codificación de base 64 para homogenizar las cadenas según la misma longitud.Block client code usually uses base-64 encoding to normalize strings into equal lengths. Cuando se utiliza codificación de base 64, la cadena codificada previamente debe ser de 64 bytes o menos.When using base-64 encoding, the pre-encoded string must be 64 bytes or less. Los valores de identificador de bloque puede duplicarse en diferentes blobs.Block ID values can be duplicated in different blobs.

Si escribe un bloque para un blob que no exista, se creará un blob en bloques nuevo con cero bytes de longitud.If you write a block for a blob that does not exist, a new block blob is created, with a length of zero bytes. Este blob aparecerá en listas de blobs con blobs sin confirmar.This blob will appear in blob lists that include uncommitted blobs. Si no confirma ningún bloque en este blob, éste y sus bloques no confirmados se descartarán una semana después de la última carga correcta del bloque.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. Todos los bloques sin confirmar se descartarán también cuando se crea en un solo paso (en lugar del proceso en dos pasos de carga y confirmación) un blob nuevo con el mismo nombre.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).

Acerca de los blobs en páginasAbout Page Blobs

Los blobs en páginas son un conjunto de páginas de 512 bytes optimizadas para operaciones aleatorias de lectura y escritura.Page blobs are a collection of 512-byte pages optimized for random read and write operations. Para crear un blob en páginas, se inicializa el blob en páginas y se especifica el tamaño máximo que puede alcanzar el blob en páginas.To create a page blob, you initialize the page blob and specify the maximum size the page blob will grow. Para agregar o actualizar el contenido de un blob en páginas, se escribe una página o varias páginas especificando un desplazamiento y un intervalo que se alinean con los límites de las páginas de 512 bytes.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. Una escritura en un blob en páginas puede sobrescribir solo una página, varias páginas o hasta 4 MB del blob.A write to a page blob can overwrite just one page, some pages, or up to 4 MB of the page blob. La escritura en blobs en páginas se realiza en contexto y se confirma inmediatamente en el blob.Writes to page blobs happen in-place and are immediately committed to the blob. El tamaño máximo de un blob en páginas es de 8 TB.The maximum size for a page blob is 8 TB.

Los discos de máquina virtual de Azure están respaldados por blobs en páginas.Azure virtual machine disks are backed by page blobs. Azure ofrece dos tipos de almacenamiento en disco duradero: premium y estándar.Azure offers two types of durable disk storage: premium and standard. El almacenamiento premium para blobs en páginas está diseñado para cargas de trabajo de máquinas virtuales de Azure que requieren un alto rendimiento y una latencia uniformes.Premium storage for page blobs is designed for Azure virtual machine workloads that require consistent high performance and low latency. Para obtener información detallada, consulte la sección Unidades de estado sólido (SSD) Premium del artículo Seleccionar un tipo de disco para máquinas virtuales de IaaS.For detailed information, see the Premium solid-state drives (SSD) section of the article Select a disk type for IaaS VMs. Para obtener información acerca de los destinos de escalabilidad para el almacenamiento premium para blobs en páginas, vea 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.

Acerca de los blobs en anexosAbout Append Blobs

Un blob en anexos se compone de bloques y está optimizado para operaciones de anexado.An append blob is comprised of blocks and is optimized for append operations. Al modificar un blob en anexos, los bloques se agregan solo al final del blob mediante la operación Anexar bloque.When you modify an append blob, blocks are added to the end of the blob only, via the Append Block operation. No se admite la actualización o eliminación de bloques existentes.Updating or deleting of existing blocks is not supported. A diferencia de un blob en bloques, un blob en anexos no expone sus iDs de bloque.Unlike a block blob, an append blob does not expose its block IDs.

Cada bloque de un blob en anexos puede tener un tamaño diferente, hasta un máximo de 4 MB, y un blob en anexos puede incluir hasta 50.000 bloques.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. El tamaño máximo de un blob en anexos es, por tanto, ligeramente superior a 195 GB (4 MB X 50.000 bloques).The maximum size of an append blob is therefore slightly more than 195 GB (4 MB X 50,000 blocks).

Consulte tambiénSee Also

Cómo usar el servicio Blob Storage How to Use the Blob Storage Service
Uso del servicio Queue StorageHow to Use the Queue Storage Service