Optimalizujte náklady díky automatické správě životního cyklu dat.

Datové sady mají jedinečné životní cykly. Brzy v životním cyklu lidé k často přistupuje k některým datům. Ale nutnost přístupu se často vyřazuje z důvodu stáří dat. Některá data zůstávají v cloudu nečinná a jsou po uložení zřídka dostupná. Některé sady dat vyprší platnost dnů nebo měsíců po vytvoření, zatímco jiné sady dat jsou aktivně čteny a upravovány po celou dobu jejich životnosti. Azure Storage správa životního cyklu nabízí zásadu založenou na pravidlech, kterou můžete použít k přechodu dat objektů blob do příslušných úrovní přístupu nebo k vypršení platnosti dat na konci životního cyklu dat.

Pomocí zásad správy životního cyklu můžete:

  • Převeďte objekty blob ze studené na horkou hned, když jsou dostupné, a optimalizujte tak výkon.
  • Převeďte objekty blob, verze objektů BLOB a snímky objektů blob na chladicí vrstvu úložiště, pokud tyto objekty nejsou po určitou dobu dostupné nebo upravené, aby se optimalizoval pro náklady. V tomto scénáři mohou zásady správy životního cyklu přesunout objekty z horké na studenou, z horké do archivní nebo z studené do archivní.
  • Odstraňte objekty blob, verze objektů BLOB a snímky objektů blob na konci jejich životního cyklu.
  • Definujte pravidla, která se spustí jednou denně na úrovni účtu úložiště.
  • Použijte pravidla na kontejnery nebo na podmnožinu objektů BLOB s použitím předpon názvů nebo značek indexu objektů BLOB jako filtrů.

Vezměte v úvahu situaci, kdy se k datům často přistupoval v počátečních fázích životního cyklu, ale jenom občas po dvou týdnech. Po prvním měsíci se k datové sadě používá zřídka. V tomto scénáři je horké úložiště nejlépe v počátečních fázích. Studená úložiště jsou nejvhodnější pro příležitostné přístupy. Archivní úložiště je nejlepší možností po stáří dat za měsíc. Přesunutím dat do příslušné vrstvy úložiště na základě jejich stáří s pravidly zásad správy životního cyklu můžete navrhnout nejlevnější řešení pro vaše potřeby.

zásady správy životního cyklu se podporují pro objekty blob bloku a doplňovací objekty blob v obecném smyslu v2, v objektu blob bloku premium a účty Blob Storage. Správa životního cyklu nemá vliv na systémové kontejnery, jako jsou $logs nebo $Web kontejnery.

Důležité

Pokud je třeba datovou sadu přečíst, nenastavujte zásady pro přesun objektů blob do archivní úrovně. Objekty BLOB v archivní úrovni nelze číst, pokud nejsou nejprve rehydratované, což je proces, který může být časově náročný a nákladný. Další informace najdete v tématu Přehled funkce pro vysazování objektů BLOB z archivní úrovně.

Definice zásad správy životního cyklu

Zásady správy životního cyklu jsou kolekce pravidel v dokumentu JSON. Následující vzorový JSON zobrazuje úplnou definici pravidla:

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

Zásada je kolekce pravidel, jak je popsáno v následující tabulce:

Název parametru Typ parametru Poznámky
rules Pole objektů pravidel V zásadě je vyžadováno alespoň jedno pravidlo. V zásadách můžete definovat až 100 pravidel.

Každé pravidlo v rámci zásad má několik parametrů popsaných v následující tabulce:

Název parametru Typ parametru Poznámky Vyžadováno
name Řetězec Název pravidla může obsahovat až 256 alfanumerických znaků. Název pravidla rozlišuje velká a malá písmena. Musí být jedinečný v rámci zásad. Ano
enabled Logická hodnota Volitelná logická hodnota, která povolí dočasné vypnutí pravidla. Výchozí hodnota je true, pokud není nastavena. Ne
type Hodnota výčtu Aktuální platný typ je Lifecycle . Ano
definition Objekt definující pravidlo životního cyklu Každá definice se skládá ze sady filtrů a sady akcí. Ano

Definice pravidla správy životního cyklu

