Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una instantánea es una copia de solo lectura de un blob tomada en un momento específico. No necesitas activar la función de instantáneas de blob. En su lugar, crea instantáneas bajo demanda usando la Snapshot Blob operación. Para más información, véase Operación de instantánea de blobs. Puedes automatizar la creación de instantáneas utilizando scripts personalizados para capturar copias de blobs en un momento determinado, ya sea de forma programada o antes o después de operaciones específicas.
Configuración de protección de datos recomendada
Las instantáneas blob son una de varias funciones de protección de datos. La elección de la característica adecuada o de una combinación de características depende de su carga de trabajo y de aquello contra lo que desea protegerse. Para saber más sobre las recomendaciones de Microsoft para la protección de datos, consulte Resumen de Protección de Datos.
Instantáneas frente a versiones
Una instantánea es similar a una versión en blob, pero las dos se diferencian entre sí en cómo se crean y para qué están más adecuadas. Una instantánea es manual y está controlada por la aplicación: creas explícitamente una copia en un momento dado cuando tu aplicación decide que es necesaria. El control de versiones es automático y está administrado por el sistema: Azure Storage crea una nueva versión en cada escritura o eliminación cuando el control de versiones de blobs está habilitado, sin necesidad de lógica de aplicación.
Utiliza el versionado cuando quieras protección automática y continua contra sobrescribencias y eliminaciones accidentales o maliciosas. Utiliza instantáneas cuando quieras copias deliberadas y en un momento concreto, como un punto de control conocido antes de una actualización planificada, en lugar de una captura de cada cambio.
Nota:
Aunque puedes aproximar el comportamiento de versionado usando instantáneas, Microsoft recomienda el versionado por blob para protección automática contra sobreescrituras y eliminaciones en cuentas FNS. Las instantáneas son más adecuadas para capturas deliberadas y en un momento en el tiempo, más que para la protección que capta cada cambio. Para más información, véase control de versiones de blobs.
Cómo funcionan las instantáneas
Una instantánea de un blob es idéntica a su blob base, excepto que el URI del blob tiene un valor DateTime añadido al URI del blob para indicar el momento en que se tomó la instantánea. Por ejemplo, si el identificador URI de blob en páginas es http://storagesample.core.blob.windows.net/mydrives/myvhd, el identificador URI de instantánea es similar a http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z.
Cuando se crea una instantánea de un blob, las propiedades del sistema se copian en la instantánea con los mismos valores. Los metadatos del blob base también se copian en la instantánea, a menos que especifique metadatos independientes para la instantánea al crearla. Después de crear una instantánea, puede leerla, copiarla o eliminarla, pero no puede modificarla. Las concesiones asociadas al blob base no afectan a la instantánea. No se puede adquirir una concesión en una instantánea.
Un blob puede tener cualquier número de instantáneas. Las instantáneas persisten hasta que las eliminas explícitamente, ya sea de forma independiente o como parte de una operación de Borrar Blob para el blob base. Puedes crear una instantánea de un blob en el nivel hot, cold o cool. No puedes crear una instantánea de un blob archivado.
Importante
Tener un gran número de instantáneas por blob puede aumentar la latencia para las operaciones de listado de blobs. Microsoft recomienda mantener menos de 1.000 instantáneas por blob. Puedes usar la gestión del ciclo de vida para eliminar automáticamente las instantáneas antiguas. Para más información sobre la gestión del ciclo de vida, consulte Optimizar costes automatizando los niveles de acceso de Azure Blob Storage.
Las instantáneas son especialmente útiles para tipos de blob y operaciones que no se capturan mediante la versión de blob. Debido a que algunas operaciones de escritura, como Put Page (blobs de página) y Append Block (blobs de append), no crean versiones de blob incluso cuando el versionado está habilitado, las instantáneas proporcionan una forma de capturar el estado de un blob en un momento dado al usar estas APIs. Por ejemplo, un archivo VHD almacena la información y el estado actual de un disco de VM. Puedes desconectar un disco desde dentro de la VM o apagarla, tomar una instantánea de su archivo VHD y luego usar esa instantánea para recuperar el archivo VHD en ese momento y recrear la VM.
El siguiente diagrama muestra cómo se crean las instantáneas y cómo una instantánea puede ascender a convertirse en el blob actual:
Gestionar y restaurar instantáneas
Puedes crear, listar y eliminar instantáneas. También puedes usar una instantánea para restaurar un blob base a un estado anterior. Las siguientes secciones describen cada operación y las herramientas correspondientes.
Restaurar un blob a partir de una instantánea
Como no puedes modificar una instantánea, restauras un blob base copiando una instantánea encima. Llama a la operación Copiar Blob y especifica el URI de la instantánea como fuente de copia. Este proceso promueve el estado de la instantánea para que se convierta en el blob base actual, mientras preserva las instantáneas existentes del blob.
Enumerar instantáneas
Puedes enumerar las instantáneas asociadas al blob base para hacer un seguimiento de tus instantáneas actuales usando la operación List Blobs y especificando el snapshots valor en el include parámetro. Por defecto, una solicitud para enumerar blobs no devuelve instantáneas. Configura include=snapshots para devolver todas las instantáneas de cada blob junto al blob base. Para más información, consulte List Blobs. También puedes usar Azure Storage Blob Inventory para generar un informe programado de los blobs en tu cuenta, incluyendo sus instantáneas, configurando el campo includeSnapshots en true en la definición de la regla de inventario. Para más información, consulta Blob Inventory.
Eliminar instantáneas
Debes borrar explícitamente una instantánea. Para eliminar una instantánea individual, llama a la operación Delete Blob y especifica el valor de DateTime de la instantánea en el parámetro de consulta de instantáneas.
No puedes borrar un blob base mientras tenga snapshots activos. Para eliminar un blob base y todas sus instantáneas juntas, llama a Delete Blob con la x-ms-delete-snapshots cabecera establecida en include. Para eliminar solo las instantáneas y conservar el blob base, fije la cabecera en only.
Gestiona instantáneas con herramientas
Puedes gestionar instantáneas usando el portal, CLI de Azure y Azure PowerShell.
Para crear una instantánea de un blob usando el portal de Azure, sigue estos pasos:
- En Azure Portal, vaya a la cuenta de almacenamiento.
- En Almacenamiento de datos, busca la opción Contenedores y luego selecciona el contenedor que contiene el blob.
- Selecciona el blob del que quieres crear una instantánea.
- En la pestaña Resumen del blob, selecciona Crear instantánea.
- Para ver las instantáneas del blob, selecciona la pestaña Instantáneas . La pestaña muestra cada instantánea junto con la fecha y hora en que fue capturada.
Compatibilidad de características
Esta función no está habilitada para las cuentas de Data Lake Storage Gen2. Además, el protocolo Network File System (NFS) 3.0, o el SSH File Transfer Protocol (SFTP), pueden afectar al soporte para esta función. Si activas alguna de estas capacidades, consulta la compatibilidad de características de Blob Storage en cuentas de Azure Storage para evaluar la compatibilidad con esta función. Considera mecanismos alternativos. Algunos ejemplos son la eliminación temporal de blobs, AzCopy y Vaulted Backup.
Interacciones entre características
Versioning
Cuando activas el control de versiones, las instantáneas suelen ser redundantes para los blobs de bloque. Si activas tanto el versionado como las instantáneas al mismo tiempo, tomar una instantánea crea tanto una instantánea como una nueva versión. Este proceso aumenta el número de objetos almacenados sin añadir protección. Para más información, consulte Control de versiones de blobs.
Eliminación suave
La eliminación suave se aplica a las instantáneas: cuando eliminas una instantánea, se elimina de forma suave. Puedes restaurarlo durante el periodo de retención usando Undelete Blob. Además, la forma en que creas y facturas las instantáneas varía según si el versionado está activado. Cuando el control de versiones está desactivado, al sobrescribir un blob se crea una instantánea de eliminación temporal. Cuando se activa el versionado, se crea una nueva versión en su lugar. Si se establece explícitamente el nivel de un blob base, se paga la longitud total del contenido por cualquier versión anterior o instantánea del blob eliminado de forma temporal. Para más detalles sobre este comportamiento de facturación, consulte la sección de Precios y facturación. Para más información sobre la eliminación suave, consulta Eliminación suave de blobs.
Replicación de objetos
No puedes replicar instantáneas. Solo se replica el blob base. Para más información, véase Replicación de objetos.
Administración del ciclo de vida
La administración del ciclo de vida puede seleccionar y eliminar instantáneas mediante el subtipo de instantánea en las reglas de directiva. Para más información, consulte Gestión del ciclo de vida.
Precios y facturación
La creación de una instantánea, que es una copia de solo lectura de un blob, puede dar lugar a cargos adicionales de almacenamiento de datos a su cuenta. Al diseñar tu aplicación, ten en cuenta cómo pueden acumularse estos cargos para minimizar costes.
Las versiones de blobs, al igual que las instantáneas de blobs, se facturan con la misma tarifa que los datos activos. La forma en que te facturan las instantáneas depende de si estableces explícitamente el nivel para el blob base o para cualquiera de sus instantáneas (o versiones). Para obtener más información sobre los niveles de blob, consulte Niveles de acceso para datos de blob.
Si no cambias el nivel de un blob o snapshot, se te factura por bloques únicos de datos en ese blob, sus snapshots y cualquier versión que pueda tener. Para más información, consulte Facturación cuando el nivel de blob no se ha establecido explícitamente.
Si cambias el nivel de un blob o snapshot, se te factura por todo el objeto, independientemente de si el blob y la instantánea acaban volviendo a estar en el mismo nivel. Para más información, consulte Facturación cuando el nivel de blob se ha establecido explícitamente.
En el caso de las cuentas de almacenamiento que utilizan el nivel inteligente, las versiones y las instantáneas se facturan en función de la longitud total del contenido. Para obtener más información, consulte Optimizar costos con el nivel inteligente.
Para más información sobre los detalles de facturación de las versiones de blobs, consulte Control de versiones de blobs.
Minimización de los costos con la administración de instantáneas
Para evitar cargos adicionales, administra tus instantáneas con cuidado. Sigue estas mejores prácticas para ayudar a minimizar los costes que implica el almacenamiento de tus instantáneas:
- Elimine y vuelva a crear las instantáneas asociadas a un blob siempre que lo actualice, incluso si lo hace con datos idénticos, a menos que el diseño de la aplicación requiera que se conserven las instantáneas. Al eliminar y recrear las instantáneas del blob, te aseguras de que el blob y las snapshots no se separen.
- Si va a mantener instantáneas de un blob, evite llamar a métodos que sobrescriban todo el blob cuando lo actualice. En su lugar, actualiza el menor número posible de bloques para mantener bajos los costes.
Facturación cuando no se establece explícitamente el nivel de blob
Si no defines explícitamente el nivel del blob para un blob base o cualquiera de sus snapshots, pagas por bloques o páginas únicas en el blob, sus snapshots y cualquier versión que pueda tener. Pagas por datos que un blob y sus instantáneas comparten solo una vez. Cuando actualizas un blob, los datos en un blob base divergen de los datos almacenados en sus instantáneas, y pagas por datos únicos por bloque o página.
Cuando sustituyes un bloque dentro de un blob de bloques, posteriormente pagas por ese bloque como si fuera un bloque único. Esta regla se aplica incluso si el bloque tiene el mismo ID de bloque y los mismos datos que tiene en la instantánea. Después de volver a hacer commit del bloque, se desvía de su contraparte en la instantánea y pagas por sus datos. La misma regla se aplica a una página de un blob de páginas que se actualiza con datos idénticos.
El almacenamiento de blobs no tiene forma de determinar si dos bloques contienen datos idénticos. Cada bloque que subes y confirmas se considera único, aunque tenga los mismos datos y el mismo ID de bloque. Como pagas por bloques únicos, recuerda que actualizar un blob cuando ese blob tiene snapshots o versiones resulta en bloques únicos extra y cargos adicionales.
Cuando un blob tiene instantáneas, diseñe las operaciones de actualización en los blobs en bloques para que actualicen el menor número posible de bloques. Las operaciones de escritura que permiten un control más exhaustivo de los bloques son Put Block y Put Block List. La operación Put Blob , en cambio, reemplaza todo el contenido de un blob y por tanto podría generar cargos adicionales.
Los siguientes escenarios demuestran cómo se acumulan cargos por un blob de bloques y sus snapshots cuando no se establece explícitamente el tier del blob.
Escenario 1
En el escenario 1, el blob base no se ha actualizado después de tomar la instantánea, por lo que solo se incurre en cargos por bloques únicos 1, 2 y 3.
Escenario 2
En el escenario 2, el blob base se ha actualizado, pero la instantánea no. Se ha actualizado el bloque 3 y, aunque contiene los mismos datos y el mismo identificador, no es igual que el bloque 3 de la instantánea. Como resultado, se aplicarán cargos a la cuenta por cuatro bloques.
Escenario 3
En el escenario 3, el blob base se ha actualizado, pero la instantánea no. El bloque 3 se ha reemplazado por el bloque 4 en el blob de base, pero la instantánea sigue reflejando el bloque 3. Como resultado, se aplicarán cargos a la cuenta por cuatro bloques.
Escenario 4
En la situación 4, el blob de base se ha actualizado totalmente y no contiene ninguno de los bloques originales. Como resultado, se aplicarán cargos a la cuenta por la totalidad de los ocho bloques únicos.
Sugerencia
Para mantener los costes bajos, evita llamar a métodos que sobrescriban todo el blob. En cambio, actualiza los bloques individuales.
Facturación cuando estableces explícitamente el nivel de blob
Si estableces explícitamente el nivel del blob para un blob, snapshot o versión, pagas por la longitud total del contenido del objeto en el nuevo nivel, independientemente de si comparte bloques con un objeto del nivel original. También pagas por la duración completa del contenido de la versión más antigua del nivel original. Pagas por bloques únicos en cualquier versión o snapshot que permanezca en el tier original, como se describe en Facturación cuando el blob tier no está explícitamente establecido.
Traslado de un blob a un nuevo nivel
La siguiente tabla describe el comportamiento de facturación de un blob o instantánea cuando lo trasladas a un nuevo nivel.
| Cuando pones explícitamente el nivel de blob en... | Entonces se le factura por... |
|---|---|
| Un blob base con una instantánea | El blob base del nuevo nivel y la instantánea más antigua del nivel original, además de los bloques únicos de otras versiones.1 |
| Un blob base con una versión anterior y una instantánea | El blob base en el nuevo nivel, la versión más antigua en el nivel original y la instantánea más antigua en el nivel original, además de cualquier bloque único en otras versiones o instantáneas. 1 |
| Una instantánea | La instantánea del nuevo nivel y el blob base del nivel original, además de los bloques únicos de otras instantáneas.1 |
1 Si hay otras versiones o snapshots anteriores que no moviste de su nivel original, pagas en función del número de bloques únicos que contienen, como se describe en Facturación cuando el nivel de blob no está explícitamente establecido.
El siguiente diagrama ilustra cómo se facturan los objetos cuando mueves un blob con instantáneas a otro nivel.
No se puede deshacer el establecimiento explícito del nivel para un blob, una versión o una instantánea. Si mueves un blob a un nuevo nivel y luego lo vuelves a su nivel original, pagas por toda la longitud del contenido del objeto aunque comparta bloques con otros objetos del nivel original.
Las operaciones que establecen explícitamente el nivel de un blob, una versión o una instantánea incluyen:
Put Blob con el nivel especificado
Put Block List con el nivel especificado
Copy Blob con el nivel especificado
Eliminación de un blob cuando está habilitada la eliminación temporal
Cuando la eliminación suave del blob está activada, si eliminas o sobrescribes un blob base para el que has establecido explícitamente el nivel, pagas por el tamaño total del contenido de cualquier versión anterior o instantánea del blob eliminado suavemente. Para más información sobre cómo funcionan conjuntamente el versionado de blob y la eliminación suave, véase Interacciones de características.
En la tabla siguiente se describe el comportamiento de facturación de un blob que se elimina temporalmente, en función de si el control de versiones está habilitado o deshabilitado. Cuando el control de versiones está habilitado, se crea una versión cuando un blob se elimina temporalmente. Cuando el control de versiones está deshabilitado, la eliminación temporal de un blob crea una instantánea de eliminación temporal.
| Cuando se sobrescribe un blob base con su nivel establecido explícitamente... | Entonces se le factura por... |
|---|---|
| Si la eliminación temporal del blob y el control de versiones están habilitados | Todas las versiones existentes con la longitud del contenido completo con independencia del nivel. |
| Si la eliminación temporal del blob está habilitada, pero el control de versiones está deshabilitado | Todas las instantáneas de eliminación temporal existentes a toda la longitud del contenido, independientemente del nivel. |
Limitaciones conocidas
No puedes crear instantáneas para los blobs en el nivel de acceso de archivo.
La compatibilidad con instantáneas de cuentas de Data Lake Gen2 ya no admite nuevos clientes. En su lugar, utiliza la eliminación temporal de blobs, AzCopy o la copia de seguridad en Vault.
No puedes eliminar un blob mientras tenga snapshots activos a menos que incluyas
x-ms-delete-snapshotsen la llamada de eliminación.La replicación de objetos no replica snapshots.
No puedes modificar instantáneas después de crearlas.
No se puede adquirir una concesión en una instantánea.
Supervisión y solución de problemas
No puedo borrar mi blob base: el blob tiene snapshots activos. Usa Borrar Blob con
x-ms-delete-snapshots: includepara eliminar ambos simultáneamente.Mi instantánea desapareció después de borrar el blob base: Eliminar el blob base elimina permanentemente las instantáneas a menos que esté habilitado el soft delete del blob. Activar el borrado lógico para proteger contra la eliminación accidental.
Mis costes de snapshot son más altos de lo esperado: si cambias explícitamente el nivel de acceso del blob, pagas por el tamaño completo del contenido en lugar de solo por bloques únicos. Evita cambios explícitos de niveles en blobs con instantáneas activas siempre que sea posible.
Visualización e inventario de instantáneas: En el portal, las instantáneas aparecen bajo el blob en el Navegador de almacenamiento cuando está activada la opción Mostrar instantáneas de blob . Para inventariar el recuento de instantáneas y el uso de almacenamiento en una cuenta, utiliza Azure Storage Blob Inventory y la métrica BlobCapacity en Azure Monitor.