Kommentar
Å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.
Arkivnivån är en offline-nivå för lagring av blobdata som sällan åtkoms. Arkivnivån erbjuder de lägsta lagringskostnaderna, men högre kostnader för datahämtning och latens jämfört med online-nivåerna (hot och cool). Data måste ligga kvar på arkivlagringsnivån i minst 180 dagar, annars debiteras du en avgift för tidig borttagning. För mer information om arkivnivån, se Arkivåtkomstnivå.
När en blob finns på arkivnivån kan den inte läsas eller ändras. För att läsa eller ladda ner en blob i arkivnivån måste du först återfukta den till en online-nivå, antingen varm eller kall. Data i arkivlagret kan ta upp till 15 timmar att återställa, beroende på vilken prioritet du anger för återställningsprocessen. Mer information om blobrehydrering finns i Översikt över blobrehydrering från arkivnivån.
Caution
En blob i arkivnivån är offline. Det vill säga, den kan inte läsas eller modifieras förrän den är återfuktad. Återfuktningsprocessen kan ta flera timmar och har tillhörande kostnader. Innan du flyttar data till arkivnivån bör du överväga om det kan påverka dina arbetsflöden att göra blobdata offline otillgängliga.
Du kan använda Azure-portalen, PowerShell, Azure CLI eller någon av Azure Storage-klientbiblioteken för att hantera dataarkivering.
Arkivera blobbar vid uppladdning
Om du vill arkivera en eller flera blobbar när de laddas upp skapar du dem direkt i arkivnivån.
För att arkivera en blob eller uppsättning blobs vid uppladdning från Azure-portalen, följ dessa steg:
Navigera till målcontainern.
Välj knappen Ladda upp.
Välj den fil eller de filer som ska laddas upp.
Expandera avsnittet Avancerat och ställ in Access-nivån till Arkiv.
Välj knappen Ladda upp.
Arkivera en befintlig blob
Du kan flytta en befintlig blob till arkivnivån på ett av två sätt:
Du kan ändra en blobs åtkomstnivå med åtgärden Ange blobnivå. Set Blob Tier flyttar en enda blob från en tier till en annan.
Tänk på att när du flyttar en blob till arkivnivån med Set Blob Tier, kan du inte läsa eller ändra blobens data förrän du har rehydrerat bloben. Om du kan behöva läsa eller ändra blobbens data innan det tidiga raderingsintervallet har passerat, överväg då att använda en Copy Blob-operation för att skapa en kopia av blobben i arkivnivån.
Du kan kopiera en blob på en online-nivå till arkivnivån med åtgärden Copy Blob. Du kan anropa Copy Blob-operationen för att kopiera en blob från en online-tier (hot eller cool) till arkivnivån. Källblobben finns kvar i online-nivån, och du kan fortsätta läsa eller ändra dess data i online-nivån.
Arkivera en befintlig blob genom att ändra dess nivå
Använd funktionen Set Blob Tier för att flytta en blob från Hot eller Cool-tieren till arkivnivån. Set Blob Tier-operationen är bäst för scenarier där du inte behöver komma åt den arkiverade datan innan det tidiga raderingsintervallet har passerat.
Operationen Set Blob Tier ändrar nivån för en enskild blob. För att flytta en uppsättning blobs till arkivnivån med optimal prestanda rekommenderar Microsoft att man utför en bulkarkivoperation. Bulkarkiveringsoperationen skickar en batch av Set Blob Tier-anrop till tjänsten i en enda transaktion. För mer information, se Bulkarkiv.
För att flytta en befintlig blob till arkivnivån i Azure-portalen, följ följande steg:
Navigera till blobbens behållare.
Välj blobben att arkivera.
Välj knappen för att ändra nivå .
Välj Arkiv från Access-tier rullgardinsmeny.
Välj Spara.
Arkivera en befintlig blob med en kopieringsoperation
Använd Copy Blob-operationen för att kopiera en blob från hot eller cool-tieren till arkivnivån. Källblobben förblir på åtkomstnivån Hot eller Cool, medan målblobben skapas på åtkomstnivån Arkiv.
En Copy Blob-operation är bäst för situationer där du kan behöva läsa eller ändra den arkiverade datan innan det tidiga raderingsintervallet har passerat. Du kan komma åt källblobbens data utan att behöva återfukta den arkiverade blobben.
Bulkarkiv
För att flytta blobs till arkivnivån i en container eller mapp, räkna upp blobs och anropa Set Blob Tier-operationen på var och en. I följande exempel visas hur du utför den här åtgärden:
När du flyttar ett stort antal blobs till arkivnivån, använd en batchoperation för optimal prestanda. En batchåtgärd skickar flera API-anrop till tjänsten med en enda begäran. De underåtgärder som stöds av Blob Batch-åtgärden inkluderar Ta bort blob och Ange blobnivå.
För att arkivera blobs med en batchoperation, använd ett av Azure Storage-klientbiblioteken. Följande kodexempel visar hur du utför en grundläggande batchåtgärd med .NET-klientbiblioteket:
static async Task BulkArchiveContainerContents(string accountName, string containerName)
{
string containerUri = string.Format("https://{0}.blob.core.windows.net/{1}",
accountName,
containerName);
// Get container client, using Azure AD credentials.
BlobUriBuilder containerUriBuilder = new BlobUriBuilder(new Uri(containerUri));
BlobContainerClient blobContainerClient = new BlobContainerClient(containerUriBuilder.ToUri(),
new DefaultAzureCredential());
// Get URIs for blobs in this container and add to stack.
var uris = new Stack<Uri>();
await foreach (var item in blobContainerClient.GetBlobsAsync())
{
uris.Push(blobContainerClient.GetBlobClient(item.Name).Uri);
}
// Get the blob batch client.
BlobBatchClient blobBatchClient = blobContainerClient.GetBlobBatchClient();
try
{
// Perform the bulk operation to archive blobs.
await blobBatchClient.SetBlobsAccessTierAsync(blobUris: uris, accessTier: AccessTier.Archive);
}
catch (RequestFailedException e)
{
Console.WriteLine(e.Message);
}
}
Ett djupgående exempelprogram som visar hur du ändrar nivåer med en batchåtgärd finns i AzBulkSetBlobTier.
Använd principer för livscykelhantering för att arkivera blobbar
Du kan optimera kostnader för blobdata som sällan nås genom att skapa livscykelhanteringspolicys som automatiskt flyttar blobs till arkivnivån när de inte har nåts eller ändrats under en viss tid. Efter att du konfigurerat en livscykelhanteringspolicy kör Azure Storage den en gång per dag. För mer information om livscykelhanteringspolicys, se Optimera kostnader genom att automatiskt hantera datalivscykeln.
Du kan använda Azure-portalen, PowerShell, Azure CLI eller en Azure Resource Manager-mall för att skapa en livscykelhanteringspolicy. För enkelhetens skull visar detta avsnitt hur man skapar en livscykelhanteringspolicy endast i Azure-portalen. För fler exempel som visar hur man skapar livscykelhanteringspolicys, se Konfigurera en livscykelhanteringspolicy.
Caution
Innan du använder en livscykelhanteringspolicy för att flytta data till arkivet, kontrollera att den datan inte behöver raderas eller flyttas till ett annat lager i minst 180 dagar. Data som raderas eller flyttas till en annan nivå innan 180-dagarsperioden har gått ut är föremål för en avgift för tidig radering.
Tänk också på att data i arkivnivån måste rehydreras innan den kan läsas eller ändras. Att återfukta en blob från arkivnivån kan ta flera timmar och medför kostnader.
För att skapa en livscykelhanteringspolicy för att arkivera blobs i Azure-portalen, följ dessa steg:
Steg 1: Skapa regeln och ange blob-typen
Gå till ditt lagringskonto i portalen.
Under Datahantering, hitta inställningarna för livscykelhantering .
Välj knappen Lägg till regel .
På fliken Detaljer , ange ett namn för din regel.
Specificera regelomfattningen: antingen Tillämpa regeln på alla blobs i ditt lagringskonto, eller Begränsa blobs med filter.
Välj vilka typer av blobs som regeln ska tillämpas på, och specificera om blob-snapshots eller versioner ska inkluderas.
Steg 2: Lägg till regelvillkor
Beroende på dina val kan du konfigurera regler för basblobs (nuvarande versioner), tidigare versioner eller blob-snapshots. Ange ett av två villkor att kontrollera för:
- Objekten modifierades senast för ett antal dagar sedan.
- Objekten skapades för ett antal dagar sedan.
- Objekten nåddes senast för några dagar sedan.
Endast ett av dessa villkor kan tillämpas för att flytta en viss typ av objekt till arkivnivån enligt regeln. Till exempel, om du definierar en åtgärd som arkiverar basblobbar om de inte har ändrats under 90 dagar, kan du inte också definiera en åtgärd som arkiverar basblobbar om de inte har varit föremål för åtkomst under 90 dagar. På liknande sätt kan du definiera en åtgärd per regel med något av dessa villkor för att arkivera tidigare versioner, och en för att arkivera snapshots.
Ange sedan hur många dagar som ska förfluta efter att objektet har modifierats eller nåts.
Ange att objektet ska flyttas till arkivnivån efter att intervallet har passerat.
Om du väljer att begränsa de blobbar som påverkas av regeln med filter kan du ange ett filter, antingen med ett blobprefix eller matchning mot blobindex.
Steg 3: Se till att regeln utesluter återfuktade klumpar
Om du återfuktar en blob genom att ändra dess tier, kommer denna regel att flytta blobben tillbaka till arkivnivån om den senaste modifierade tiden, skapandetiden eller senaste åtkomsttiden överskrider den tröskel som satts för policyn.
Om du valde regelvillkoret Senast modifierad kan du förhindra detta genom att välja Hoppa över blobs som har rehydrerats i den senaste perioden, och sedan ange hur många dagar du vill att en rehydrerad blob ska uteslutas från denna regel.
Note
Detta alternativ visas endast om du valt regelvillkoret Senast ändrad .
Välj knappen Lägg till för att lägga till regeln i policyn.
Visa principens JSON
Efter att du har skapat livscykelhanteringspolicyn kan du se JSON-policyn på livscykelhanteringssidan genom att byta från Listvy till Kodvy.
Här är JSON för den enkla livscykelhanteringspolicyn som skapats i bilderna ovan:
{
"rules": [
{
"enabled": true,
"name": "sample-archive-rule",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"tierToArchive": {
"daysAfterLastAccessTimeGreaterThan": 90,
"daysAfterLastTierChangeGreaterThan": 7
}
}
},
"filters": {
"blobTypes": [
"blockBlob"
]
}
}
}
]
}