Моментальные снимки BLOB-объектов

Моментальный снимок — это версия BLOB только для чтения, сделанная на определенный момент времени.

Примечание.

Управление версиями BLOB-объектов предлагает превосходный способ сохранения предыдущих версий BLOB-объекта. Дополнительные сведения см. в разделе Версионирование BLOB-объектов.

О моментальных снимках BLOB-объектов

Моментальный снимок большого двоичного объекта идентичен объекту, на основе которого он создан. Единственное исключение: к URI большого двоичного объекта добавляется значение DateTime, которое указывает время создания снимка. Например, если страничный BLOB-объект имеет URI http://storagesample.core.blob.windows.net/mydrives/myvhd, то URI снимка будет иметь такой вид: http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z.

Примечание.

Все моментальные снимки используют URI базового блоба. Единственное различие между базовым блобом и его моментальным снимком заключается в добавлении значения DateTime.

Блоб может иметь любое количество снимков состояния. Моментальные снимки сохраняются до явного удаления, как отдельно, так и в рамках операции удаления BLOB-объекта для базового двоичного объекта. Вы можете перечислить моментальные снимки, связанные с основным двоичным объектом, чтобы отслеживать текущие снимки.

При создании моментального снимка BLOB-объекта его системные свойства с теми же значениями копируются в снимок. Метаданные исходного блоба также копируются в снимок, если при создании снимка не были указаны отдельные метаданные. После создания моментального снимка можно прочитать, скопировать или удалить его, но изменить его нельзя.

Свойства аренды, связанные с базовым BLOB-объектом, не влияют на моментальный снимок. Вы не можете получить аренду на моментальном снимке.

Создать снимок BLOB можно на горячем или прохладном уровне. Моментальные снимки объектов BLOB в архивном уровне не поддерживаются.

VHD-файл используется для хранения текущей информации о диске виртуальной машины и его состояния. Можно отключить диск в виртуальной машине или завершить ее работу, после чего создать моментальный снимок его VHD-файла. Позднее вы можете использовать этот файл моментального снимка, чтобы восстановить VHD-файл на указанный момент времени и воссоздать виртуальную машину.

Цены и выставление счетов

Создание моментального снимка, который является копией большого двоичного объекта только для чтения, может привести к дополнительным расходам на хранение данных в вашей учетной записи. При разработке приложения важно знать, как эти расходы могут начисляться, чтобы свести к минимуму затраты.

Моментальные снимки BLOB-объектов, как и версии BLOB-объектов, оплачиваются по той же ставке, что и активные данные. Выбор способа оплаты моментальных снимков зависит от того, был ли уровень установлен явно для базового BLOB-объекта или для любого из его моментальных снимков (или версий). Дополнительные сведения о уровнях BLOB-объектов см. в разделе "Уровни доступа" для данных BLOB-объектов.

Если вы не изменили уровень большого двоичного объекта или моментального снимка, вам выставляется счет за уникальные блоки данных в этом большом двоичном объекте, его моментальных снимках и любых версиях, которые они могут иметь. Дополнительную информацию см. в разделе Выставление счетов, когда уровень BLOB не был явно задан.

Если вы изменили уровень объекта BLOB или снимка, плата за весь объект полностью взимается независимо от того, находятся ли объект BLOB и снимок в конечном итоге в одном и том же уровне опять. Дополнительные сведения см. в разделе Выставление счетов, если уровень BLOB-объекта задан явно.

Для учетных записей хранения, использующих интеллектуальный уровень, стоимость версий и моментальных снимков рассчитывается исходя из полной длины их содержимого. Дополнительные сведения см. в статье "Оптимизация затрат с помощью интеллектуального уровня".

Дополнительные сведения о выставлении счетов за версии BLOB-объектов см. в статье о версиях BLOB-объектов.

Минимизация затрат с помощью управления моментальными снимками