Každá definice pravidla v rámci zásady zahrnuje sadu filtrů a sadu akcí. Sada filtr omezuje akce pravidla na určitou sadu objektů v rámci názvů kontejnerů nebo objektů. Sada akcí aplikuje akce vrstvy nebo odstranění na filtrovanou sadu objektů.

Ukázkové pravidlo

Následující ukázkové pravidlo filtruje účet, aby spouštěl akce na objektech, které existují uvnitř sample-container a začínají na blob1 .

  • Úroveň objektu BLOB na studenou vrstvu 30 dní od poslední změny
  • Úroveň objektu BLOB na archivní vrstvu 90 dní od poslední změny
  • Odstranit objekt BLOB 2 555 dní (sedm let) po poslední úpravě
  • Odstranit předchozí verze objektů BLOB 90 dní po vytvoření
{
  "rules": [
    {
      "enabled": true,
      "name": "sample-rule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "version": {
            "delete": {
              "daysAfterCreationGreaterThan": 90
            }
          },
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "tierToArchive": {
              "daysAfterModificationGreaterThan": 90
            },
            "delete": {
              "daysAfterModificationGreaterThan": 2555
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "sample-container/blob1"
          ]
        }
      }
    }
  ]
}

Filtry pravidla

Filtruje akce pravidla omezení na podmnožinu objektů BLOB v rámci účtu úložiště. Pokud je definován více než jeden filtr, logické AND spuštění na všech filtrech.

Filtry zahrnují:

Název filtru Typ filtru Poznámky Je povinné
blobTypes Pole předdefinovaných hodnot výčtu. Aktuální verze podporuje blockBlob a appendBlob . Pro se podporuje jenom odstranění appendBlob , nastavení úrovně se nepodporuje. Yes
prefixMatch Pole řetězců, pro které mají být předpony spárovány. Každé pravidlo může definovat až 10 citlivých předpon. Řetězec předpony musí začínat názvem kontejneru. Například pokud chcete, aby se všechny objekty blob shodovaly v rámci https://myaccount.blob.core.windows.net/sample-container/blob1/... pravidla, prefixMatch je sample-container/blob1 . Pokud prefixMatch nedefinujete, pravidlo se použije na všechny objekty BLOB v účtu úložiště. No
blobIndexMatch Pole hodnot slovníku sestávající z klíče značek indexu objektu BLOB a podmínky hodnoty, které mají být porovnány. Každé pravidlo může definovat až 10 stavových značek indexu objektu BLOB. Například pokud chcete, aby se všechny objekty blob shodovaly s Project = Contoso v rámci https://myaccount.blob.core.windows.net/ pro pravidlo, je blobIndexMatch {"name": "Project","op": "==","value": "Contoso"} . Pokud blobIndexMatch nedefinujete, pravidlo se použije na všechny objekty BLOB v účtu úložiště. No

další informace o funkci indexu objektů blob spolu se známými problémy a omezeních najdete v tématu správa a hledání dat v Azure Blob Storage s využitím indexu objektů blob.

Akce pravidla

Akce se aplikují na filtrované objekty BLOB při splnění podmínky spuštění.

Správa životního cyklu podporuje vrstvení a mazání objektů blob, předchozích verzí objektů BLOB a snímků objektů BLOB. Definujte alespoň jednu akci pro každé pravidlo základních objektů blob, předchozí verze objektu BLOB nebo snímky objektů BLOB.

Akce Základní objekt BLOB Snímek Verze
tierToCool Podporováno pro blockBlob Podporováno Podporováno
enableAutoTierToHotFromCool Podporováno pro blockBlob Nepodporováno Nepodporováno
tierToArchive Podporováno pro blockBlob Podporováno Podporováno
delete Podporováno pro blockBlob a appendBlob Podporováno Podporováno

Poznámka

Pokud definujete více než jednu akci u stejného objektu blob, bude správa životního cyklu v objektu BLOB platit nejméně náročná akce. Například akce delete je levnější než akce tierToArchive . Akce tierToArchive je levnější než akce tierToCool .

Podmínky spuštění jsou založené na stáří. Základní objekty blob používají čas poslední změny, verze objektů BLOB používají čas vytvoření verze a snímky objektů BLOB používají čas vytvoření snímku ke sledování stáří.

