Udostępnij za pośrednictwem


Optymalizowanie kosztów przez automatyczne zarządzanie cyklem życia danych

Zarządzanie cyklem życia usługi Azure Blob Storage oferuje zasady oparte na regułach, których można użyć do przeniesienia danych obiektów blob do odpowiednich warstw dostępu lub wygaśnięcia danych na końcu cyklu życia danych.

Za pomocą zasad zarządzania cyklem życia można wykonywać następujące czynności:

  • Przeniesienie obiektów blob z chłodnych na gorącą natychmiast po ich korzystaniu z nich w celu zoptymalizowania pod kątem wydajności.
  • Przeniesienie bieżących wersji obiektu blob, poprzednich wersji obiektu blob lub migawek obiektów blob do chłodniejszej warstwy magazynowania, jeśli te obiekty nie były używane lub modyfikowane przez pewien czas, aby zoptymalizować pod kątem kosztów.
  • Usuń bieżące wersje obiektu blob, poprzednie wersje obiektu blob lub migawki obiektów blob na końcu ich cyklu życia.
  • Zastosuj reguły do całego konta magazynu, aby wybrać kontenery lub do podzbioru obiektów blob przy użyciu prefiksów nazw lub tagów indeksu obiektów blob jako filtrów .

Napiwek

Chociaż zarządzanie cyklem życia ułatwia przenoszenie danych między warstwami na jednym koncie, można użyć zadania magazynu, aby wykonać to zadanie na dużą skalę na wielu kontach. Zadanie magazynu to zasób dostępny w usłudze Azure Storage Actions. Platforma bezserwerowa, której można użyć do wykonywania typowych operacji na danych na milionach obiektów na wielu kontach magazynu. Aby dowiedzieć się więcej, zobacz Co to jest usługa Azure Storage Actions?.

Zasady zarządzania cyklem życia są obsługiwane w przypadku blokowych obiektów blob i uzupełnialnych obiektów blob na kontach ogólnego przeznaczenia w wersji 2, kontach blokowych obiektów blob w warstwie Premium i kontach usługi Blob Storage. Zarządzanie cyklem życia nie ma wpływu na kontenery systemowe, takie jak $logs kontenery lub $web .

Ważne

Jeśli zestaw danych musi być czytelny, nie należy ustawiać zasad przenoszenia obiektów blob do warstwy Archiwum. Obiekty blob w warstwie Archiwum nie mogą być odczytywane, chyba że są one najpierw ponownie wypełniania— proces, który może być czasochłonny i kosztowny. Aby uzyskać więcej informacji, zobacz Omówienie ponownego wypełniania obiektów blob z warstwy archiwum. Jeśli zestaw danych musi być często odczytywany, nie należy ustawiać zasad przenoszenia obiektów blob do warstw chłodnych lub zimnych, ponieważ może to spowodować wyższe koszty transakcji.

Optymalizowanie kosztów przez zarządzanie cyklem życia danych

Zestawy danych mają unikatowe cykle życia. Na wczesnym etapie cyklu życia użytkownicy często uzyskują dostęp do niektórych danych. Jednak potrzeba dostępu często drastycznie spada w miarę starzenia się danych. Niektóre dane pozostają bezczynne w chmurze i rzadko są dostępne po ich przechowywaniu. Niektóre zestawy danych wygasają dni lub miesiące po utworzeniu, podczas gdy inne zestawy danych są aktywnie odczytywane i modyfikowane przez całe ich okresy istnienia.

Rozważmy scenariusz, w którym dane są często używane na wczesnym etapie cyklu życia, ale tylko od czasu do czasu po dwóch tygodniach. Poza pierwszym miesiącem zestaw danych jest rzadko używany. W tym scenariuszu magazyn gorący jest najlepszy we wczesnych etapach. Magazyn chłodny jest najbardziej odpowiedni w przypadku okazjonalnego dostępu. Magazyn archiwum jest najlepszą opcją warstwy po wieku danych w ciągu miesiąca. Przenosząc dane do odpowiedniej warstwy magazynowania na podstawie wieku z regułami zasad zarządzania cyklem życia, możesz zaprojektować najtańsze rozwiązanie dla Twoich potrzeb.

