Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Migawka to kopia blobu tylko do odczytu wykonana w określonym punkcie w czasie. Nie musisz włączać funkcji migawek blobów. Zamiast tego twórz migawki na żądanie, korzystając z operacji Snapshot Blob. Więcej informacji można znaleźć w artykule Operacja Snapshot Blob. Możesz zautomatyzować tworzenie migawek, używając niestandardowych skryptów do tworzenia kopii blobów z określonego momentu zgodnie z harmonogramem lub przed lub po konkretnych operacjach.
Zalecana konfiguracja ochrony danych
Migawki blob to jedna z kilku funkcji ochrony danych. Wybór odpowiedniej funkcji lub ich kombinacji zależy od Twojego obciążenia pracą i tego, przed czym się chronisz. Aby dowiedzieć się więcej o zaleceniach Microsoft dotyczących ochrony danych, zobacz Przegląd Ochrony Danych.
Migawki kontra wersje
Migawka jest podobna do wersji obiektu blob, ale te dwa elementy różnią się sposobem tworzenia i tym, do czego są najlepiej przystosowane. Snapshot jest ręczny i sterowany aplikacją: jawnie tworzysz kopię stanu z określonego momentu w czasie, gdy aplikacja uzna ją za potrzebną. Wersja jest automatyczna i zarządzana systemowo: Azure Storage tworzy nową wersję przy każdym zapisie lub usuwaniu po włączeniu wersjonowania blobów, bez potrzeby stosowania logiki aplikacji.
Używaj wersjonowania, gdy chcesz mieć automatyczną, ciągłą ochronę przed przypadkowymi lub złośliwymi nadpisaniami i usuwaniami. Używaj migawek, gdy chcesz mieć celowe, punktowe kopie, na przykład znany dobry punkt kontrolny przed planowaną aktualizacją, a nie zapis każdej zmiany.
Uwaga / Notatka
Chociaż można przybliżyć zachowanie wersjonowania za pomocą snapshotów, Microsoft zaleca wersjonowanie blobów w celu automatycznej ochrony przed nadpisaniem i usunięciem na kontach FNS. Migawki najlepiej sprawdzają się do celowych, jednorazowych zapisów stanu, a nie do ochrony rejestrującej każdą zmianę. Więcej informacji można znaleźć w „Wersjonowanie blobów”.
Jak działają migawki
Migawka blobu jest identyczna z bazowym blobem, z tą różnicą, że do identyfikatora URI obiektu blob jest dołączona wartość DateTime, która wskazuje czas wykonania migawki. Jeśli na przykład identyfikator URI stronicowego obiektu blob to http://storagesample.core.blob.windows.net/mydrives/myvhd, wówczas identyfikator URI migawki jest podobny do http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z.
Podczas tworzenia migawki obiektu blob właściwości systemowe obiektu blob są kopiowane do migawki z tymi samymi wartościami. Metadane podstawowego obiektu blob są również kopiowane do migawki, chyba że podczas jego tworzenia określono oddzielne metadane dla migawki. Po utworzeniu migawki można ją odczytać, skopiować lub usunąć, ale nie można jej zmodyfikować. Wszystkie dzierżawy skojarzone z podstawowym obiektem blob nie mają wpływu na migawkę. Nie można uzyskać dzierżawy migawki.
Obiekt blob może mieć dowolną liczbę migawek. Migawki pozostają do momentu, gdy wyraźnie je usuniesz, oddzielnie lub jako część operacji Delete Blob dla bazowego blobu. Możesz utworzyć migawkę obiektu blob w warstwie gorącej, zimnej lub chłodnej. Nie da się utworzyć migawki zarchiwizowanego obiektu blob.
Ważne
Duża liczba migawek na blob może zwiększyć opóźnienia operacji listowania blobów. Microsoft zaleca utrzymywanie mniej niż 1000 migawek na jeden blob. Możesz użyć zarządzania cyklem życia, aby automatycznie usuwać stare migawki. Więcej informacji o zarządzaniu cyklem życia znajdziesz w artykule Optymalizacja kosztów przez automatyzację poziomów dostępu do Azure Blob Storage.
Migawki są szczególnie przydatne dla typów blobów i operacji, które nie są rejestrowane przez wersjonowanie blobów. Ponieważ niektóre operacje zapisu, takie jak Put Page (page blobs) i Append Block (append blobs), nie tworzą wersji blobów nawet po włączeniu wersjonowania, snapshoty umożliwiają uchwycenie stanu punktu w czasie blobu podczas korzystania z tych API. Na przykład plik VHD przechowuje aktualne informacje i status dysku VM. Możesz odłączyć dysk z poziomu maszyny wirtualnej lub ją wyłączyć, zrobić migawkę pliku VHD, a następnie później użyć tej migawki do odzyskania pliku VHD w stanie z tego momentu i odtworzenia maszyny.
Poniższy diagram pokazuje, jak tworzone są migawki i jak migawka może zostać promowana do roli bieżącego bloba:
Zarządzanie i przywracanie migawek
Możesz tworzyć, wyświetlać listę i usuwać migawki. Możesz też użyć migawki, aby przywrócić bazowy obiekt blob do wcześniejszego stanu. Poniższe sekcje opisują każdą operację oraz odpowiednie narzędzia.
Przywróć obiekt blob z migawki
Ponieważ nie możesz zmodyfikować snapshota, przywracasz bazowy blob, kopiując snapshot na niego. Wywołaj operację Copy Blob i określ URI snapshot jako źródło kopii. Proces ten promuje stan migawki, aby stał się bieżącym bazowym blobem, jednocześnie zachowując istniejące migawki blobu.
Wylistuj migawki
Możesz wyliczyć migawki powiązane z bazowym blobem, aby śledzić aktualne snapshoty, używając operacji List Blobs i określając snapshots wartość w parametrze include . Domyślnie żądanie listowania obiektów blob nie zwraca migawek. Ustaw include=snapshots, aby zwracać wszystkie migawki dla każdego obiektu blob wraz z podstawowym obiektem blob. Więcej informacji można znaleźć w artykule List Blobs. Możesz także użyć inwentaryzacji obiektów blob w usłudze Azure Storage do generowania zaplanowanego raportu obiektów blob na swoim koncie, w tym ich migawek, ustawiając pole includeSnapshots na true w definicji reguły inwentaryzacji. Więcej informacji można znaleźć w Blob Inventory.
Usuwanie migawek
Musisz jawnie usunąć snapshot. Aby usunąć pojedynczy migawkę, wywołaj operację Delete Blob i określ wartość DateTime migawki w parametrze zapytania snapshot.
Nie możesz usunąć bazowego bloba, gdy ma aktywne snapshoty. Aby usunąć bazowy blob i wszystkie jego migawki razem, wywołaj Delete Blob z nagłówkiem x-ms-delete-snapshots ustawionym na include. Aby usunąć tylko migawki i zachować bazowy obiekt blob, ustaw nagłówek na only.
Zarządzaj snapshotami za pomocą narzędzi
Możesz zarządzać migawkami, korzystając z portalu, Azure CLI oraz Azure PowerShell.
Aby stworzyć migawkę bloba za pomocą portalu Azure, postępuj zgodnie z następującymi krokami:
- Na portalu Azure przejdź do swojego konta przechowywania.
- W sekcji Data storage znajdź opcję Kontenery , a następnie wybierz kontener, który zawiera blob.
- Wybierz obiekt blob, dla którego chcesz utworzyć migawkę.
- Na zakładce Przegląd bloba wybierz Utwórz migawkę.
- Aby zobaczyć migawki dla bloba, wybierz zakładkę Migawki . Zakładka wyświetla każdą migawkę wraz z datą i godziną jej przechwycenia.
Obsługa funkcji
Ta funkcja nie jest włączona dla kont Data Lake Storage Gen2. Dodatkowo, protokół Network File System (NFS) 3.0 lub SSH File Transfer Protocol (SFTP) mogą wpływać na obsługę tej funkcji. Jeśli włączysz którąkolwiek z tych funkcji, zobacz obsługa funkcji Blob Storage na kontach usługi Azure Storage, aby ocenić obsługę tej funkcji. Rozważ alternatywne mechanizmy. Przykłady to Soft delete for blobs, AzCopy oraz Vaulted Backup.
Interakcje funkcji
Wersjonowanie
Gdy włączasz wersjonowanie, migawki są zwykle zbędne dla blokowych obiektów blob. Jeśli włączysz jednocześnie wersjonowanie i migawki, zrobienie migawki tworzy zarówno migawkę, jak i nową wersję. Proces ten zwiększa liczbę przechowywanych obiektów bez dodawania ochrony. Aby uzyskać więcej informacji, zobacz Wersjonowanie obiektów blob.
Miękkie usuwanie
Usuwanie nietrwałe dotyczy migawek: gdy usuniesz migawkę, zostanie ona usunięta nietrwale. Możesz przywrócić go w trakcie okresu przechowywania, używając funkcji Undelete Blob. Dodatkowo, sposób tworzenia i fakturowania migawek różni się w zależności od tego, czy wersjonowanie jest włączone. Gdy wersjonowanie jest wyłączone, nadpisanie blob tworzy migawkę miękkiego usuwania. Gdy wersjonowanie jest włączone, tworzy się nowa wersja. Jeśli wyraźnie ustawisz tier na bazowym blobie, płacisz pełną długość treści za wcześniejsze wersje lub migawki miękko usuniętego bloba. Szczegóły dotyczące tego zachowania w rozliczeniach można znaleźć w sekcji Ceny i rozliczenia. Więcej informacji o miękkim usuwaniu można znaleźć w artykule Blob Soft Delete.
Replikacja obiektów
Nie da się replikować migawek. Replikowany jest tylko bazowy obiekt blob. Więcej informacji można znaleźć w artykule Replikacja obiektów.
Zarządzanie cyklem życia
Zarządzanie cyklem życia może wskazywać i usuwać migawki, wykorzystując podtyp migawek w regułach polityki. Więcej informacji można znaleźć w artykule Zarządzanie cyklem życia.
Ceny i rozliczenia
Utworzenie migawki, która jest kopią obiektu blob tylko do odczytu, może spowodować naliczanie dodatkowych opłat za przechowywanie danych na Twoim koncie. Projektując swoją aplikację, zwróć uwagę na to, jak mogą się naliczać te opłaty, aby zminimalizować koszty.
Migawki obiektów blob, takie jak wersje obiektów blob, są rozliczane po takim samym kursie jak aktywne dane. Sposób rozliczania za snapshoty zależy od tego, czy wyraźnie ustawiłeś tier dla bazowego bloba, czy dla dowolnego z jego snapshotów (lub wersji). Aby uzyskać więcej informacji na temat warstw obiektów blob, zobacz Warstwy dostępu dla danych obiektów blob.
Jeśli nie zmienisz poziomu obiektu blob lub migawki, opłaty są naliczane za unikalne bloki danych w tym obiekcie blob, jego migawkach oraz ewentualnych wersjach. Aby uzyskać więcej informacji, zobacz Rozliczenia, gdy warstwa obiektu blob nie została jawnie ustawiona.
Jeśli zmienisz warstwę bloba lub snapshota, zostanie naliczona opłata za cały obiekt, niezależnie od tego, czy blob i snapshot ostatecznie znów znajdą się w tej samej warstwie. Aby uzyskać więcej informacji, zobacz Rozliczenia, gdy warstwa obiektu blob została jawnie ustawiona.
W przypadku kont magazynowych, które wykorzystują inteligentną warstwę, wersje i migawki są naliczane na podstawie pełnej długości zawartości. Aby uzyskać więcej informacji, zobacz Optymalizowanie kosztów za pomocą warstwy inteligentnej.
Aby uzyskać więcej informacji na temat szczegółów rozliczeń wersji obiektów blob, zobacz Wersjonowanie obiektów blob.
Minimalizowanie kosztów dzięki zarządzaniu migawkami
Aby uniknąć dodatkowych opłat, starannie zarządzaj swoimi snapshotami. Stosuj się do tych najlepszych praktyk, aby zminimalizować koszty związane z przechowywaniem swoich migawek:
- Usuwaj i ponownie twórz migawki skojarzone z obiektem blob za każdym razem, gdy aktualizujesz obiekt blob, nawet jeśli aktualizacja odbywa się przy użyciu tych samych danych, chyba że projekt aplikacji wymaga utrzymania migawek. Usuwając i odtwarzając migawki z bloba, zapewniasz, że blob i migawki nie będą się rozchodzić.
- Jeśli przechowujesz migawki dla obiektu blob, unikaj wywoływania metod, które zastępują cały obiekt blob podczas aktualizowania obiektu blob. Zamiast tego zaktualizuj jak najmniej bloków, aby utrzymać niskie koszty.
Rozliczenia, gdy nie ustawiasz wyraźnie poziomu blob
Jeśli nie ustawisz wyraźnie warstwy dostępu obiektu blob dla bazowego blobu lub którejkolwiek z jego migawek, płacisz za unikalne bloki lub strony w blobie, jego migawkach i wszelkich wersjach, które może mieć. Płacisz za dane, które blob i jego migawki współużytkują tylko jednokrotnie. Gdy aktualizujesz blob, dane w blobie podstawowym różnią się od danych przechowywanych w migawkach, a ty płacisz za unikalne dane na blok lub stronę.
Gdy zastępujesz blok w blobie blokowym, później płacisz za ten blok jako unikalny blok. Ta zasada obowiązuje nawet wtedy, gdy blok ma ten sam identyfikator bloku i te same dane, co w migawce. Po ponownym zatwierdzeniu bloku różni się on od swojego odpowiednika w migawce i płacisz za jego dane. Ta sama zasada dotyczy strony w obiekcie blob strony, która została zaktualizowana identycznymi danymi.
Blob storage nie ma sposobu na określenie, czy dwa bloki zawierają identyczne dane. Każdy blok, który przesyłasz i commitujesz, jest traktowany jako unikalny, nawet jeśli ma te same dane i ten sam identyfikator bloku. Ponieważ płacisz za unikalne bloki, pamiętaj, że aktualizacja bloba, gdy ten blob ma migawki lub wersje, skutkuje dodatkowymi unikalnymi blokami i dodatkowymi opłatami.
Gdy blob ma migawki, wykonaj operacje aktualizacji bloków, aby zaktualizować jak najmniejszą liczbę bloków. Operacje zapisu, które zezwalają na precyzyjną kontrolę nad blokami, to Put Block i Put Block List. Operacja Put Blob natomiast zastępuje całą zawartość bloba, co może prowadzić do dodatkowych ładunków.
Poniższe scenariusze pokazują, jak naliczają się opłaty dla blokowego obiektu blob i jego migawek, gdy nie ustawisz wyraźnie warstwy obiektu blob.
Scenariusz 1
W scenariuszu 1 podstawowy blob nie został zaktualizowany po wykonaniu migawki, więc opłaty są naliczane tylko dla unikatowych bloków 1, 2 i 3.
Scenariusz 2
W scenariuszu 2 podstawowy blob został zaktualizowany, ale migawka pozostała niezmieniona. Blok 3 został zaktualizowany, 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 3
W scenariuszu 3 obiekt blob podstawowy został zaktualizowany, ale migawka nie została zaktualizowana. Blok 3 został zastąpiony blokiem 4 w bazowym blobie, ale migawka wciąż odzwierciedla blok 3. W związku z tym opłaty za konto są naliczane za cztery bloki.
Scenariusz 4
W scenariuszu 4 podstawowy obiekt blob został całkowicie zaktualizowany i nie zawiera żadnych swoich oryginalnych bloków. W związku z tym konto jest obciążone za wszystkie osiem unikatowych bloków.
Wskazówka
Aby obniżyć koszty, unikaj wywoływania metod, które nadpisują cały blob. Zamiast tego aktualizuj pojedyncze bloki.
Rozliczenia, gdy wyraźnie ustawiasz poziom blob
Jeśli wyraźnie ustawisz warstwę dostępu obiektu blob dla obiektu blob, migawki lub wersji, płacisz za pełny rozmiar zawartości obiektu w nowej warstwie, niezależnie od tego, czy współdzieli on bloki z obiektem w oryginalnej warstwie. Płacisz też za całą zawartość najstarszej wersji z pierwotnego poziomu. Płacisz za unikalne bloki w dowolnych wersjach lub migawkach, które pozostają w oryginalnym poziomie, jak opisano w Rozliczenia, gdy poziom obiektu blob nie jest jawnie ustawiony.
Przenoszenie obiektu blob do nowej warstwy
Poniższa tabela opisuje zachowanie rozliczeń dla blobu lub migawki po przeniesieniu go na nowy poziom.
| Kiedy wyraźnie ustawiasz poziom blob na... | Następnie są naliczane opłaty za... |
|---|---|
| Podstawowy obiekt blob z migawką | Podstawowy obiekt blob w nowej warstwie, najstarsza migawka w warstwie oryginalnej oraz wszystkie unikatowe bloki w innych migawkach. 1 |
| Podstawowy obiekt blob z poprzednią wersją oraz migawką | Bazowy blob na nowym poziomie, najstarsza wersja na oryginalnym poziomie oraz najstarszy snapshot na oryginalnym poziomie, plus wszelkie unikalne bloki w innych wersjach lub snapshotach. 1 |
| Migawka | Migawka w nowej warstwie i podstawowy blob w oryginalnej warstwie, plus każde unikalne bloki w innych migawkach. 1 |
1 Jeśli istnieją inne wcześniejsze wersje lub migawki, których nie przeniosłeś z oryginalnego poziomu, płacisz według liczby unikalnych bloków, które zawierają, jak opisano w Rozliczeniu, gdy poziom blob nie jest wyraźnie ustawiony.
Poniższy diagram pokazuje, jak obiekty są rozliczane, gdy przenosisz obiekt blob z migawkami na inny poziom.
Nie da się cofnąć wyraźnego ustawienia tieru dla blobu, wersji czy migawki. Jeśli przeniesiesz blob na nowy poziom, a potem wrócisz do oryginalnego tieru, płacisz za pełną długość zawartości obiektu, nawet jeśli dzieli bloki z innymi obiektami z oryginalnego tieru.
Operacje, które jawnie ustawiają poziom warstwy obiektu blob, wersji lub migawki, obejmują:
Umieść obiekt blob z określoną warstwą
Umieść listę bloków z określoną warstwą
Kopiowanie obiektu blob z określoną warstwą
Usuwanie obiektu blob z włączonym miękkim usuwaniem
Gdy miękkie usuwanie blobów jest włączone, jeśli usuniesz lub nadpiszesz bazowy blob, dla którego wyraźnie ustawiłeś tier, płacisz za pełną długość treści wcześniejszych wersji lub migawek miękko usuniętego bloba. Więcej informacji o tym, jak wersjonowanie blob i soft delete działają razem, zobacz Interakcje z funkcjami.
W poniższej tabeli opisano zachowanie rozliczeń dla obiektu blob, który jest usuwany nietrwale, w zależności od tego, czy przechowywanie wersji jest włączone, czy wyłączone. Po włączeniu wersjonowania zostanie utworzona nowa wersja, gdy obiekt blob zostanie usunięty w trybie miękkim. Gdy wersjonowanie jest wyłączone, miękkie usunięcie obiektu blob powoduje utworzenie migawki miękkiego usunięcia.
| Po zastąpieniu podstawowego obiektu blob jawnie ustawioną warstwą... | Następnie są naliczane opłaty za... |
|---|---|
| Jeśli miękkie usuwanie obiektów blob i przechowywanie wersji zostały włączone | Wszystkie istniejące wersje o pełnej długości zawartości niezależnie od warstwy. |
| Jeśli usuwanie miękkie obiektu blob jest włączone, ale wersjonowanie jest wyłączone | Wszystkie istniejące migawki miękkiego usuwania o pełnej długości treści bez względu na poziom. |
Znane ograniczenia
Nie możesz tworzyć migawek dla blobów w tierze dostępu do archiwum.
Obsługa migawek kont Data Lake Gen2 nie jest już dostępna dla nowych klientów. Zamiast tego użyj miękkiego usuwania blob, AzCopy lub Vaulted Backup.
Nie możesz usunąć bloba, gdy są aktywne migawki, chyba że uwzględnisz
x-ms-delete-snapshotsw wywołaniu usuwania.Replikacja obiektów nie replikuje migawek.
Nie możesz modyfikować migawek po utworzeniu.
Nie można uzyskać dzierżawy migawki.
Monitorowanie i rozwiązywanie problemów
Nie mogę usunąć mojego bazowego bloba: Blob ma aktywne migawki. Użyj Usuń Blob z
x-ms-delete-snapshots: include, aby usunąć oba elementy jednocześnie.Mój snapshot zniknął po usunięciu bazowego bloba: Usunięcie tego blobu na stałe usuwa snapshoty, chyba że jest włączone soft delete blobów. Włącz miękkie usuwanie, aby chronić przed przypadkowym usunięciem.
Moje koszty snapshotów są wyższe niż się spodziewałem: jeśli wyraźnie zmienisz poziom dostępu do bloba, płacisz za pełną długość treści, a nie tylko za unikalne bloki. Unikaj wyraźnych zmian tierów na blobach z aktywnymi migawkami, jeśli to możliwe.
Przeglądanie i inwentaryzacja migawek: W portalu migawki pojawiają się pod blobem w Storage Browser, gdy włączone jest Pokaż migawki blobów . Aby zinwentaryzować liczbę migawek i wykorzystanie magazynu na koncie, użyj Azure Storage Blob Inventory oraz metryki BlobCapacity w Azure Monitor.