Arkivera en blob

Arkivnivån är en offlinenivå för lagring av blobdata som används sällan. Arkivnivån erbjuder de lägsta lagringskostnaderna, men högre kostnader för datahämtning och svarstider jämfört med online-nivåerna (hot och cool). Data måste finnas kvar på arkivnivån i minst 180 dagar eller omfattas av en avgift för tidig borttagning. Mer information om arkivnivån finns i Arkivåtkomstnivå.

När en blob är på arkivnivån kan den inte läsas eller ändras. Om du vill läsa eller ladda ned en blob på arkivnivån måste du först extrahydrera den till en onlinenivå, antingen Hot eller Cool. Det kan ta upp till 15 timmar innan data på arkivnivån återuppvädreras, beroende på vilken prioritet du anger för återuppvädrningsåtgärden. Mer information om återuppfuktning av blobar finns i Översikt över blobbrehydrering från arkivnivån.

Varning

En blob på arkivnivån är offline, det vill säga att den inte kan läsas eller ändras — — förrän den har återuppförts. Återuppvädrningsprocessen kan ta flera timmar och har associerade kostnader. Innan du flyttar data till arkivnivån bör du överväga om offlinelagring av blobdata kan påverka dina arbetsflöden.

Du kan använda Azure Portal, PowerShell, Azure CLI eller något av Azure Storage för att hantera dataarkivering.

Arkivera blobar vid uppladdning

Om du vill arkivera en eller flera blobar vid uppladdning skapar du bloben direkt på arkivnivån.

Följ dessa steg om du vill arkivera en blob eller en uppsättning blobar Azure Portal ladda upp från Azure Portal:

  1. Navigera till målcontainern.

  2. Välj knappen Ladda upp.

  3. Välj den fil eller de filer som ska laddas upp.

  4. Expandera avsnittet Avancerat och ställ in ÅtkomstnivåArkiv.

  5. Välj knappen Ladda upp.

    Skärmbild som visar hur du laddar upp blobar till arkivnivån i Azure Portal

Arkivera en befintlig blob

Du kan flytta en befintlig blob till arkivnivån på något av två sätt:

  • Du kan ändra en blobs nivå med åtgärden Ange blobnivå. Ange blobnivå flyttar en enskild blob från en nivå till en annan.

    Tänk på att när du flyttar en blob till arkivlagringsnivån med Ange blobnivå kan du inte läsa eller ändra blobens data förrän du har återupphydrerat bloben. Om du kan behöva läsa eller ändra blobens data innan det tidiga borttagningsintervallet har gått ut kan du överväga att använda en kopieringsblobåtgärd för att skapa en kopia av bloben på arkivlagringsnivån.

  • Du kan kopiera en blob på en onlinenivå till arkivnivån med åtgärden Kopiera blob. Du kan anropa åtgärden Kopiera blob för att kopiera en blob från en onlinenivå (hot eller cool) till arkivnivån. Källbloben finns kvar på onlinenivån och du kan fortsätta att läsa eller ändra dess data på onlinenivån.

Arkivera en befintlig blob genom att ändra dess nivå

Använd åtgärden Ange blobnivå för att flytta en blob från nivån Hot eller Cool till arkivnivån. Åtgärden Ange blobnivå passar bäst för scenarier där du inte behöver komma åt arkiverade data innan det tidiga borttagningsintervallet har gått ut.

Åtgärden Ange blobnivå ändrar nivån för en enskild blob. Om du vill flytta en uppsättning blobar till arkivnivån med optimala prestanda rekommenderar Microsoft att du utför en massarkivåtgärd. Massarkivåtgärden skickar en batch med Anrop till tjänsten med Set Blob-nivå i en enda transaktion. Mer information finns i Massarkiv.

Följ dessa steg om du vill flytta en befintlig blob till arkivnivån Azure Portal i arkivet:

  1. Gå till blobens container.

  2. Välj den blob som ska arkiveras.

  3. Välj knappen Ändra nivå.

  4. Välj Arkiv i listrutan Åtkomstnivå.

  5. Välj Spara.

    Skärmbild som visar hur du anger arkivnivån för en blob i Azure Portal

Arkivera en befintlig blob med en kopieringsåtgärd

Använd åtgärden Kopiera blob för att kopiera en blob från nivån Hot eller Cool till arkivlagringsnivån. Källbloben finns kvar på nivån Hot eller Cool medan målbloben skapas på arkivlagringsnivån.

En kopieringsblob passar bäst för scenarier där du kan behöva läsa eller ändra arkiverade data innan det tidiga borttagningsintervallet har gått ut. Du kan komma åt källblobens data utan att behöva rehydrera den arkiverade bloben.

Ej tillämpligt

Massarkiv

Använd en batchåtgärd för optimala prestanda när du flyttar ett stort antal blobar till arkivnivån. En batchåtgärd skickar flera API-anrop till tjänsten med en enda begäran. Underåtgärderna som stöds av Blob Batch-åtgärden omfattar Ta bort blob och Ange blobnivå.

Om du vill arkivera blobar med en batchåtgärd använder du ett av Azure Storage klientbibliotek. I följande kodexempel visas 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.

Se även