Definicja zasad zarządzania cyklem życia

Zasady zarządzania cyklem życia to kolekcja reguł w dokumencie JSON. Poniższy przykładowy kod JSON przedstawia pełną definicję reguły:

{
  "rules": [
    {
      "name": "rule1",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {...}
    },
    {
      "name": "rule2",
      "type": "Lifecycle",
      "definition": {...}
    }
  ]
}

Zasady są kolekcją reguł, zgodnie z opisem w poniższej tabeli:

Nazwa parametru Typ parametru Uwagi
rules Tablica obiektów reguł Co najmniej jedna reguła jest wymagana w zasadach. W zasadach można zdefiniować maksymalnie 100 reguł.

Każda reguła w ramach zasad ma kilka parametrów opisanych w poniższej tabeli:

Nazwa parametru Typ parametru Uwagi Wymagania
name String Nazwa reguły może zawierać maksymalnie 256 znaków alfanumerycznych. W nazwie reguły jest rozróżniana wielkość liter. Musi być unikatowa w ramach zasad. Prawda
enabled Wartość logiczna Opcjonalna wartość logiczna umożliwiająca tymczasowe wyłączenie reguły. Wartość domyślna ma wartość true, jeśli nie jest ustawiona. Fałsz
type Wartość wyliczenia Bieżącym prawidłowym typem jest Lifecycle. Prawda
definition Obiekt definiujący regułę cyklu życia Każda definicja składa się z zestawu filtrów i zestawu akcji. Prawda

Definicja reguły zarządzania cyklem życia

Każda definicja reguły w ramach zasad zawiera zestaw filtrów i zestaw akcji. Zestaw filtrów ogranicza akcje reguły do określonego zestawu obiektów w nazwach kontenerów lub obiektów. Zestaw akcji stosuje akcje warstwy lub usuwania do filtrowanego zestawu obiektów.

Przykładowa reguła

Poniższa przykładowa reguła filtruje konto, aby uruchamiać akcje na obiektach, które istnieją wewnątrz sample-container i zaczynają się od blob1.

  • Warstwa blob do warstwy Chłodna 30 dni po ostatniej modyfikacji
  • Obiekt blob warstwy do warstwy archiwum 90 dni po ostatniej modyfikacji
  • Usuń obiekt blob 2555 dni (siedem lat) po ostatniej modyfikacji
  • Usuń poprzednie wersje 90 dni po utworzeniu
{
  "rules": [
    {
      "enabled": true,
      "name": "sample-rule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "version": {
            "delete": {
              "daysAfterCreationGreaterThan": 90
            }
          },
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "tierToArchive": {
              "daysAfterModificationGreaterThan": 90,
              "daysAfterLastTierChangeGreaterThan": 7
            },
            "delete": {
              "daysAfterModificationGreaterThan": 2555
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "sample-container/blob1"
          ]
        }
      }
    }
  ]
}

Uwaga

Element baseBlob w zasadach zarządzania cyklem życia odnosi się do bieżącej wersji obiektu blob. Element version odwołuje się do poprzedniej wersji.

Filtry reguł

Filtruje akcje reguły ograniczania do podzbioru obiektów blob na koncie magazynu. Jeśli zdefiniowano więcej niż jeden filtr, wartość logiczna jest uruchamiana AND we wszystkich filtrach. Możesz użyć filtru, aby określić, które obiekty blob mają być uwzględniane. Filtr nie zapewnia możliwości określenia obiektów blob do wykluczenia.

Filtry obejmują:

