Criar um instantâneo de um blob
Uma instantâneo de blob é uma versão somente leitura de um blob que é feita em um único ponto no tempo. Depois que um instantâneo tiver sido criado, ele poderá ser lido, copiado ou excluído, mas não modificado. Os instantâneos fornecem uma maneira de fazer backup de um blob como ele aparece em um momento específico no tempo.
Um instantâneo de um blob tem o mesmo nome que o blob básico do qual foi obtido, com um valor de DateTime
anexado para indicar o momento em que o instantâneo foi obtido. Por exemplo, se o URI do blob de páginas for http://storagesample.core.blob.windows.net/mydrives/myvhd
, o URI do instantâneo será algo como http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z
. Você pode usar esse valor para referenciar o instantâneo para operações adicionais. Os instantâneos de um blob compartilham o URI do blob e são diferenciados apenas por esse DateTime
valor.
Um blob pode ter qualquer quantidade de instantâneos. Os instantâneos persistem até serem excluídos explicitamente. Um instantâneo não pode sobreviver ao blob de origem. É possível enumerar os instantâneos associados a seu blob para acompanhar seus instantâneos atuais.
Herdando propriedades
Quando você cria uma instantâneo de um blob, as propriedades do sistema são copiadas para o instantâneo com os mesmos valores, incluindo:
- ContentType
- ContentEncoding
- ContentLanguage
- Comprimento
- CacheControl
- ContentMd5
Uma concessão associada ao blob de base não é copiada para o instantâneo. Instantâneos não podem ser concedidos.
Copiando instantâneos
As operações de cópia que envolvem blobs e instantâneos seguem estas regras:
Você pode copiar um instantâneo sobre seu blob de base. Promovendo um instantâneo para a posição do blob de base, você pode restaurar uma versão anterior de um blob. O instantâneo permanece, mas sua origem é substituída por uma cópia que pode ser lida e gravada.
Você pode copiar um instantâneo para um blob de destino que tenha um nome diferente. O blob de destino resultante é um blob gravável, não um instantâneo.
Quando um blob de origem é copiado, todos os instantâneos do blob de origem não são copiados para o destino. Quando um blob de destino é substituído por uma cópia, todos os instantâneos associados ao blob de destino permanecem intactos sob seu nome.
Quando você cria um instantâneo de um blob de blocos, a lista de blocos confirmados do blob também é copiada no instantâneo. Todos os blocos não confirmados não são copiados.
Especificando uma condição de acesso
Você pode especificar uma condição de acesso para que o instantâneo seja criado somente se essa condição for atendida. Se a condição especificada não for atendida, o instantâneo não será criado e o Armazenamento de Blobs do Azure retornará status código HTTPStatusCode.PreconditionFailed. Para obter mais informações, consulte Blob de instantâneos.
Excluindo instantâneos
Um blob que tem instantâneos não pode ser excluído, a menos que os instantâneos também sejam excluídos. Você pode excluir um instantâneo individualmente ou excluir todos os instantâneos ao excluir o blob de origem. Se você tentar excluir um blob que ainda tem instantâneos, sua chamada retornará um erro.
Confira também
Blob de instantâneo
Put Block
Put Block List
Colocar Página
Excluir blob
Listando recursos de armazenamento de Blobs
Noções básicas sobre como os instantâneos acumulam encargos