Instantâneos de BLOBBlob snapshots

Um instantâneo é uma versão somente leitura de um blob capturada em um momento no tempo.A snapshot is a read-only version of a blob that's taken at a point in time.

Observação

O controle de versão de blob oferece uma maneira superior de manter versões anteriores de um blob.Blob versioning offers a superior way to maintain previous versions of a blob. Para obter mais informações, consulte controle de versão de blob.For more information, see Blob versioning.

Sobre instantâneos de BLOBAbout blob snapshots

Observação

Os recursos descritos neste artigo agora estão disponíveis para contas que têm um namespace hierárquico.The features described in this article are now available to accounts that have a hierarchical namespace. Para ver as limitações, confira o artigo Recursos do Armazenamento de Blobs disponíveis no Azure Data Lake Storage Gen2.To review limitations, see the Blob storage features available in Azure Data Lake Storage Gen2 article.

O instantâneo de um blob é idêntico ao respectivo blob de base, exceto pelo fato de que o URI do blob tem um valor DateTime para indicar a hora em que o instantâneo foi criado.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. Por exemplo, se um URI de blob de páginas for http://storagesample.core.blob.windows.net/mydrives/myvhd, o URI do instantâneo será semelhante a 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.

Observação

Todos os instantâneos compartilham o URI do blob de base.All snapshots share the base blob's URI. A única diferença entre o blob de base e o instantâneo é o acréscimo do valor DateTime .The only distinction between the base blob and the snapshot is the appended DateTime value.

Um blob pode ter qualquer número de instantâneos.A blob can have any number of snapshots. Os instantâneos persistem até serem explicitamente excluídos, independentemente ou como parte de uma operação de exclusão de blob para o blob de base.Snapshots persist until they are explicitly deleted, either independently or as part of a Delete Blob operation for the base blob. Você pode enumerar os instantâneos associados ao blob de base para acompanhar seus instantâneos atuais.You can enumerate the snapshots associated with the base blob to track your current snapshots.

Quando você cria um instantâneo de um blob, as propriedades do sistema são copiadas para o instantâneo com os mesmos valores.When you create a snapshot of a blob, the blob's system properties are copied to the snapshot with the same values. Os metadados do blob de base também são copiados no instantâneo, a menos que você especifique metadados separados para o instantâneo ao criá-lo.The base blob's metadata is also copied to the snapshot, unless you specify separate metadata for the snapshot when you create it. Depois de criar um instantâneo, você pode lê-lo, copiá-lo ou excluí-lo, mas não é possível modificá-lo.After you create a snapshot, you can read, copy, or delete it, but you cannot modify it.

Quaisquer concessões associadas ao blob básico não afetam o instantâneo.Any leases associated with the base blob do not affect the snapshot. Não é possível adquirir uma concessão em um instantâneo.You cannot acquire a lease on a snapshot.

Um arquivo VHD é usado para armazenar as informações atuais e o status de um disco da VM.A VHD file is used to store the current information and status for a VM disk. Você pode desanexar um disco de dentro da VM ou desligar a VM e, em seguida, tirar um instantâneo de seu arquivo VHD.You can detach a disk from within the VM or shut down the VM, and then take a snapshot of its VHD file. É possível usar esse arquivo de instantâneo posteriormente para recuperar o arquivo VHD nesse ponto no tempo e recriar a VM.You can use that snapshot file later to retrieve the VHD file at that point in time and recreate the VM.

Entender como instantâneos acumulam cobrançasUnderstand how snapshots accrue charges

Considerações importantes sobre cobrançaImportant billing considerations