Microsoft рекомендует тщательно вести управление моментальными снимками, чтобы избежать возникновения дополнительных расходов. Выполните приведенные ниже рекомендации, чтобы свести к минимуму затраты на хранение моментальных снимков.

  • Удаление и повторное создание моментальных снимков, связанных с большим двоичным объектом при обновлении большого двоичного объекта, даже если вы обновляете идентичные данные, если проект приложения не требует обслуживания моментальных снимков. Удалив и повторно создав моментальные снимки объекта, вы можете убедиться, что объект и моментальные снимки не разошлись.
  • Если вы храните моментальные снимки для блоба, избегайте вызова методов, которые перезаписывают весь объект при его обновлении. Вместо этого обновите минимальное число блоков, чтобы снизить затраты.

Выставление счетов, если уровень объектов BLOB не был явно задан.

Если вы явно не задали уровень BLOB для базового BLOB или любого из его моментальных снимков, то плата взимается за уникальные блоки или страницы по всему BLOB, его моментальным снимкам и любым версиям, которые он может иметь. За данные, являющиеся общими для BLOB-объекта и его моментальных снимков, плата взимается только один раз. При обновлении BLOB-объекта данные в базовом BLOB-объекте отличаются от данных, хранящихся в его моментальных снимках, а за уникальные данные взимается плата за блок или страницу.

При замене блока в блочном BLOB-объекте этот блок впоследствии рассматривается как уникальный и взимается отдельно. Это верно, даже если у блока тот же идентификатор блока и те же данные, что и в моментальном снимке. После повторной фиксации блока он отличается от своего аналога в снимке, и с вас будет взиматься плата за эти данные. То же самое происходит и для страницы в страничном BLOB, обновляемой идентичными данными.

Хранилище BLOB-объектов не имеет средства для определения того, содержат ли два блока идентичные данные. Каждый блок, который был загружен и зафиксирован, обрабатывается как уникальный, даже если он содержит те же данные и имеет тот же идентификатор блока. Так как плата взимается за уникальные блоки, важно помнить, что обновление большого двоичного объекта при использовании моментальных снимков или версий большого двоичного объекта приводит к дополнительным уникальным блокам и дополнительным затратам.

Если у BLOB-объекта есть моментальные снимки, вызовите операции обновления для блочных BLOB-объектов, чтобы они обновили минимальное количество блоков. Операции записи, позволяющие детально управлять блоками: Разместить блок и Разместить список блоков. Операция Put Blob, с другой стороны, заменяет все содержимое BLOB и поэтому может привести к дополнительным расходам.

В следующих сценариях показано, как начисляется плата за блоб блочного типа и его моментальные снимки, если уровень блоба не был установлен явно.

Сценарий 1

В сценарии 1 основной двоичный объект не был обновлен после создания моментального снимка, поэтому взимается только плата за уникальные блоки 1, 2 и 3.

Схема 1, на которой показано выставление счетов за уникальные блоки в базовом BLOB-объекте и моментальном снимке.

Сценарий 2

В сценарии 2 базовый blob был обновлён, но снимок не был обновлён. Блок 3 был обновлен, и даже если он содержит те же данные и тот же идентификатор, он не совпадает с блоком 3 в моментальном снимке. В итоге, счет взимается за четыре блока.

Схема 2, на которой показано выставление счетов за уникальные блоки в базовом BLOB-объекте и моментальном снимке.

Сценарий 3

В сценарии 3 базовый BLOB был обновлён, но моментальный снимок не обновился. Блок 3 был заменен блоком 4 в базовом блобе, но снапшот по-прежнему отражает блок 3. В итоге, счет взимается за четыре блока.

Схема 3, на которой показан учет уникальных блоков в базовом BLOB-объекте и снимке.

Сценарий 4

В сценарии 4 базовый BLOB полностью обновлен и не содержит никаких исходных блоков. В результате со счета взимается плата за все восемь уникальных блоков.

Схема 4, на которой показано выставление счетов за уникальные блоки в базовом BLOB-объекте и моментальном снимке.

Подсказка

Не вызывайте методы, которые перезапишут весь BLOB-объект. Вместо этого, чтобы снизить затраты, обновляйте отдельные блоки.

Выставление счетов при явном задании уровня объекта BLOB

