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

Моментальный снимок — это версия BLOB-объекта только для чтения, сделанная в определенный момент времени.A snapshot is a read-only version of a blob that's taken at a point in time.

Примечание

Управление версиями BLOB-объектов (Предварительная версия) предлагает альтернативный способ хранения исторических копий большого двоичного объекта.Blob versioning (preview) offers an alternative way to maintain historical copies of a blob. Дополнительные сведения см. в разделе Управление версиями BLOB-объектов (Предварительная версия).For more information, see Blob versioning (preview).

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

Примечание

Функции, описанные в этой статье, теперь доступны для учетных записей с иерархическим пространством имен.The features described in this article are now available to accounts that have a hierarchical namespace. Чтобы просмотреть ограничения, ознакомьтесь с возможностями хранилища BLOB-объектов, доступными в Azure Data Lake Storage 2-го поколения статье.To review limitations, see the Blob storage features available in Azure Data Lake Storage Gen2 article.

Моментальный снимок большого двоичного объекта идентичен объекту, на основе которого он создан. Единственное исключение: к URI большого двоичного объекта добавляется значение DateTime, которое указывает время создания снимка.A snapshot of a blob is identical to its base blob, except that the blob URI has a DateTime value appended to the blob URI to indicate the time at which the snapshot was taken. Например, если страничный 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.For example, if a page blob URI is http://storagesample.core.blob.windows.net/mydrives/myvhd, the snapshot URI is similar to http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z.

Примечание

Все моментальные снимки имеют одинаковый URI базового большого двоичного объекта.All snapshots share the base blob's URI. Большой двоичный объект и его моментальный снимок отличаются только добавлением значения DateTime .The only distinction between the base blob and the snapshot is the appended DateTime value.

Большой двоичный объект может иметь любое количество моментальных снимков.A blob can have any number of snapshots. Моментальные снимки сохраняются до тех пор, пока они не будут удалены явным образом либо независимо, либо как часть операции удаления большого двоичного объекта для базового большого двоичного объекта.Snapshots persist until they are explicitly deleted, either independently or as part of the Delete Blob operation for the base blob. Чтобы было удобнее контролировать моментальные снимки большого двоичного объекта, их можно пронумеровать.You can enumerate the snapshots associated with the base blob to track your current snapshots.

При создании моментального снимка BLOB-объекта его системные свойства и их значения копируются в снимок.When you create a snapshot of a blob, the blob's system properties are copied to the snapshot with the same values. Метаданные базового большого двоичного объекта также копируются в моментальный снимок, если при его создании не были указаны отдельные метаданные для снимка.The base blob's metadata is also copied to the snapshot, unless you specify separate metadata for the snapshot when you create it. После создания моментального снимка его можно прочитать, скопировать или удалить, но вы не можете изменять его.After you create a snapshot, you can read, copy, or delete it, but you cannot modify it.

Свойства аренды, связанные с базовым BLOB-объектом, не влияют на моментальный снимок.Any leases associated with the base blob do not affect the snapshot. Вы не можете получить аренду в моментальном снимке.You cannot acquire a lease on a snapshot.

VHD-файл используется для хранения текущей информации о диске виртуальной машины и его состояния.A VHD file is used to store the current information and status for a VM disk. Можно отключить диск в виртуальной машине или завершить ее работу, после чего создать моментальный снимок его VHD-файла.You can detach a disk from within the VM or shut down the VM, and then take a snapshot of its VHD file. Этот файл моментального снимка можно будет использовать позже, чтобы получить VHD-файл на этот момент времени и повторно создать виртуальную машину.You can use that snapshot file later to retrieve the VHD file at that point in time and recreate the VM.

Общая информация о том, как моментальные снимки увеличивают платуUnderstand how snapshots accrue charges

Создание моментальных снимков, представляющих собой копии больших двоичных объектов с доступом только для чтения, может привести к дополнительной плате за хранение данных в вашей учетной записи.Creating a snapshot, which is a read-only copy of a blob, can result in additional data storage charges to your account. При проектировании приложения важно учитывать, как эта плата может накапливаться, чтобы минимизировать затраты.When designing your application, it is important to be aware of how these charges might accrue so that you can minimize costs.

Важные вопросы о выставлении счетовImportant billing considerations