Nazwa filtru Typ filtru Uwagi Jest wymagany
BlobTypes Tablica wstępnie zdefiniowanych wartości wyliczenia. Bieżąca wersja obsługuje wersję blockBlob i appendBlob. Tylko akcja Usuń jest obsługiwana dla elementu appendBlob; Ustawienie warstwy nie jest obsługiwane. Tak
prefiksMatch Tablica ciągów do dopasowania prefiksów. Każda reguła może definiować maksymalnie 10 prefiksów z uwzględnieniem wielkości liter. Ciąg prefiksu musi zaczynać się od nazwy kontenera. Jeśli na przykład chcesz dopasować wszystkie obiekty blob w obszarze https://myaccount.blob.core.windows.net/sample-container/blob1/..., określ prefiksMatch jako sample-container/blob1. Ten filtr będzie zgodny ze wszystkimi obiektami blob w przykładowym kontenerze , którego nazwy zaczynają się od obiektu blob1.

.
Jeśli nie zdefiniujesz prefiksuMatch, reguła dotyczy wszystkich obiektów blob na koncie magazynu. Ciągi prefiksu nie obsługują dopasowywania symboli wieloznacznych. Znaki takie jak * i ? są traktowane jako literały ciągu. Nie.
blobIndexMatch Tablica wartości słownika składająca się z klucza tagu indeksu obiektów blob i warunków wartości do dopasowania. Każda reguła może definiować maksymalnie 10 warunków tagów indeksów obiektów blob. Jeśli na przykład chcesz dopasować wszystkie obiekty blob z elementami Project = Contoso dla https://myaccount.blob.core.windows.net/ reguły, obiekt blobIndexMatch to {"name": "Project","op": "==","value": "Contoso"}. Jeśli nie zdefiniujesz obiektu blobIndexMatch, reguła dotyczy wszystkich obiektów blob na koncie magazynu. Nie.

Aby dowiedzieć się więcej na temat funkcji indeksu obiektów blob wraz ze znanymi problemami i ograniczeniami, zobacz Zarządzanie danymi i znajdowanie ich w usłudze Azure Blob Storage za pomocą indeksu obiektów blob.

Akcje reguły

Akcje są stosowane do filtrowanych obiektów blob po spełnieniu warunku uruchomienia.

Zarządzanie cyklem życia obsługuje obsługę warstw i usuwanie bieżących wersji, poprzednich wersji i migawek obiektów blob. Zdefiniuj co najmniej jedną akcję dla każdej reguły.

Uwaga

Obsługa warstw nie jest jeszcze obsługiwana na koncie magazynu blokowych obiektów blob w warstwie Premium. W przypadku wszystkich innych kont obsługa warstw jest dozwolona tylko w blokowych obiektach blob, a nie w przypadku uzupełnialnych i stronicowych obiektów blob.

Akcja Bieżąca wersja Snapshot Poprzednie wersje
tierToCool Obsługiwane dla blockBlob Obsługiwane Obsługiwane
tierToCold Obsługiwane dla blockBlob Obsługiwane Obsługiwane
enableAutoTierToHotFromCool1 Obsługiwane dla blockBlob Nieobsługiwane Nieobsługiwane
tierToArchive4 Obsługiwane dla blockBlob Obsługiwane Obsługiwane
usuń2,3 Obsługiwane w systemach blockBlob i appendBlob Obsługiwane Obsługiwane

1 Akcja enableAutoTierToHotFromCool jest dostępna tylko w przypadku użycia z daysAfterLastAccessTimeGreaterThan warunkiem uruchomienia. Ten warunek został opisany w następnej tabeli.

2 Po zastosowaniu do konta z włączoną hierarchiczną przestrzenią nazw akcja usuwania usuwa puste katalogi. Jeśli katalog nie jest pusty, akcja usuwania usuwa obiekty spełniające warunki zasad w ramach pierwszego cyklu wykonywania zasad. Jeśli ta akcja spowoduje, że pusty katalog spełnia również warunki zasad, ten katalog zostanie usunięty w następnym cyklu wykonywania itd.

3 Zasady zarządzania cyklem życia nie spowodują usunięcia bieżącej wersji obiektu blob, dopóki nie zostaną usunięte żadne poprzednie wersje ani migawki skojarzone z tym obiektem blob. Jeśli obiekty blob na koncie magazynu mają poprzednie wersje lub migawki, podczas określania akcji usuwania w ramach zasad należy uwzględnić poprzednie wersje i migawki.

