Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan använda livscykelhanteringsprinciper för att överföra blobar till kostnadseffektiva åtkomstnivåer baserat på deras användningsmönster. Du kan också ta bort blobar helt i slutet av livscykeln. En princip kan fungera på aktuella versioner, tidigare versioner och ögonblicksbilder, men en princip fungerar inte på blobar i systemcontainrar som $logs eller $web containrar. Allmän information finns i Översikt över livscykelhantering i Azure Blob Storage.
Den här artikeln beskriver elementen i en livscykelhanteringsprincip. Principexempel finns i följande artiklar:
- Livscykelhanteringspolicyer som flyttar blobar mellan nivåer
- Principer för livscykelhantering som tar bort blobar
Tips/Råd
Livscykelhantering hjälper dig att optimera dina kostnader för ett enda konto, men du kan använda Azure Storage Actions för att utföra flera dataåtgärder i stor skala över flera konton.
Reglemente
En livscykelhanteringsprincip är en samling regler i ett JSON-dokument. Följande JSON-exempel visar en fullständig regeldefinition:
{
  "rules": [
    {
      "name": "rule1",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {...}
    },
    {
      "name": "rule2",
      "type": "Lifecycle",
      "definition": {...}
    }
  ]
}
| Parameternamn | Parametertyp | Noteringar | 
|---|---|---|
| reglemente | En matris med regelobjekt | Minst en regel krävs i en policy. Du kan definiera upp till 100 regler i en princip. | 
Varje regel i principen har flera parametrar som beskrivs i följande tabell:
| Parameternamn | Typ | Noteringar | Krävs | 
|---|---|---|---|
| Namn | Sträng | Ett regelnamn kan innehålla upp till 256 alfanumeriska tecken. Regelnamnet är skiftlägeskänsligt. Det måste vara unikt inom en policy. | Ja | 
| aktiverat | Boolesk | Ett valfritt booleskt värde som tillåter att en regel inaktiveras tillfälligt. Standardvärdet är sant. | Nej | 
| typ | Ett enumvärde | Den aktuella giltiga typen är Lifecycle. | Ja | 
| definition | Ett objekt som definierar livscykelregeln | Varje definition består av en filteruppsättning och en åtgärdsuppsättning. | Ja | 
Filterar
Filter begränsar åtgärder till en delmängd blobar i lagringskontot. Du kan använda ett filter för att ange vilka blobar som ska inkluderas. Ett filter ger inget sätt att ange vilka blobar som ska undantas. Om fler än ett filter har definierats tillämpas en logisk AND på alla filter. I följande tabell beskrivs varje parameter.
| Filternamn | Typ | Beskrivning | Krävs | 
|---|---|---|---|
| blobTypes | Fält med fördefinierade uppräkningsvärden | Typen av blob (antingen blockblob eller appendBlob) | Ja | 
| prefixMatch | Matris med strängar | Dessa strängar är prefix som ska matchas. | Nej | 
| blobIndexMatch | En matris med ordlistevärden | Dessa värden består av blobindextaggens nyckel- och värdevillkor som ska matchas. | Nej | 
Prefix-matchningsfilter
Om du använder prefixMatch-filtret kan varje regel definiera upp till 10 skiftlägeskänsliga prefix. En prefixsträng måste börja med ett containernamn. Om du till exempel vill matcha alla blobar under sökvägen https://myaccount.blob.core.windows.net/sample-container/blob1/..., anger du prefixMatch som sample-container/blob1.
Det här filtret matchar alla blobs i sample-container där namnen börjar med blob1. Om du inte definierar en prefixmatchning gäller regeln för alla blobar i lagringskontot. Prefixsträngar stöder inte jokerteckenmatchning. Tecken som * och ? behandlas som strängliteraler.
Matchningsfilter för blobindex
Om du använder blobIndexMatch-filtret kan varje regel definiera upp till 10 blobindextaggvillkor. Om du till exempel vill matcha alla blobar med Project = Contoso under https://myaccount.blob.core.windows.net/, är blobIndexMatch-filtret{"name": "Project","op": "==","value": "Contoso"}. Om du inte definierar ett värde för blobIndexMatch-filtret gäller regeln för alla blobar i lagringskontot.
Åtgärder
Du måste definiera minst en åtgärd för varje regel. Åtgärder tillämpas på filtrerade blobbar när körvillkoret är uppfyllt. Mer information om körningsvillkor finns i avsnittet Villkor för åtgärdskörning i den här artikeln. I följande tabell beskrivs varje åtgärd som är tillgänglig i en principdefinition.
| Åtgärd | Beskrivning | 
|---|---|
| TierToCool | Ange en blob till lågfrekvent åtkomstnivå. Stöds inte med tilläggsblobar, sidblobar eller med blobar i ett Premium-blockbloblagringskonto. | 
| TierToCold | Ange en blob till nivån för kall åtkomst. Stöds inte med tilläggsblobar, sidblobar eller med blobar i ett Premium-blockbloblagringskonto. | 
| TierToArchive | Ange en blob till arkivåtkomstnivån. Om du extraherar en blob uppdateras inte blobens senast ändrade eller senaste åtkomsttidsegenskap. Därför kan den här åtgärden flytta uttorkade blobar tillbaka till arkivnivån. Lägg till villkoret i den daysAfterLastTierChangeGreaterThanhär åtgärden för att förhindra att detta inträffar.Den här åtgärden stöds inte med tilläggsblobar, sidblobar eller med blobar i ett Premium-blockbloblagringskonto. Stöds inte heller med blobbar som använder ett krypteringsomfång eller med blobbar i konton som har konfigurerats för zonredundant lagring (ZRS), geo-zonredundant lagring (GZRS) eller geo-zonredundant lagring med läsåtkomst (RA-GZRS). | 
| aktiveraAutomatiskNivåjusteringTillHetFrånCool | Om en blob är inställd på det kyliga lagret flyttas den automatiskt till det heta lagret när bloben används. Den här åtgärden är endast tillgänglig när den används med körvillkoret daysAfterLastAccessTimeGreaterThan . Den här åtgärden påverkar inte blobbar som har angetts till den kalla nivån innan den här åtgärden aktiverades som en regel. Den här åtgärden flyttar blobar från kall till het endast en gång var 30:e dag. Detta skydd införs för att skydda mot flera avgifter för tidig borttagning som debiteras kontot. Stöds inte med tidigare versioner eller ögonblicksbilder. | 
| Ta bort | Tar bort en blob. Stöds inte med sidblobar eller blobar i en oföränderlig behållare. | 
Om du definierar mer än en åtgärd på samma blob tillämpar livscykelhantering den billigaste åtgärden på blobben. En borttagningsåtgärd är till exempel billigare än åtgärden tierToArchive och åtgärden tierToArchive är billigare än åtgärden tierToCool .
Ta bort åtgärd i konton som har ett hierarkiskt namnområde
När en borttagningsåtgärd tillämpas på ett konto med ett hierarkiskt namnområde aktiverat tas tomma kataloger bort. Om katalogen inte är tom tar borttagningsåtgärden bort objekt som uppfyller principvillkoren inom den första livscykelprincipkörningscykeln. Om åtgärden resulterar i en tom katalog som också uppfyller principvillkoren tas katalogen bort inom nästa körningscykel och så vidare.
Ta bort åtgärd för blobar som har versioner och ögonblicksbilder
En livscykelhanteringsprincip tar inte bort den aktuella versionen av en blob förrän tidigare versioner eller ögonblicksbilder som är associerade med den blobben har tagits bort. Om blobar i ditt lagringskonto har tidigare versioner eller ögonblicksbilder måste du inkludera tidigare versioner och ögonblicksbilder när du anger en borttagningsåtgärd som en del av principen.
Villkor för åtgärdskörning
Alla körningsvillkor är tidsbaserade. Om antalet dagar som har inträffat överskrider det angivna antalet för villkoret kan den associerade åtgärden köras. Principvillkor utvärderas endast för varje objekt en gång under en principkörning. I vissa fall kan ett objekt uppfylla villkoret efter att det redan utvärderats av en körning. Sådana objekt bearbetas i efterföljande körningar.
Aktuella versioner använder den senaste ändrade tiden eller senaste åtkomsttiden, tidigare versioner använder tiden för versionsskapande och blobbögonblicksbilder använder tiden för att skapa ögonblicksbilder för att hålla reda på åldern.
I följande tabell beskrivs varje åtgärdskörningsvillkor.
| Villkorsnamn | Typ | Beskrivning | 
|---|---|---|
| dagarEfterÄndringStörreÄn | Heltal | Åldern i dagar efter den senaste ändrade tidsbloben. Gäller för åtgärder på en aktuell version av en blob. | 
| daysAfterCreationGreaterThan | Heltal | Åldern i dagar efter skapandetiden. Gäller för åtgärder på den aktuella versionen av en blob, den tidigare versionen av en blob eller ett blob-snapshot. | 
| dagarEfterSenasteÅtkomsttidStörreÄn | Heltal | Ålder i dagar efter den senaste åtkomsttiden eller i vissa fall när datumet då principen aktiverades. Mer information finns i avsnittet Åtkomsttidsspårning nedan. Gäller för åtgärder på den aktuella versionen av en blob när åtkomstspårning är aktiverat. | 
| dagarEfterSenasteNivåändringStörreÄn | Heltal | Åldern i dagar sedan blobnivån senast ändrades. Den minsta varaktigheten i dagar som en rehydrerad blob hålls på heta, svala eller kalla nivåer innan den returneras till arkivnivån. Gäller endast för tierToArchive-åtgärder . | 
Åtkomsttidsspårning
Du kan aktivera åtkomsttidsspårning för att registrera när din blob senast lästes eller skrevs och använda ett filter för att hantera lagring på olika nivåer och kvarhållning av dina blobdata.
När du aktiverar spårning av åtkomsttid uppdateras en blobegenskap med namnet LastAccessTime när en blob läs- eller skrivs. Åtgärderna Get Blob och Put Blob är åtkomståtgärder och uppdaterar åtkomsttiden för en blob. Hämta blobegenskaper, Hämta blobmetadata och Hämta blobtaggar är dock inte åtkomståtgärder. Dessa åtgärder uppdaterar inte åtkomsttiden för en blob.
Om du tillämpar körningsvillkoret daysAfterLastAccessTimeGreaterThan på en princip, används LastAccessTime för att avgöra om villkoret är uppfyllt.
Om du tillämpar daysAfterLastAccessTimeGreaterThan-körningsvillkoret på en regel, men om du inte har aktiverat åtkomsttidsspårning, då LastAccessTime används inte. Det datum då den senaste åtkomstspårningen aktiverades används i stället. Faktum är att det datum då den senaste åtkomstspårningen aktiverades används i alla situationer där LastAccessTime blobens egenskap är ett null-värde. Detta kan inträffa även om du har aktiverat spårning av åtkomsttid i fall där en blob inte har använts sedan spårningen aktiverades.
Anmärkning
För att minimera effekten på svarstiden för läsåtkomst uppdaterar endast den första läsningen under de senaste 24 timmarna den senaste åtkomsttiden. Efterföljande läsningar under samma 24-timmarsperiod uppdaterar inte den senaste åtkomsttiden. Om en blob ändras mellan läsningar är den senaste åtkomsttiden den senaste av de två värdena.
Information om hur du aktiverar spårning av åtkomsttid finns i Aktivera åtkomsttidsspårning om du vill.
Nästa steg
- Översikt över livscykelhantering i Azure Blob Storage.
- Konfigurera en princip för livscykelhantering
- Åtkomstnivåer för blobdata
- Livscykelhanteringspolicyer som flyttar blobar mellan nivåer
- Principer för livscykelhantering som tar bort blobar
- Övervakning av livscykelhanteringsprinciper
- Hantera och hitta data i Azure Blob Storage med blobindex
- Metodtips för att använda blobåtkomstnivåer