Megosztás a következőn keresztül:


Az Azure Blob Storage életciklus-felügyeleti szabályzatának struktúrája

Az életciklus-felügyeleti szabályzatokkal a blobokat költséghatékony hozzáférési szintekre alakíthatja át a használati minták alapján. A blobokat teljes egészében az életciklusuk végén is törölheti. A szabályzatok az aktuális verziókon, a korábbi verziókon és a pillanatképeken is működhetnek, de a szabályzatok nem működnek olyan blobokon a rendszertárolókban, mint például a $logs vagy $web tárolók. Általános információkért tekintse meg az Azure Blob Storage életciklus-kezelésének áttekintését.

Ez a cikk az életciklus-felügyeleti szabályzat elemeit ismerteti. A szabályzatra vonatkozó példákért tekintse meg a következő cikkeket:

Jótanács

Bár az életciklus-kezelés segít optimalizálni a költségeket egyetlen fiókhoz, az Azure Storage Actions használatával több adatműveletet is végrehajthat több fiókon belül nagy méretekben.

Szabályok

Az életciklus-felügyeleti szabályzat egy JSON-dokumentumban lévő szabályok gyűjteménye. Az alábbi JSON-minta egy teljes szabálydefiníciót mutat be:

{
  "rules": [
    {
      "name": "rule1",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {...}
    },
    {
      "name": "rule2",
      "type": "Lifecycle",
      "definition": {...}
    }
  ]
}
Paraméter neve Paraméter típusa Jegyzetek
Szabályok Szabályobjektumok tömbje Egy szabályzatban legalább egy szabályra szükség van. Egy szabályzatban legfeljebb 100 szabály határozható meg.

A szabályzat minden szabálya több paramétert tartalmaz, ezeket az alábbi táblázatban ismertetjük:

Paraméter neve típus Jegyzetek Kötelező
név Lánc A szabálynevek legfeljebb 256 alfanumerikus karaktert tartalmazhatnak. A szabály neve megkülönbözteti a kis- és nagybetűk nevét. A szabályzaton belül egyedinek kell lennie. Igen
Engedélyezve Booleán Nem kötelező logikai érték, amely lehetővé teszi egy szabály ideiglenes letiltásának engedélyezését. Az alapértelmezett érték igaz. Nem
típus Felsorolt érték Az aktuális érvényes típus a következő Lifecycle: . Igen
definíció Az életciklus-szabályt meghatározó objektum Minden definíció egy szűrőkészletből és egy műveletkészletből áll. Igen

Szűrők

A szűrők a tárfiókban lévő blobok egy részhalmazára korlátozzák a műveleteket. Szűrővel megadhatja, hogy mely blobokat vegye fel. A szűrő nem adja meg, hogy mely blobokat zárja ki. Ha egynél több szűrő van definiálva, a rendszer logikai ÉS értéket alkalmaz az összes szűrőre. Az alábbi táblázat az egyes paramétereket ismerteti.

Szűrő neve típus Leírás Kötelező
blobTypes Előre definiált enumerálási értékek tömbje A blob típusa ( blockblob vagy appendBlob) Igen
prefixMatch Sztringek tömbje Ezek a sztringek olyan előtagok, amelyeket egyeztetni kell. Nem
blobIndexMatch Szótárértékek tömbje Ezek az értékek blobindexcímkekulcsból és egyeztetendő értékfeltételekből állnak. Nem

Előtag egyeztetése szűrővel

Ha alkalmazza az prefixMatch szűrőt, akkor minden szabály legfeljebb 10 kis- és nagybetűs előtagot definiálhat. Az előtagsztringeknek egy tároló nevével kell kezdődniük. Ha például az elérési út https://myaccount.blob.core.windows.net/sample-container/blob1/... alatti összes blobot meg szeretné találni, adja meg a prefixMatch előtagot.sample-container/blob1

Ez a szűrő illeszkedni fog az összes olyan blobra sample-container, ahol a nevek a(z) blob1-el kezdődnek. Ha nem határoz meg előtagegyezést, akkor a szabály a tárfiókban lévő összes blobra vonatkozik. Az előtag-sztringek nem támogatják a helyettesítő karakterek egyeztetését. Az olyan karaktereket, mint a * és a ?, sztringkonstansokként kezeli a rendszer.

Blobindex-egyezés szűrője

