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

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

Примечание.

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

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

Внимание

Моментальные снимки в учетных записях, в которых включено иерархическое пространство имен, сейчас находятся в режиме предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

Чтобы зарегистрироваться для использования предварительной версии, см. эту форму.

Моментальный снимок большого двоичного объекта идентичен объекту, на основе которого он создан. Единственное исключение: к 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-объектом, не влияют на моментальный снимок. Вы не можете получить аренду на моментальном снимке.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сценарий 1

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

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

Сценарий 2

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

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

Сценарий 3

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

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

Сценарий 4

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

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

Совет

Не вызывайте методы, которые перезапишут весь 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-объекта включено, но управление версиями отключено Полностью за всю длину содержимого всех существующих моментальных снимков обратимого удаления, независимо от уровня.

Поддерживаемые компоненты

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

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