Следующий список включает ключевые пункты, которые следует рассмотреть при создании моментального снимка.The following list includes key points to consider when creating a snapshot.

  • Плата взимается за уникальные блоки и страницы независимо от того, где они находятся: в большом двоичном объекте или моментальном снимке.Your storage account incurs charges for unique blocks or pages, whether they are in the blob or in the snapshot. Ваша учетная запись не влечет за собой дополнительных затрат на моментальные снимки, связанные с большим двоичным объектом, пока большой двоичный объект, на котором они основаны, не будет обновлен.Your account does not incur additional charges for snapshots associated with a blob until you update the blob on which they are based. После изменения базового большого двоичного объекта он начнет отличаться от своих моментальных снимков.After you update the base blob, it diverges from its snapshots. Теперь вы будете оплачивать все уникальные блоки и страницы в каждом большом двоичном объекте или моментальном снимке.When this happens, you are charged for the unique blocks or pages in each blob or snapshot.
  • Когда вы заменяете блок в блочном большом двоичном объекте, за этот блок начинает взиматься плата как за уникальный.When you replace a block within a block blob, that block is subsequently charged as a unique block. Это произойдет, даже если у блока тот же идентификатор блока и те же данные, что и в моментальном снимке.This is true even if the block has the same block ID and the same data as it has in the snapshot. Как только блок фиксируется заново, он расходится со всеми своими дубликатами во всех моментальных снимках и вы будете оплачивать его данные.After the block is committed again, it diverges from its counterpart in any snapshot, and you will be charged for its data. Это же происходит и для страницы в страничном BLOB-объекте, обновляемом идентичными данными.The same holds true for a page in a page blob that's updated with identical data.
  • Замена блочного BLOB-объекта путем вызова метода [UploadFromFile] [dotnet_UploadFromFile], [UploadText] [dotnet_UploadText], [UploadFromStream] [dotnet_UploadFromStream] или [UploadFromByteArray] [dotnet_UploadFromByteArray] заменяет все блоки в большом двоичном объекте.Replacing a block blob by calling the [UploadFromFile][dotnet_UploadFromFile], [UploadText][dotnet_UploadText], [UploadFromStream][dotnet_UploadFromStream], or [UploadFromByteArray][dotnet_UploadFromByteArray] method replaces all blocks in the blob. Если с этим большим двоичным объектом связан моментальный снимок, то все блоки в базовом большом двоичном объекте перестанут совпадать с блоками в моментальном снимке, и вы будете оплачивать хранение всех блоков в обоих больших двоичных объектах.If you have a snapshot associated with that blob, all blocks in the base blob and snapshot now diverge, and you will be charged for all the blocks in both blobs. Это произойдет, даже если данные базового большого двоичного объекта и моментального снимка останутся идентичными.This is true even if the data in the base blob and the snapshot remain identical.
  • В службе BLOB-объектов Azure нет средств, позволяющих определить, содержат ли два блока идентичные данные.The Azure Blob service does not have a means to determine whether two blocks contain identical data. Каждый блок, который был загружен и зафиксирован, обрабатывается как уникальный, даже если он содержит те же данные и имеет тот же идентификатор блока.Each block that is uploaded and committed is treated as unique, even if it has the same data and the same block ID. Так как плата добавляется за уникальные блоки, важно иметь в виду, что обновление большого двоичного объекта, содержащего моментальный снимок, приведет к появлению дополнительных уникальных блоков и дополнительным расходам.Because charges accrue for unique blocks, it's important to consider that updating a blob that has a snapshot results in additional unique blocks and additional charges.

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