4 Tylko konta magazynu skonfigurowane dla magazynu LRS, GRS lub RA-GRS obsługują przenoszenie obiektów blob do warstwy Archiwum. Warstwa archiwum nie jest obsługiwana dla kont magazynu ZRS, GZRS ani RA-GZRS. Ta akcja jest wyświetlana na podstawie nadmiarowości skonfigurowanej dla konta.

Uwaga

Jeśli zdefiniujesz więcej niż jedną akcję dla tego samego obiektu blob, zarządzanie cyklem życia zastosuje najmniej kosztowną akcję do obiektu blob. Na przykład akcja delete jest tańsza niż akcja tierToArchive. Akcja tierToArchive jest tańsza niż akcja tierToCool.

Warunki uruchamiania są oparte na wieku. Bieżące wersje używają czasu ostatniej modyfikacji lub czasu ostatniego dostępu, poprzednie wersje używają czasu tworzenia wersji, a migawki obiektów blob używają czasu tworzenia migawki do śledzenia wieku.

Warunek uruchomienia akcji Wartość warunku opis
daysAfterModificationGreaterThan Wartość całkowita wskazująca wiek w dniach Warunek akcji w bieżącej wersji obiektu blob
daysAfterCreationGreaterThan Wartość całkowita wskazująca wiek w dniach Warunek akcji w bieżącej wersji lub poprzedniej wersji obiektu blob lub migawki obiektu blob
daysAfterLastAccessTimeGreaterThan1 Wartość całkowita wskazująca wiek w dniach Warunek bieżącej wersji obiektu blob po włączeniu śledzenia dostępu
daysAfterLastTierChangeGreaterThan Wartość całkowita wskazująca wiek w dniach po zmianie czasu ostatniej warstwy obiektów blob Minimalny czas trwania w dniach, przez który obiekt blob z ponownym wypełnianiem jest przechowywany w warstwie Gorąca, Chłodna lub Chłodna przed powrotem do warstwy Archiwum. Ten warunek dotyczy tylko tierToArchive akcji.

1 Jeśli śledzenie czasu ostatniego dostępu nie jest włączone, daysAfterLastAccessTimeGreaterThan używa daty włączenia zasad cyklu życia zamiast LastAccessTime właściwości obiektu blob. Ta data jest również używana, gdy LastAccessTime właściwość jest wartością null. Aby uzyskać więcej informacji na temat korzystania ze śledzenia czasu ostatniego dostępu, zobacz Przenoszenie danych na podstawie czasu ostatniego dostępu.

Uruchomienia zasad cyklu życia

Podczas konfigurowania lub edytowania zasad cyklu życia może upłynąć do 24 godzin, aby zmiany zaczęły obowiązywać i rozpoczynać pierwsze wykonanie. Czas potrzebny na ukończenie akcji zasad zależy od liczby ocenianych i obsługiwanych obiektów blob.

Jeśli wyłączysz zasady, nie zostaną zaplanowane żadne nowe uruchomienia zasad, ale jeśli przebieg jest już w toku, ten przebieg będzie kontynuowany do momentu jego zakończenia i opłaty są naliczane za wszystkie akcje wymagane do ukończenia przebiegu. Zobacz Dostępność regionalna i cennik.

Ukończone zdarzenie zasad cyklu życia

Zdarzenie LifecyclePolicyCompleted jest generowane przy wykonywaniu akcji zdefiniowanych przez zasady zarządzania cyklem życia. Zostanie wyświetlona sekcja podsumowania dla każdej akcji uwzględnionej w definicji zasad. Poniższy kod JSON przedstawia przykładowe LifecyclePolicyCompleted zdarzenie dla zasad. Ponieważ definicja zasad zawiera deleteakcje , , tierToCooltierToColditierToArchive, zostanie wyświetlona sekcja podsumowania dla każdego z nich.

