Opis sposobu naliczania opłat za migawki obiektów blob
Utworzenie migawki, która jest kopią obiektu blob tylko do odczytu, może spowodować naliczanie dodatkowych opłat za magazyn danych na Koncie. Podczas projektowania aplikacji należy pamiętać, w jaki sposób te opłaty mogą być naliczane, aby zminimalizować niepotrzebne koszty.
Ważne zagadnienia dotyczące rozliczeń
Poniższa lista zawiera kluczowe kwestie, które należy wziąć pod uwagę podczas tworzenia migawki.
Opłaty są naliczane za unikatowe bloki lub strony, niezależnie od tego, czy znajdują się w obiekcie blob, czy w migawce. Twoje konto nie powoduje naliczania dodatkowych opłat za migawki skojarzone z obiektem blob, dopóki nie zaktualizujesz obiektu blob, na którym są oparte. Po zaktualizowaniu podstawowego obiektu blob różni się on od migawek i zostanie naliczona opłata za unikatowe bloki lub strony w każdym obiekcie blob lub migawki.
Po zastąpieniu bloku w blokowym obiekcie blob opłaty są następnie naliczane jako unikatowy blok. Jest to prawda, nawet jeśli blok ma ten sam identyfikator bloku i te same dane co w migawce. Po ponownym zatwierdzeniu bloku następuje rozbieżność od jego odpowiednika w dowolnej migawce i zostanie naliczona opłata za jego dane. To samo dotyczy strony w stronicowym obiekcie blob, który jest aktualizowany przy użyciu identycznych danych.
Zastąpienie blokowego obiektu blob przez wywołanie metody UploadFile, UploadText, UploadStream lub UploadByteArray zastępuje wszystkie bloki w tym obiekcie blob. Jeśli masz migawkę skojarzona z tym obiektem blob, wszystkie bloki w podstawowym obiekcie blob i migawki będą teraz rozbieżne i będą naliczane opłaty za wszystkie bloki w obu obiektach blob. Jest to prawda, nawet jeśli dane w podstawowym obiekcie blob i migawka pozostają identyczne.
Usługa Azure Blob Service nie ma możliwości określenia, czy dwa bloki zawierają identyczne dane. Każdy blok przekazany i zatwierdzony jest traktowany jako unikatowy, nawet jeśli ma te same dane i ten sam identyfikator bloku. Ponieważ opłaty są naliczane za unikatowe bloki, należy wziąć pod uwagę, że aktualizacja obiektu blob z migawką spowoduje dodatkowe unikatowe bloki i dodatkowe opłaty.
Ważne
Najlepsze rozwiązania wymagają starannego zarządzania migawkami, aby uniknąć dodatkowych opłat. Zaleca się zarządzanie migawkami w następujący sposób:
- Usuwanie i ponowne tworzenie migawek skojarzonych z obiektem blob za każdym razem, gdy aktualizujesz obiekt blob, nawet jeśli aktualizujesz je przy użyciu identycznych danych, chyba że projekt aplikacji wymaga obsługi migawek. Usuwając i ponownie tworząc migawki obiektu blob, możesz upewnić się, że obiekt blob i migawki nie różnią się.
- W przypadku obsługi migawek dla obiektu blob należy unikać wywoływania metod UploadFile, UploadText, UploadStream lub UploadByteArray w celu zaktualizowania obiektu blob, ponieważ te metody zastępują wszystkie bloki w obiekcie blob. Zamiast tego zaktualizuj najmniejszą możliwą liczbę bloków przy użyciu metod PutBlock i PutBlockList .
Scenariusze rozliczeń migawek
W poniższych scenariuszach pokazano, jak naliczane są opłaty za blokowy obiekt blob i jego migawki. W scenariuszu 1 podstawowy obiekt blob nie został zaktualizowany od czasu wykonania migawki, więc opłaty są naliczane tylko dla unikatowych bloków 1, 2 i 3:
Scenariusz 1: tylko bloki 1, 2 i 3 naliczają opłaty.
W scenariuszu 2 obiekt blob podstawowy został zaktualizowany, ale migawka nie została zaktualizowana. Blok 3 został zaktualizowany i mimo że zawiera te same dane i ten sam identyfikator, nie jest taki sam jak blok 3 w migawce. W związku z tym opłaty za konto są naliczane za cztery bloki:
Scenariusz 2. Bloki 1, 2 i 3 w podstawowych opłatach za naliczanie obiektów blob wraz z blokiem 3 w migawce.
W scenariuszu 3 obiekt blob podstawowy został zaktualizowany, ale migawka nie została zaktualizowana. Blok 3 został zastąpiony blokiem 4 w podstawowym obiekcie blob, ale migawka nadal odzwierciedla blok 3. W związku z tym opłaty za konto są naliczane za cztery bloki:
Scenariusz 3. Bloki 1, 2, 3 i 4 naliczają opłaty.
W scenariuszu 4 obiekt blob podstawowy został całkowicie zaktualizowany i nie zawiera żadnych oryginalnych bloków. W związku z tym opłaty są naliczane za wszystkie osiem unikatowych bloków. Ten scenariusz może wystąpić, jeśli używasz metody aktualizacji, takiej jak UploadFile, UploadText, UploadFromStream lub UploadByteArray, ponieważ te metody zastępują całą zawartość obiektu blob.
Scenariusz 4: naliczane są opłaty za bloki 1, 2, 3, 4, 5, 6, 7 i 8.
Zobacz też
Jak używać usługi Blob Storage
Jak używać usługi Queue Storage
Tworzenie migawki obiektu blob