A lista a seguir inclui os principais pontos a considerar ao criar um instantâneo.The following list includes key points to consider when creating a snapshot.

  • Sua conta de armazenamento é cobrada por páginas ou blocos exclusivos, estejam eles no blob ou no instantâneo.Your storage account incurs charges for unique blocks or pages, whether they are in the blob or in the snapshot. Sua conta não incorre em cobranças adicionais para instantâneos associados a um blob até que você atualize o blob no qual eles se baseiam.Your account does not incur additional charges for snapshots associated with a blob until you update the blob on which they are based. Depois de atualizar o blob de base, ele divergirá dos respectivos instantâneos.After you update the base blob, it diverges from its snapshots. Quando isso acontece, você é cobrado por páginas ou blocos exclusivos em cada blob ou instantâneo.When this happens, you are charged for the unique blocks or pages in each blob or snapshot.
  • Quando você substituir um bloco em um blob de blocos, esse bloco será cobrado subsequentemente como um único bloco.When you replace a block within a block blob, that block is subsequently charged as a unique block. Isso é verdadeiro mesmo se o bloco tiver a mesma ID de bloco e os mesmos dados que tem no instantâneo.This is true even if the block has the same block ID and the same data as it has in the snapshot. Depois que o bloco for confirmado novamente, ele divergirá de sua contraparte em qualquer instantâneo e você será cobrado por seus dados.After the block is committed again, it diverges from its counterpart in any snapshot, and you will be charged for its data. O mesmo se aplica para uma página em um blob de páginas é atualizada com os dados idênticos.The same holds true for a page in a page blob that's updated with identical data.
  • Atualizar um blob de bloco chamando um método que substitui todo o conteúdo do blob substituirá todos os blocos no BLOB.Updating a block blob by calling a method that overwrites the entire contents of the blob will replace all blocks in the blob. Se você tiver um instantâneo associado a esse blob, todos os blocos no blob de base e o instantâneo agora divergirão e você será cobrado por todos os blocos em ambos os blobs.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. Isso é verdadeiro mesmo se os dados no blob de base e o instantâneo permanecerem idênticos.This is true even if the data in the base blob and the snapshot remain identical.
  • O serviço Blob do Azure não tem um meio para determinar se dois blocos contêm dados idênticos.The Azure Blob service does not have a means to determine whether two blocks contain identical data. Cada bloco que é carregado e confirmado é tratado como exclusivo, mesmo se tiver os mesmos dados e a mesma ID de bloco.Each block that is uploaded and committed is treated as unique, even if it has the same data and the same block ID. Já que as cobranças se acumulam para blocos exclusivos, é importante considerar que a atualização de um blob que tenha um instantâneo resulta em blocos exclusivos adicionais e cobranças adicionais.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.

Minimizar os custos com o gerenciamento de instantâneosMinimize costs with snapshot management

É recomendável gerenciar seus instantâneos com cuidado para evitar cobranças extras.We recommend managing your snapshots carefully to avoid extra charges. Você pode seguir estas práticas recomendadas para ajudar a minimizar os custos incorridos pelo armazenamento de seus instantâneos:You can follow these best practices to help minimize the costs incurred by the storage of your snapshots:

  • Exclua e recrie instantâneos associados a um blob sempre que você atualiza o blob, mesmo se você estiver atualizando com dados idênticos, a menos que o design do seu aplicativo requer que você mantenha os instantâneos.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. Ao excluir e recriar os instantâneos do blob, você pode garantir que o blob e os instantâneos não divirjam.By deleting and re-creating the blob's snapshots, you can ensure that the blob and snapshots do not diverge.
  • Se você estiver mantendo instantâneos para um blob, evite chamar métodos que substituem todo o blob ao atualizar o blob.If you are maintaining snapshots for a blob, avoid calling methods that overwrite the entire blob when you update the blob. Em vez disso, atualize o menor número possível de blocos para manter os custos baixos.Instead, update the fewest possible number of blocks in order to keep costs low.

Cenários de cobrança de instantâneoSnapshot billing scenarios

Os cenários a seguir demonstram como cobranças se acumulam para um blob de blocos e seus instantâneos.The following scenarios demonstrate how charges accrue for a block blob and its snapshots.

Preços e cobrançaPricing and billing

Criar um instantâneo, que é uma cópia somente leitura de um blob, pode resultar em cobranças de armazenamento de dados adicionais para sua conta.Creating a snapshot, which is a read-only copy of a blob, can result in additional data storage charges to your account. Ao projetar o aplicativo, é importante estar ciente de como essas cobranças podem aumentar para que você possa minimizar custos.When designing your application, it is important to be aware of how these charges might accrue so that you can minimize costs.