{
    "topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/contosoresourcegroup/providers/Microsoft.Storage/storageAccounts/contosostorageaccount",
    "subject": "BlobDataManagement/LifeCycleManagement/SummaryReport",
    "eventType": "Microsoft.Storage.LifecyclePolicyCompleted",
    "eventTime": "2022-05-26T00:00:40.1880331",    
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "data": {
        "scheduleTime": "2022/05/24 22:57:29.3260160",
        "deleteSummary": {
            "totalObjectsCount": 16,
            "successCount": 14,
            "errorList": ""
        },
        "tierToCoolSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        },
        "tierToColdSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        },
        "tierToArchiveSummary": {
            "totalObjectsCount": 0,
            "successCount": 0,
            "errorList": ""
        }
    },
    "dataVersion": "1",
    "metadataVersion": "1"
}

W poniższej tabeli opisano schemat LifecyclePolicyCompleted zdarzenia.

Pole Typ Opis
scheduleTime string Godzina zaplanowana przez zasady cyklu życia
deleteSummary bajt wektorowy<> Podsumowanie wyników zaplanowanych operacji usuwania obiektów blob
tierToCoolSummary bajt wektorowy<> Podsumowanie wyników obiektów blob zaplanowanych dla operacji warstwy do chłodu
tierToColdSummary bajt wektorowy<> Podsumowanie wyników obiektów blob zaplanowanych dla operacji warstwowo-zimnej
tierToArchiveSummary bajt wektorowy<> Podsumowanie wyników obiektów blob zaplanowanych dla operacji warstwy do archiwum

Przykłady zasad cyklu życia

W poniższych przykładach pokazano, jak rozwiązywać typowe scenariusze z regułami zasad cyklu życia.

Przenoszenie starzejących się danych do chłodniejszej warstwy

W tym przykładzie pokazano, jak przenieść blokowe obiekty blob z prefiksem sample-container/blob1 lub container2/blob2. Zasady przechodzą obiekty blob, które nie zostały zmodyfikowane w ciągu ponad 30 dni do magazynu chłodnego, a obiekty blob nie zostały zmodyfikowane w ciągu 90 dni do warstwy Archiwum:

{
  "rules": [
    {
      "name": "agingRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "sample-container/blob1", "container2/blob2" ]
        },
        "actions": {
          "baseBlob": {
            "tierToCool": { "daysAfterModificationGreaterThan": 30 },
            "tierToArchive": { "daysAfterModificationGreaterThan": 90 }
          }
        }
      }
    }
  ]
}

Przenoszenie danych na podstawie czasu ostatniego dostępu

Możesz włączyć śledzenie czasu ostatniego dostępu, aby zachować rekord czasu ostatniego odczytu lub zapisu obiektu blob oraz jako filtr do zarządzania obsługą warstw i przechowywania danych obiektów blob. Aby dowiedzieć się, jak włączyć śledzenie czasu ostatniego dostępu, zobacz Opcjonalne włączanie śledzenia czasu dostępu.

Po włączeniu śledzenia czasu ostatniego dostępu właściwość obiektu blob o nazwie LastAccessTime jest aktualizowana, gdy obiekt blob jest odczytywany lub zapisywany. Operacja Pobierania obiektu blob jest uznawana za operację dostępu. Pobieranie właściwości obiektu blob, pobieranie metadanych obiektów blob i pobieranie tagów obiektów blob nie jest operacjami dostępu, dlatego nie aktualizuj czasu ostatniego dostępu.

Jeśli śledzenie czasu ostatniego dostępu jest włączone, zarządzanie cyklem życia używa LastAccessTime do określenia, czy warunek uruchomienia daysAfterLastAccessTimeGreaterThan jest spełniony. Zarządzanie cyklem życia używa daty włączenia zasad cyklu życia zamiast LastAccessTime w następujących przypadkach:

  • Wartość LastAccessTime właściwości obiektu blob jest wartością null.

    Uwaga

    Właściwość lastAccessedOn obiektu blob ma wartość null, jeśli dostęp do obiektu blob nie został włączony od czasu ostatniego śledzenia czasu dostępu.

  • Śledzenie czasu ostatniego dostępu nie jest włączone.