Если вы явно установили уровень для BLOB или моментального снимка (или версии), то плата взимается за полную длину содержимого объекта на новом уровне, независимо от того, разделяет ли он блоки с объектом на оригинальном уровне. Вам также взимается плата за полный объем содержимого самой старой версии на исходном уровне. Плата за любые версии или моментальные снимки, оставшиеся на исходном уровне, взимается за уникальные блоки, к которым они могут предоставлять общий доступ, как описано в разделе "Выставление счетов", когда уровень BLOB-объектов не был явно задан.

Перемещение BLOB-объекта на новый уровень

В следующей таблице описывается поведение выставления счетов для большого двоичного объекта или моментального снимка при переходе на новый уровень.

Если уровень объекта BLOB явно установлен для... Тогда вам выставляются счета за...
Базовый BLOB-объект с моментальным снимком Базовый блоб на новом уровне и самый старый моментальный снимок на первоначальном уровне, а также любые уникальные блоки в других моментальных снимках.1
Базовый blob-объект с предыдущей версией и снапшотом Базовый BLOB-объект на новом уровне, самая старая версия на первоначальном уровне и самый старый моментальный снимок на исходном уровне, плюс любые уникальные блоки в других версиях или моментальных снимках 1.
Снимок состояния системы Моментальный снимок на новом уровне и базовый BLOB-объект на первоначальном уровне, плюс любые уникальные блоки в других моментальных снимках 1

1Если существуют другие предыдущие версии или моментальные снимки, которые не были перемещены с исходного уровня, эти версии или моментальные снимки взимаются в зависимости от количества уникальных блоков, которые они содержат, как описано в разделе "Выставление счетов", когда уровень BLOB-объектов не был явно задан.

На следующей схеме показано, как биллинг объектов осуществляется при перемещении BLOB-объекта со снимками в другой уровень хранения.

Схема, показывающая, как взимается плата за объекты при явном изменении уровня хранения для BLOB с моментальными снимками.

Явное задание уровня для BLOB объекта, версии или моментального снимка не может быть отменено. Если переместить объект блоб на новый уровень, а затем вернуть его на исходный уровень, с вас будет взиматься плата за полную длину содержимого объекта, даже если он делит блоки с другими объектами на исходном уровне.

Операции, которые задают уровень BLOB-объекта, версии или моментального снимка, включают:

Удаление BLOB-объекта при включенном мягком удалении

Когда включено мягкое удаление BLOB-объектов, при удалении или перезаписи базового BLOB-объекта, для которого был явно установлен уровень, плата за все предыдущие версии или моментальные снимки мягко удаленного BLOB-объекта взимается по полной длине содержимого. Дополнительные сведения о том, как управление версиями BLOB-объектов и мягкое удаление работают вместе, см. в разделе Управление версиями и мягкое удаление.

В следующей таблице описан способ выставления счетов за BLOB-объект с обратимым удалением в зависимости от того, включено ли или отключено управление версиями. Если управление версиями включено, создается новая версия при мягком удалении BLOB-объекта. Если управление версиями отключено, мягкое удаление BLOB-объекта создает снимок мягкого удаления.

При перезаписи базового BLOB-объекта с явно установленным уровнем... Тогда вам выставляются счета за...
Если включены и мягкое удаление BLOB-объектов, и управление версиями Все существующие версии в полном объеме содержимого, независимо от уровня.
Если обратимое удаление объектов BLOB включено, но версионность отключена Снапшоты soft-delete в полном объеме содержимого всех существующих снимков, независимо от уровня.

Поддержка функций

Поддержка этой функции может повлиять на включение протокола Data Lake Storage 2-го поколения, сетевой файловой системы (NFS) 3.0 или протокола SSH-передачи файлов (SFTP). Если вы включили любую из этих возможностей, ознакомьтесь с поддержкой функций Хранилище BLOB-объектов в учетных записях служба хранилища Azure для оценки поддержки этой функции.

Внимание

Предварительная версия снимков для учетных записей с включенной функцией иерархического пространства имен больше не принимает новых клиентов. Мы рекомендуем вам рассмотреть альтернативные механизмы. (Примеры: Мягкое удаление блобов, AzCopy, Vaulted Backup [предварительная версия])

Следующие шаги