Podmínka spuštění akce Hodnota podmínky Description
daysAfterModificationGreaterThan Celočíselná hodnota označující stáří ve dnech Podmínka pro základní akce objektů BLOB
daysAfterCreationGreaterThan Celočíselná hodnota označující stáří ve dnech Podmínka pro akci snímku verze a objektu BLOB
daysAfterLastAccessTimeGreaterThan Celočíselná hodnota označující stáří ve dnech Podmínka pro akce základního objektu blob, pokud je povoleno sledování přístupu

Příklady zásad životního cyklu

Následující příklady ukazují, jak řešit běžné scénáře s pravidly zásad životního cyklu.

Přesunout data o stárnutí do úrovně chladicího procesu

Tento příklad ukazuje, jak převést objekty blob bloku s předponou sample-container/blob1 nebo container2/blob2 . Zásady přemění objekty blob, které se nezměnily během více než 30 dní, do studeného úložiště, a objekty BLOB se v 90 dnech nezměnily na úroveň archivu:

{
  "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 }
          }
        }
      }
    }
  ]
}

Přesunutí dat na základě času posledního použití

Sledování doby posledního přístupu můžete povolit, pokud chcete zachovat záznam o tom, kdy je váš objekt BLOB naposledy přečtený nebo zapsaný a jako filtr ke správě vrstvení a uchovávání dat objektů BLOB. Pokud chcete zjistit, jak povolit sledování posledního přístupu, přečtěte si téma volitelně povolit sledování času přístupu.

Když je povolené sledování času posledního přístupu, LastAccessTime při čtení nebo zapisování objektu BLOB se aktualizuje vlastnost objektu BLOB s názvem. Operace získání objektu BLOB se považuje za operaci přístupu. Získat vlastnosti objektu BLOB, získat metadata objektu BLOBa získat značky objektů BLOB nejsou operace přístupu, a proto neaktualizujte čas posledního přístupu.

Chcete-li minimalizovat dopad na latenci přístupu pro čtení, bude čas posledního přístupu aktualizován pouze první přečtená za posledních 24 hodin. Následná čtení ve 24hodinovém období neaktualizují čas posledního přístupu. Pokud dojde ke změně objektu BLOB mezi čteními, je posledním časem přístupu poslední z těchto dvou hodnot.

V následujícím příkladu jsou objekty blob přesunuté do studeného úložiště, pokud k nim nedošlo po dobu 30 dnů. enableAutoTierToHotFromCoolVlastnost je logická hodnota, která indikuje, jestli se má objekt BLOB automaticky rozvrstvit ze studené na horkou, pokud se znovu zpřístupní po rozvrstvení na studenou.

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

Archivovat data po ingestování

Některá data v cloudu zůstala nečinná a v případě potřeby je zřídka dostupná. Následující zásady životního cyklu jsou nakonfigurovány k archivaci dat krátce po ingestování. Tento příklad přechází objekty blob bloku v kontejneru s názvem archivecontainer do archivní úrovně. Přechod se provádí na objektech blob 0 dní od poslední změny:

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

Poznámka

Společnost Microsoft doporučuje, abyste nahráli objekty blob přímo na úrovni archivu pro vyšší efektivitu. Můžete určit úroveň archivu v hlavičce x-MS-Access-úrovně na operaci Put BLOB nebo list Block list . Hlavička x-MS-Access-úrovně je podporovaná pomocí REST verze 2018-11-09 a novějších nebo nejnovějších klientských knihoven pro úložiště objektů BLOB.

Vypršení platnosti dat na základě stáří

U některých dat se očekává, že vyprší platnost dnů nebo měsíců po vytvoření. Zásady správy životního cyklu můžete nakonfigurovat tak, aby data prošla odstraněním na základě stáří dat. Následující příklad ukazuje zásadu, která odstraní všechny objekty blob bloku starší než 365 dní.

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

Odstranění dat pomocí značek indexu objektu BLOB