Aby zminimalizować wpływ na opóźnienie dostępu do odczytu, tylko pierwszy odczyt z ostatnich 24 godzin aktualizuje czas ostatniego dostępu. Kolejne operacje odczytu w tym samym 24-godzinnym okresie nie aktualizują czasu ostatniego dostępu. Jeśli obiekt blob jest modyfikowany między operacjami odczytu, czas ostatniego dostępu jest nowszym z dwóch wartości.

W poniższym przykładzie obiekty blob są przenoszone do magazynu chłodnego, jeśli nie były dostępne przez 30 dni. Właściwość enableAutoTierToHotFromCool jest wartością logiczną, która wskazuje, czy obiekt blob powinien być automatycznie warstwowany z chłodu do gorącego, jeśli po ponownym warstwie jest uzyskiwany dostęp do warstwy Chłodna.

Napiwek

Jeśli obiekt blob zostanie przeniesiony do warstwy Chłodna, a następnie zostanie automatycznie przeniesiony z powrotem przed upływem 30 dni, opłata za wczesne usunięcie zostanie naliczona. Przed ustawieniem enablAutoTierToHotFromCool właściwości należy przeanalizować wzorce dostępu danych, aby zmniejszyć nieoczekiwane opłaty.

{
  "enabled": true,
  "name": "last-accessed-thirty-days-ago",
  "type": "Lifecycle",
  "definition": {
    "actions": {
      "baseBlob": {
        "enableAutoTierToHotFromCool": true,
        "tierToCool": {
          "daysAfterLastAccessTimeGreaterThan": 30
        }
      }
    },
    "filters": {
      "blobTypes": [
        "blockBlob"
      ],
      "prefixMatch": [
        "mylifecyclecontainer/log"
      ]
    }
  }
}

Archiwizowanie danych po pozyskiwaniu

Niektóre dane pozostają bezczynne w chmurze i rzadko, jeśli kiedykolwiek, uzyskują do nich dostęp. Następujące zasady cyklu życia są skonfigurowane do archiwizowania danych wkrótce po ich pozyskiwaniu. W tym przykładzie blokowe obiekty blob są przenoszone w kontenerze o nazwie archivecontainer do warstwy archiwum. Przejście jest realizowane przez działanie na obiektach blob 0 dni po ostatniej modyfikacji.

{
  "rules": [
    {
      "name": "archiveRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "archivecontainer" ]
        },
        "actions": {
          "baseBlob": {
              "tierToArchive": { 
                "daysAfterModificationGreaterThan": 0
              }
          }
        }
      }
    }
  ]
}

Uwaga

Firma Microsoft zaleca przekazywanie obiektów blob bezpośrednio do warstwy Archiwum w celu zwiększenia wydajności. Warstwę archiwum można określić w nagłówku x-ms-access-tier operacji Put Blob lub Put Block List . Nagłówek x-ms-access-tier jest obsługiwany z interfejsem REST w wersji 2018-11-09 i nowszych lub najnowszych bibliotek klienta magazynu obiektów blob.

Wygasanie danych na podstawie wieku

Oczekuje się, że niektóre dane wygasną dni lub miesiące po utworzeniu. Zasady zarządzania cyklem życia można skonfigurować tak, aby wygasały dane, usuwając je na podstawie wieku danych. W poniższym przykładzie przedstawiono zasady, które usuwają wszystkie blokowe obiekty blob, które nie zostały zmodyfikowane w ciągu ostatnich 365 dni.

{
  "rules": [
    {
      "name": "expirationRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ]
        },
        "actions": {
          "baseBlob": {
            "delete": { "daysAfterModificationGreaterThan": 365 }
          }
        }
      }
    }
  ]
}

Usuwanie danych za pomocą tagów indeksu obiektów blob

Niektóre dane powinny być wygasłe tylko wtedy, gdy jawnie oznaczone do usunięcia. Zasady zarządzania cyklem życia można skonfigurować tak, aby wygasały dane oznaczone atrybutami klucza/wartości indeksu obiektów blob. W poniższym przykładzie przedstawiono zasady, które usuwają wszystkie blokowe obiekty blob oznaczone tagiem Project = Contoso. Aby dowiedzieć się więcej na temat indeksu obiektów blob, zobacz Zarządzanie danymi i znajdowanie ich w usłudze Azure Blob Storage za pomocą indeksu obiektów blob.

