Noções básicas sobre como os instantâneos de blob acumulam encargos

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. Ao criar seu aplicativo, é importante estar ciente de como essas cobranças podem aumentar, para que você possa minimizar custos desnecessários.

Considerações importantes sobre faturamento

A lista a seguir inclui os principais pontos a considerar ao criar um instantâneo.

  • As cobranças incorrem para páginas ou blocos exclusivos, estejam eles no blob ou no instantâneo. 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. Assim que você atualizar o blob base, ele divergirá dos instantâneos, e você será cobrado por páginas ou blocos exclusivos em cada blob ou instantâneo.

  • Quando você substituir um bloco em um blob de blocos, esse bloco será cobrado subsequentemente como um único bloco. Isso é verdadeiro mesmo se o bloco tiver a mesma ID de bloco e os mesmos dados que tem no instantâneo. Assim que o bloco for confirmado novamente, ele divergirá de sua contraparte em qualquer instantâneo e você será cobrado por seus dados. O mesmo se aplica para uma página em um blob de páginas é atualizada com dados idênticos.

  • Substituir um blob de blocos chamando o método UploadFile, UploadText, UploadStream ou UploadByteArray substitui todos os blocos nesse blob. Se você tiver um instantâneo associado a esse blob, todos os blocos no blob base e no instantâneo agora divergirão e você será cobrado por todos os blocos em ambos os blobs. Isso é verdadeiro mesmo se os dados no blob de base e o instantâneo permanecerem idênticos.

  • O serviço Blob do Azure não tem um meio para determinar se dois blocos contêm dados idênticos. Cada bloco que é carregado e confirmado é tratado como exclusivo, mesmo se tiver os mesmos dados e a mesma ID de bloco. Como as cobranças se acumulam para blocos exclusivos, é importante considerar que atualizar um blob que tenha um instantâneo resultará em blocos exclusivos adicionais e cobranças adicionais.

Importante

As práticas recomendadas ditam que você gerencie instantâneos com cuidado para evitar cobranças extras. É recomendável gerenciar instantâneos da seguinte maneira:

  • 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. Ao excluir e recriar os instantâneos do blob, você pode garantir que o blob e os instantâneos não divirjam.
  • Se você estiver mantendo instantâneos para um blob, evite chamar UploadFile, UploadText, UploadStream ou UploadByteArray para atualizar o blob, pois esses métodos substituem todos os blocos no blob. Em vez disso, atualize o menor número possível de blocos usando os métodos PutBlock e PutBlockList.

Cenários de faturamento de instantâneo

Os cenários a seguir demonstram como cobranças se acumulam para um blob de blocos e seus instantâneos. No Cenário 1, o blob base não foi atualizado desde que o instantâneo foi tirado, de modo que as cobranças incorrem apenas para blocos exclusivos 1, 2 e 3:

Diagrama mostrando como os blocos são cobrados no cenário 1

Cenário 1: Somente os blocos 1, 2 e 3 acumulam cobranças.

No cenário 2, o blob base foi atualizado, mas o instantâneo, não. 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. Consequentemente, a conta é cobrada por quatro blocos:

Diagrama mostrando como os blocos são cobrados no cenário 2

Cenário 2: Os blocos 1, 2 e 3 no blob base acumulam cobranças, juntamente com o bloco 3 no instantâneo.

No Cenário 3, o blob de base foi atualizado, mas o instantâneo não. O bloco 3 foi substituído pelo bloco 4 no blob de base, mas o instantâneo ainda reflete o bloco 3. Consequentemente, a conta é cobrada por quatro blocos:

Diagrama mostrando como os blocos são cobrados no cenário 3

Cenário 3: Os blocos 1, 2, 3 e 4 acumulam cobranças.

No cenário 4, o blob base foi totalmente atualizado e não contém nenhum dos seus blocos originais. Como resultado, a conta é cobrada por todos os oito blocos exclusivos. Este cenário poderá ocorrer se você estiver usando um método de atualização como UploadFile, UploadText, UploadFromStream ou UploadByteArray, pois esses métodos substituem todo o conteúdo de um blob.

Diagrama mostrando como os blocos são cobrados no cenário 4

Cenário 4: Os blocos 1, 2, 3, 4, 5, 6, 7 e 8 acumulam cobranças.

Consulte Também

Como usar o serviço de armazenamento de blobs (a página pode estar em inglês)
Como usar o serviço de armazenamento de filas
Criando um instantâneo de um Blob