Instantâneos de BLOB, como versões de BLOB, são cobrados com a mesma taxa de dados ativos.Blob snapshots, like blob versions, are billed at the same rate as active data. O modo como os instantâneos são cobrados depende se você definiu explicitamente a camada para o blob de base ou para qualquer um de seus instantâneos (ou versões).How snapshots are billed depends on whether you have explicitly set the tier for the base blob or for any of its snapshots (or versions). Para saber mais sobre as camadas de blobs, confira Armazenamento de Blobs do Azure: camadas de acesso quente, frio e de arquivamento.For more information about blob tiers, see Azure Blob storage: hot, cool, and archive access tiers.

Se você não tiver alterado uma camada de BLOB ou de instantâneo, será cobrado por blocos exclusivos de dados entre esse BLOB, seus instantâneos e todas as versões que ele possa ter.If you have not changed a blob or snapshot's tier, then you are billed for unique blocks of data across that blob, its snapshots, and any versions it may have. Para obter mais informações, consulte cobrança quando a camada de BLOB não foi definida explicitamente.For more information, see Billing when the blob tier has not been explicitly set.

Se você alterou uma camada de BLOB ou instantâneo, será cobrado pelo objeto inteiro, independentemente de o blob e o instantâneo estarem eventualmente na mesma camada novamente.If you have changed a blob or snapshot's tier, then you are billed for the entire object, regardless of whether the blob and snapshot are eventually in the same tier again. Para obter mais informações, consulte cobrança quando a camada de blob foi definida explicitamente.For more information, see Billing when the blob tier has been explicitly set.

Para obter mais informações sobre detalhes de cobrança para versões de BLOB, consulte controle de versão de blob.For more information about billing details for blob versions, see Blob versioning.

Cobrança quando a camada de BLOB não foi definida explicitamenteBilling when the blob tier has not been explicitly set

Se você não definiu explicitamente a camada de BLOB para um blob de base ou qualquer um de seus instantâneos, você será cobrado por blocos ou páginas exclusivos no BLOB, seus instantâneos e quaisquer versões que ele possa ter.If you have not explicitly set the blob tier for a base blob or any of its snapshots, then you are charged for unique blocks or pages across the blob, its snapshots, and any versions it may have. Os dados que são compartilhados em um blob e seus instantâneos são cobrados apenas uma vez.Data that is shared across a blob and its snapshots is charged only once. Quando um blob é atualizado, os dados em um blob de base divergem dos dados armazenados em seus instantâneos e os dados exclusivos são cobrados por bloco ou página.When a blob is updated, then data in a base blob diverges from the data stored in its snapshots, and the unique data is charged per block or page.

Quando você substituir um bloco em um blob de blocos, esse bloco será cobrado subsequentemente como um único bloco.When you replace a block within a block blob, that block is subsequently charged as a unique block. Isso é verdadeiro mesmo se o bloco tiver a mesma ID de bloco e os mesmos dados que tem no instantâneo.This is true even if the block has the same block ID and the same data as it has in the snapshot. Depois que o bloco for confirmado novamente, ele divergirá de sua contraparte no instantâneo e você será cobrado por seus dados.After the block is committed again, it diverges from its counterpart in the snapshot, and you will be charged for its data. O mesmo se aplica para uma página em um blob de páginas é atualizada com os dados idênticos.The same holds true for a page in a page blob that's updated with identical data.

O armazenamento de BLOBs não tem meios para determinar se dois blocos contêm dados idênticos.Blob storage does not have a means to determine whether two blocks contain identical data. Cada bloco que é carregado e confirmado é tratado como exclusivo, mesmo se tiver os mesmos dados e a mesma ID de bloco.Each block that is uploaded and committed is treated as unique, even if it has the same data and the same block ID. Como as cobranças se acumulam para blocos exclusivos, é importante ter em mente que a atualização de um blob quando esse blob tem instantâneos ou versões resultará em blocos exclusivos adicionais e cobranças adicionais.Because charges accrue for unique blocks, it's important to keep in mind that updating a blob when that blob has snapshots or versions will result in additional unique blocks and additional charges.

Quando um blob tem instantâneos, chame operações de atualização em blobs de blocos para que eles atualizem o número mínimo possível de blocos.When a blob has snapshots, call update operations on block blobs so that they update the least possible number of blocks. As operações de gravação que permitem um controle refinado sobre os blocos são colocar bloco e colocar lista de blocos.The write operations that permit fine-grained control over blocks are Put Block and Put Block List. A operação Put Blob , por outro lado, substitui todo o conteúdo de um blob e, portanto, pode levar a encargos adicionais.The Put Blob operation, on the other hand, replaces the entire contents of a blob and so may lead to additional charges.