{
    "rules": [
        {
            "enabled": true,
            "name": "DeleteContosoData",
            "type": "Lifecycle",
            "definition": {
                "actions": {
                    "baseBlob": {
                        "delete": {
                            "daysAfterModificationGreaterThan": 0
                        }
                    }
                },
                "filters": {
                    "blobIndexMatch": [
                        {
                            "name": "Project",
                            "op": "==",
                            "value": "Contoso"
                        }
                    ],
                    "blobTypes": [
                        "blockBlob"
                    ]
                }
            }
        }
    ]
}

Zarządzanie poprzednimi wersjami

W przypadku danych, które są modyfikowane i uzyskiwane regularnie przez cały okres ich istnienia, można włączyć przechowywanie wersji magazynu obiektów blob, aby automatycznie obsługiwać poprzednie wersje obiektu. Możesz utworzyć zasady do warstwy lub usunąć poprzednie wersje. Wiek wersji jest określany przez ocenę czasu utworzenia wersji. Ta reguła zasad przenosi poprzednie wersje w kontenerze activedata , które są 90 dni lub starsze po utworzeniu wersji do warstwy Chłodna, i usuwa poprzednie wersje, które mają 365 dni lub starsze.

{
  "rules": [
    {
      "enabled": true,
      "name": "versionrule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "version": {
            "tierToCool": {
              "daysAfterCreationGreaterThan": 90
            },
            "delete": {
              "daysAfterCreationGreaterThan": 365
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "activedata/"
          ]
        }
      }
    }
  ]
}

Dostępność regionalna i cennik

Funkcja zarządzania cyklem życia jest dostępna we wszystkich regionach świadczenia usługi Azure.

Zasady zarządzania cyklem życia są bezpłatne. Klienci są rozliczani za standardowe koszty operacji dla wywołań interfejsu API set Blob Tier . Operacje usuwania są bezpłatne. Jednak inne usługi i narzędzia platformy Azure, takie jak Microsoft Defender for Storage , mogą pobierać opłaty za operacje zarządzane za pomocą zasad cyklu życia.

Każda aktualizacja ostatniego czasu dostępu obiektu blob jest rozliczana w innej kategorii operacji . Każda ostatnia aktualizacja czasu dostępu jest naliczana jako "inna transakcja" co najwyżej raz co 24 godziny na obiekt, nawet jeśli jest uzyskiwany dostęp do 1000 razy dziennie. Jest to oddzielone od opłat za transakcje odczytu.

Aby uzyskać więcej informacji o cenach, zobacz Cennik blokowych obiektów blob.

Znane problemy i ograniczenia

  • Obsługa warstw nie jest jeszcze obsługiwana na koncie magazynu blokowych obiektów blob w warstwie Premium. W przypadku wszystkich innych kont obsługa warstw jest dozwolona tylko w blokowych obiektach blob, a nie w przypadku uzupełnialnych i stronicowych obiektów blob.

  • Zasady zarządzania cyklem życia muszą być odczytywane lub zapisywane w całości. Aktualizacje częściowe nie są obsługiwane.

  • Każda reguła może mieć maksymalnie 10 prefiksów z uwzględnieniem wielkości liter i maksymalnie 10 warunków tagów indeksu obiektów blob.

  • Zasady zarządzania cyklem życia nie mogą zmieniać warstwy obiektu blob korzystającego z zakresu szyfrowania.

  • Akcja usuwania zasad zarządzania cyklem życia nie będzie działać z żadnym obiektem blob w niezmienialnym kontenerze. Za pomocą niezmiennych zasad można tworzyć i odczytywać obiekty, ale nie modyfikować ani usuwać. Aby uzyskać więcej informacji, zobacz Przechowywanie danych obiektów blob krytycznych dla działania firmy przy użyciu niezmiennego magazynu.

Często zadawane pytania

Zobacz Często zadawane pytania dotyczące zarządzania cyklem życia.

Następne kroki