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:
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:
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:
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.
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