Os cenários a seguir demonstram como as cobranças se acumulam para um blob de blocos e seus instantâneos quando a camada de BLOB não foi definida explicitamente.The following scenarios demonstrate how charges accrue for a block blob and its snapshots when the blob tier has not been explicitly set.

Cenário 1Scenario 1

No cenário 1, o blob de base não foi atualizado depois que o instantâneo foi tirado, portanto, as cobranças incorrem apenas para os blocos exclusivos 1, 2 e 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.

Diagrama 1 mostrando a cobrança de blocos exclusivos em blob de base e instantâneo.

Cenário 2Scenario 2

No cenário 2, o blob de base foi atualizado, mas o instantâneo, não.In scenario 2, the base blob has been updated, but the snapshot has not. O bloco 3 foi atualizado e mesmo que ele contenha os mesmos dados e a mesma ID, não é igual ao bloco 3 no instantâneo.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. Como resultado, a conta é cobrada por quatro blocos.As a result, the account is charged for four blocks.

Diagrama 2 mostrando a cobrança para blocos exclusivos em blob de base e instantâneo.

Cenário 3Scenario 3

No cenário 3, o blob de base foi atualizado, mas o instantâneo, não.In scenario 3, the base blob has been updated, but the snapshot has not. O bloco 3 foi substituído pelo bloco 4 no blob de base, mas o instantâneo ainda reflete o bloco 3.Block 3 was replaced with block 4 in the base blob, but the snapshot still reflects block 3. Como resultado, a conta é cobrada por quatro blocos.As a result, the account is charged for four blocks.

Diagrama 3 mostrando a cobrança de blocos exclusivos em blob de base e instantâneo.

Cenário 4Scenario 4

No cenário 4, o blob de base foi totalmente atualizado e não contém nenhum dos seus blocos originais.In scenario 4, the base blob has been completely updated and contains none of its original blocks. Como resultado, a conta é cobrada por todos os oito blocos exclusivos.As a result, the account is charged for all eight unique blocks.

Diagrama 4 mostrando a cobrança para blocos exclusivos em blob de base e instantâneo.

Dica

Evite chamar métodos que substituem todo o blob e, em vez disso, atualize blocos individuais para manter os custos baixos.Avoid calling methods that overwrite the entire blob, and instead update individual blocks to keep costs low.

Cobrança quando a camada de blob foi definida explicitamenteBilling when the blob tier has been explicitly set

Se você definiu explicitamente a camada de BLOB para um BLOB ou instantâneo (ou versão), será cobrado pelo tamanho completo do conteúdo do objeto na nova camada, independentemente de ele compartilhar blocos com um objeto na camada original.If you have explicitly set the blob tier for a blob or snapshot (or version), then you are charged for the full content length of the object in the new tier, regardless of whether it shares blocks with an object in the original tier. Você também é cobrado pelo tamanho completo do conteúdo da versão mais antiga na camada original.You are also charged for the full content length of the oldest version in the original tier. Todas as versões ou instantâneos que permanecem na camada original são cobrados por blocos exclusivos que podem compartilhar, conforme descrito em cobrança quando a camada de BLOB não foi definida explicitamente.Any versions or snapshots that remain in the original tier are charged for unique blocks that they may share, as described in Billing when the blob tier has not been explicitly set.

Movendo um blob para uma nova camadaMoving a blob to a new tier

A tabela a seguir descreve o comportamento de cobrança para um BLOB ou instantâneo quando ele é movido para uma nova camada.The following table describes the billing behavior for a blob or snapshot when it is moved to a new tier.