Ha a blobIndexMatch szűrőt alkalmazza, akkor minden szabály legfeljebb 10 blobindexcímke-feltételt definiálhat. Ha például az összes blobot Project = Contoso alatti https://myaccount.blob.core.windows.net/-hez szeretné társítani, akkor használja a BlobIndexMatch szűrőt {"name": "Project","op": "==","value": "Contoso"}. Ha nem határoz meg értéket a BlobIndexMatch szűrőhöz, akkor a szabály a tárfiókban lévő összes blobra vonatkozik.

Műveletek

Minden szabályhoz legalább egy műveletet meg kell határoznia. A rendszer műveleteket alkalmaz a szűrt blobokra, ha a futtatási feltétel teljesül. A futtatási feltételekkel kapcsolatos további információkért tekintse meg a cikk Műveletfuttatási feltételek szakaszát. Az alábbi táblázat a szabályzatdefiníciókban elérhető összes műveletet ismerteti.

Tevékenység Leírás
TierToCool Állítson be egy blobot a hideg hozzáférési szintre.

Nem támogatott hozzáfűzési blobokkal, lapblobokkal vagy a prémium szintű blokkblob-tároló fiókban lévő blobokkal.
TierToCold Állítsa be a blobot a hideg hozzáférési szintre.

Nem támogatott hozzáfűzési blobokkal, lapblobokkal vagy a prémium szintű blokkblob-tároló fiókban lévő blobokkal.
TierToArchive Blob beállítása az archív hozzáférési szintre.

A blob újrahidratálása nem frissíti a blob utolsó módosításának vagy utolsó hozzáférésének idejét. Ennek eredményeképpen ez a művelet visszaállíthatja a rehidratált blobokat az archív szintre. Ennek megakadályozása érdekében adja hozzá a feltételt ehhez a daysAfterLastTierChangeGreaterThan művelethez.

Ez a művelet nem támogatott hozzáfűző blobokkal, lapblobokkal vagy prémium szintű blokkblobtárfiókban lévő blobokkal. A titkosítási hatókört használó blobok és a zónaredundáns tároláshoz (ZRS), georedundáns tároláshoz (GZRS) vagy olvasási hozzáférésű geo-zónaredundáns tároláshoz (RA-GZRS) konfigurált fiókokban lévő blobok esetében sem támogatott.
automatikus átsorolás engedélyezése hidegről melegre Ha egy blob a hűvös szintre van állítva, akkor ez a művelet automatikusan áthelyezi a blobot a forró szintre, amikor a blobot elérik.

Ez a művelet csak akkor érhető el, ha a daysAfterLastAccessTimeGreaterThan futtatási feltételt használja.

Ez a művelet nincs hatással azokra a blobokra, amelyek a szabályban való engedélyezés előtt a hűvös szintre lettek beállítva.

Ez a művelet 30 nap alatt csak egyszer helyezi át a blobokat a ritka elérésűről a gyakori elérésűre. Ez a védelem a fiókra terhelt többszörös korai törlési büntetések elleni védelem érdekében kerül sor.

A korábbi verziókat vagy pillanatképeket nem támogatják.
Törlés Blob törlése.

Nem támogatott lapblobok vagy blobok nem módosítható tárolóban.

Ha több műveletet határoz meg ugyanazon a blobon, akkor az életciklus-felügyelet a legkevésbé költséges műveletet alkalmazza a blobra. A törlési művelet például olcsóbb, mint a tierToArchive művelet, a tierToArchive művelet pedig olcsóbb, mint a tierToCool művelet.

Művelet törlése hierarchikus névtérrel rendelkező fiókokban

Ha hierarchikus névtérrel rendelkező fiókra van alkalmazva, a törlési művelet eltávolítja az üres könyvtárakat. Ha a címtár nem üres, akkor a törlési művelet eltávolítja azokat az objektumokat, amelyek megfelelnek a szabályzat feltételeinek az első életciklus-végrehajtási ciklusban. Ha ez a művelet egy üres könyvtárat eredményez, amely szintén megfelel a szabályzat feltételeinek, akkor a következő végrehajtási ciklusban a címtár el lesz távolítva, és így tovább.

A verziókkal és pillanatképekkel rendelkező blobok törlési művelete

Az életciklus-felügyeleti házirendek csak akkor törlik a blob aktuális verzióját, ha az adott blobhoz társított korábbi verziók vagy pillanatképek nem törlődnek. Ha a tárfiókban lévő blobok korábbi verziókkal vagy pillanatképekkel rendelkeznek, akkor az előző verziókat és pillanatképeket is tartalmaznia kell, amikor a szabályzat részeként törlési műveletet ad meg.