Některá data by měla být vyhodnocena pouze v případě, že jsou výslovně označeny k odstranění. Můžete nakonfigurovat zásady správy životního cyklu tak, aby prošly daty, která jsou označená atributy klíč/hodnota indexu objektu BLOB. Následující příklad ukazuje zásadu, která odstraní všechny objekty blob bloku s příznakem Project = Contoso . další informace o indexu objektů blob najdete v tématu správa a hledání dat v Azure Blob Storage s využitím indexu objektů blob (Preview).

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

Správa verzí

Pro data, která se upravují a běžně přistupovala během své životnosti, můžete povolit správu verzí služby Blob Storage a automaticky tak zachovat předchozí verze objektu. Můžete vytvořit zásadu pro vrstvu nebo odstranit předchozí verze. Stáří verze je určeno vyhodnocením času vytvoření verze. Toto pravidlo zásad nastavuje předchozí verze v rámci kontejneru activedata , které jsou 90 dní nebo starší po vytvoření verze do studené úrovně, a odstraní předchozí verze, které jsou 365 dní nebo starší.

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

Podpora funkcí

Tato tabulka ukazuje, jak je tato funkce ve vašem účtu podporovaná, a dopad na podporu, když povolíte určité možnosti.

Typ účtu úložiště Blob Storage (výchozí podpora) Data Lake Storage Gen2 1 Systém souborů NFS 3,0 1 SFTP 1
Standardní pro obecné účely v2 Yes Yes Yes Yes
objekty blob bloku Premium Yes Yes Yes Yes

1 Data Lake Storage Gen2, protokol NFS (Network File System) 3,0 a podpora zabezpečeného protokol FTP (File Transfer Protocol) (SFTP) vyžaduje účet úložiště s povoleným hierarchickým oborem názvů.

Regionální dostupnost a ceny

Funkce správy životního cyklu je dostupná ve všech oblastech Azure.

Zásady správy životního cyklu jsou bezplatné. Zákazníkům se účtuje standardní provozní náklady pro volání rozhraní API na úrovni objektů BLOB . Operace odstranění jsou bezplatné.

Každá aktualizace času posledního přístupu k objektu BLOB se fakturuje pod kategorii ostatní operace .

Další informace o cenách najdete v tématu ceny za objekty blob bloku.

Časté otázky

Vytvořili jsem novou zásadu, proč se akce nespouštějí hned?

Platforma spouští zásady životního cyklu jednou denně. Po nakonfigurování zásady může trvat až 24 hodin, než se některé akce poprvé spustí.

Pokud aktualizujem existující zásady, jak dlouho trvá, než se akce spustí?

Aktualizovaná zásada trvá až 24 hodin, než se dostanou platit. Jakmile se zásada uplatní, může trvat až 24 hodin, než se akce spustí. Proto může dokončení akcí zásad trvat až 48 hodin. Pokud se jedná o aktualizaci, která pravidlo zakáže nebo odstraní, a enableAutoTierToHotFromCool se použila, automaticky se zachová do vrstvy Hot. Můžete například nastavit pravidlo, které bude zahrnovat enableAutoTierToHotFromCool na základě posledního přístupu. Pokud je pravidlo zakázané nebo odstraněné a objekt BLOB je aktuálně ve studené a pak se k němu přistupuje, přesune se zpátky na aktivní, protože se používá při přístupu mimo správu životního cyklu. Objekt BLOB se pak nepřesune z horké na studenou, protože pravidlo správy životního cyklu je zakázané nebo odstraněné. Jediným způsobem, jak zabránit autoTierToHotFromCool, je vypnout sledování času posledního přístupu.

Jak zabráním ručnímu recyklení archivovaného objektu blob, jak brání jeho přesunutí do archivní úrovně dočasně?

Když se objekt BLOB přesune z jedné úrovně přístupu na jiný, čas poslední změny se nezmění. Pokud jste archivovaný objekt BLOB ručně znovu vypnuli do vrstvy Hot, bude se ho modul pro správu životního cyklu přesunout zpátky do archivní úrovně. Zakažte pravidlo, které bude mít dočasně vliv na tento objekt blob, aby se zabránilo jeho archivaci znovu. Znovu povolí pravidlo, když se dá objekt BLOB bezpečně přesunout zpátky do archivní úrovně. Objekt blob můžete také zkopírovat do jiného umístění, pokud je potřeba udržet se trvale na horké nebo studené úrovni.

Další kroky