Рекомендуется управлять моментальными снимками осторожно, чтобы избежать наценок.We recommend managing your snapshots carefully to avoid extra charges. Выполните приведенные ниже рекомендации, чтобы свести к минимуму затраты на хранение моментальных снимков.You can follow these best practices to help minimize the costs incurred by the storage of your snapshots:

  • Удаляйте и повторно создавайте моментальные снимки, связанные с большим двоичным объектом, при обновлении этого объекта, даже если вы обновляете его идентичными данными, если только структура вашего приложения не требует сохранения моментальных снимков.Delete and re-create snapshots associated with a blob whenever you update the blob, even if you are updating with identical data, unless your application design requires that you maintain snapshots. За счет удаления и повторного создания моментальных снимков больших двоичных объектов можно исключить расхождение большого двоичного объекта с моментальными снимками.By deleting and re-creating the blob's snapshots, you can ensure that the blob and snapshots do not diverge.
  • Если вы обслуживаете моментальные снимки для большого двоичного объекта, не вызывайте [UploadFromFile] [dotnet_UploadFromFile], [UploadText] [dotnet_UploadText], [UploadFromStream] [dotnet_UploadFromStream] или [UploadFromByteArray] [dotnet_UploadFromByteArray] для обновления большого двоичного объекта.If you are maintaining snapshots for a blob, avoid calling [UploadFromFile][dotnet_UploadFromFile], [UploadText][dotnet_UploadText], [UploadFromStream][dotnet_UploadFromStream], or [UploadFromByteArray][dotnet_UploadFromByteArray] to update the blob. Эти методы заменяют все блоки в большом двоичном объекте, и после этого базовый большой двоичный объект начинает значительно отличаться от своих моментальных снимков.These methods replace all of the blocks in the blob, causing your base blob and its snapshots to diverge significantly. Вместо этого обновите минимальное возможное число блоков с помощью методов [PutBlock] [dotnet_PutBlock] и [PutBlockList] [dotnet_PutBlockList].Instead, update the fewest possible number of blocks by using the [PutBlock][dotnet_PutBlock] and [PutBlockList][dotnet_PutBlockList] methods.

Сценарии выставления счетов за моментальные снимкиSnapshot billing scenarios

В следующих сценариях показано, как добавляется плата за большой двоичный объект и его моментальные снимки.The following scenarios demonstrate how charges accrue for a block blob and its snapshots.

Сценарий 1Scenario 1

В сценарии 1 базовый большой двоичный объект создания моментального снимка не обновлялся, поэтому плата начисляется только за уникальные блоки 1, 2 и 3.In scenario 1, the base blob has not been updated after the snapshot was taken, so charges are incurred only for unique blocks 1, 2, and 3.

Ресурсы хранилища Azure

Сценарий 2Scenario 2

В сценарии 2 базовый большой двоичный объект изменился, а моментальный снимок — нет.In scenario 2, the base blob has been updated, but the snapshot has not. Блок 3 был обновлен, и, хотя он содержит такие же данные и тот же идентификатор, он отличается от блока 3 в моментальном снимке.Block 3 was updated, and even though it contains the same data and the same ID, it is not the same as block 3 in the snapshot. В результате плата в учетной записи взимается за четыре блока.As a result, the account is charged for four blocks.

Ресурсы хранилища Azure

Сценарий 3Scenario 3

В сценарии 3 базовый большой двоичный объект изменился, а моментальный снимок — нет.In scenario 3, the base blob has been updated, but the snapshot has not. Блок 3 был заменен блоком 4 в базовом большом двоичном объекте, но моментальный снимок по-прежнему отражает блок 3.Block 3 was replaced with block 4 in the base blob, but the snapshot still reflects block 3. В результате плата в учетной записи взимается за четыре блока.As a result, the account is charged for four blocks.

Ресурсы хранилища Azure

Сценарий 4Scenario 4

В сценарии 4 базовый большой двоичный объект был полностью обновлен и не содержит никаких первоначальных блоков.In scenario 4, the base blob has been completely updated and contains none of its original blocks. В результате плата в учетной записи взимается за все восемь уникальных блоков.As a result, the account is charged for all eight unique blocks. Этот сценарий может возникать, если используется метод обновления, например [UploadFromFile] [dotnet_UploadFromFile], [UploadText] [dotnet_UploadText], [UploadFromStream] [dotnet_UploadFromStream] или [UploadFromByteArray] [dotnet_UploadFromByteArray], так как эти методы заменяют все содержимое большого двоичного объекта.This scenario can occur if you are using an update method such as [UploadFromFile][dotnet_UploadFromFile], [UploadText][dotnet_UploadText], [UploadFromStream][dotnet_UploadFromStream], or [UploadFromByteArray][dotnet_UploadFromByteArray], because these methods replace all of the contents of a blob.

Ресурсы хранилища Azure

Дальнейшие действияNext steps