Műveletfuttatási feltételek

Minden futtatási feltétel időalapú. Ha az áteső napok száma meghaladja a feltételhez megadott számot, a társított művelet végrehajtható. A szabályzatfeltételeket a rendszer csak egyszer értékeli az egyes objektumokon egy szabályzat futtatása során. Bizonyos esetekben előfordulhat, hogy egy objektum megfelel a feltételnek, miután egy futtatás már értékelte. Az ilyen objektumok feldolgozása a későbbi futtatások során történik.

Az aktuális verziók az utolsó módosítás időpontját vagy a legutóbbi hozzáférési időt használják, a korábbi verziók a verziólétrehozás idejét, a blob-pillanatképek pedig a pillanatkép létrehozásának idejét használják az életkor nyomon követéséhez.

Az alábbi táblázat az egyes műveletfuttatási feltételeket ismerteti.

Feltétel neve típus Leírás
daysAfterModificationGreaterThan Egész szám Az utolsó módosított időblob utáni napok kora. A blob aktuális verzióján végzett műveletekre vonatkozik.
daysAfterCreationGreaterThan Egész szám A létrehozási idő óta eltelt napok száma. A blob aktuális verzióján, egy blob előző verzióján vagy egy blob pillanatképén végzett műveletekre vonatkozik.
napok az utolsó hozzáférési idő után nagyobb mint Egész szám Az utolsó hozzáférési idő utáni napok száma, vagy bizonyos esetekben a szabályzat engedélyezésének dátuma. További információkért lásd az Access időkövetés szakaszt alább. A blob aktuális verzióján végzett műveletekre vonatkozik, ha engedélyezve van a hozzáférés-követés.
napokAzUtolsoSzintValtasaUtanNagyobbMint Egész szám A blob szint utolsó változási ideje óta eltelt napok száma. A rehidratált blobok minimális ideje, amit a meleg, mérsékelt vagy hideg szinteken töltenek, mielőtt visszakerülnének az archív szintre. Csak a tierToArchive műveletekre vonatkozik.

Hozzáférési idő nyomon követése

A hozzáférési idő nyomon követésével rögzítheti a blob utolsó olvasási vagy írási idejét, és szűrőként használhatja a blobadatok rétegzésének és megőrzésének kezelésére.

Amikor engedélyezi a hozzáférési idő nyomon követését, egy LastAccessTime nevű blobtulajdonság frissül minden alkalommal, amikor a blob olvasva vagy írva van. A Blob lekérése és a Blob üzembe helyezésének műveletei hozzáférési műveletek, és frissítik a blobok hozzáférési idejét. A Blob tulajdonságainak lekérése, a Blob-metaadatok lekérése és a Blobcímkék lekérése azonban nem érhetők el. Ezek a műveletek nem frissítik a blobok hozzáférési idejét.

Ha a daysAfterLastAccessTimeGreaterThan futtatási feltételt alkalmazza egy szabályzatra, akkor a LastAccessTime rendszer azt határozza meg, hogy a feltétel teljesül-e.

Ha a daysAfterLastAccessTimeGreaterThan futtatási feltételt alkalmazza egy szabályzatra, de nem engedélyezte a hozzáférési idő nyomon követését, akkor a LastAccessTime nem kerül felhasználásra. A rendszer ehelyett az életciklus-szabályzat engedélyezésének dátumát használja. Valójában az életciklus-szabályzat engedélyezésének dátumát minden olyan helyzetben használják, amikor a LastAccessTime blob tulajdonsága null értékű. Ez akkor is előfordulhat, ha engedélyezte a hozzáférési idő nyomon követését olyan esetekben, amikor egy blob nem fért hozzá a nyomkövetés engedélyezése óta.

Megjegyzés:

Az olvasási hozzáférés késésére gyakorolt hatás minimalizálása érdekében csak az elmúlt 24 óra első olvasása frissíti az utolsó hozzáférési időt. Az ugyanabban a 24 órás időszakban lévő későbbi olvasások nem frissítik az utolsó hozzáférési időt. Ha egy blob módosul az olvasások között, az utolsó hozzáférési idő a két érték közül a legutóbbi.

A hozzáférési idő nyomon követésének engedélyezéséről további információt a hozzáférési idő nyomon követésének opcionális engedélyezésével kapcsolatban talál.

Következő lépések