Quando a camada de blob está definida explicitamente em...When blob tier is set explicitly on… Em seguida, você será cobrado por...Then you are billed for...
Um blob de base com um instantâneoA base blob with a snapshot O blob de base na nova camada e o instantâneo mais antigo na camada original, além de quaisquer blocos exclusivos em outros instantâneos. 1The base blob in the new tier and the oldest snapshot in the original tier, plus any unique blocks in other snapshots.1
Um blob de base com uma versão anterior e um instantâneoA base blob with a previous version and a snapshot O blob de base na nova camada, a versão mais antiga na camada original e o instantâneo mais antigo na camada original, além de quaisquer blocos exclusivos em outras versões ou instantâneos1.The base blob in the new tier, the oldest version in the original tier, and the oldest snapshot in the original tier, plus any unique blocks in other versions or snapshots1.
Um instantâneoA snapshot O instantâneo na nova camada e o blob de base na camada original, além de quaisquer blocos exclusivos em outros instantâneos. 1The snapshot in the new tier and the base blob in the original tier, plus any unique blocks in other snapshots.1

1 Se houver outras versões ou instantâneos anteriores que não foram movidos da camada original, essas versões ou instantâneos serão cobrados com base no número de blocos exclusivos que eles contêm, conforme descrito em cobrança quando a camada de BLOB não tiver sido definida explicitamente.1If there are other previous versions or snapshots that have not been moved from their original tier, those versions or snapshots are charged based on the number of unique blocks they contain, as described in Billing when the blob tier has not been explicitly set.

O diagrama a seguir ilustra como os objetos são cobrados quando um blob com instantâneos é movido para uma camada diferente.The following diagram illustrates how objects are billed when a blob with snapshots is moved to a different tier.

Diagrama mostrando como os objetos são cobrados quando um blob com instantâneos é explicitamente em camadas.

A definição explícita da camada para um blob, versão ou instantâneo não pode ser desfeita.Explicitly setting the tier for a blob, version, or snapshot cannot be undone. Se você mover um blob para uma nova camada e, em seguida, movê-lo de volta para sua camada original, você será cobrado pelo tamanho completo do conteúdo do objeto, mesmo se ele compartilhar blocos com outros objetos na camada original.If you move a blob to a new tier and then move it back to its original tier, you are charged for the full content length of the object even if it shares blocks with other objects in the original tier.

As operações que definem explicitamente a camada de um blob, versão ou instantâneo incluem:Operations that explicitly set the tier of a blob, version, or snapshot include:

Excluindo um blob quando a exclusão reversível está habilitadaDeleting a blob when soft delete is enabled

Quando a exclusão reversível de blob estiver habilitada, se você excluir ou substituir um blob de base que teve sua camada definida explicitamente, todas as versões anteriores ou instantâneos do blob excluído de forma reversível serão cobrados com tamanho de conteúdo completo.When blob soft delete is enabled, if you delete or overwrite a base blob that has had its tier explicitly set, then any previous versions or snapshots of the soft-deleted blob are billed at full content length. Para obter mais informações sobre como o controle de versão do blob e a exclusão reversível funcionam juntos, consulte controle de versão e exclusão reversível do blob.For more information about how blob versioning and soft delete work together, see Blob versioning and soft delete.

A tabela a seguir descreve o comportamento de cobrança para um blob que é excluído de maneira reversível, dependendo se o controle de versão está habilitado ou desabilitado.The following table describes the billing behavior for a blob that is soft-deleted, depending on whether versioning is enabled or disabled. Quando o controle de versão está habilitado, uma nova versão é criada quando um blob é excluído de maneira reversível.When versioning is enabled, a new version is created when a blob is soft-deleted. Quando o controle de versão está desabilitado, a exclusão reversível de um blob cria um instantâneo de exclusão reversível.When versioning is disabled, soft-deleting a blob creates a soft-delete snapshot.

Quando você substitui um blob de base pela sua camada definida explicitamente...When you overwrite a base blob with its tier explicitly set… Em seguida, você será cobrado por...Then you are billed for...
Se a exclusão reversível de BLOB e o controle de versão estiverem habilitadosIf blob soft delete and versioning are both enabled Todas as versões existentes com tamanho de conteúdo completo, independentemente da camada.All existing versions at full content length regardless of tier.
Se a exclusão reversível de blob estiver habilitada, mas o controle de versão estiver desabilitadoIf blob soft delete is enabled but versioning is disabled Todos os instantâneos de exclusão reversível existentes com tamanho de conteúdo completo, independentemente da camada.All existing soft-delete snapshots at full content length regardless of tier.

Próximas etapasNext steps