Een blob archiveren

De archieflaag is een offlinelaag voor het opslaan van blobgegevens die zelden worden geopend. De archieflaag biedt de laagste opslagkosten, maar hogere kosten voor het ophalen van gegevens en latentie vergeleken met de onlinelagen (dynamisch en statisch). Gegevens moeten ten minste 180 dagen in de archieflaag blijven anders worden kosten in rekening gebracht voor vroegtijdige verwijdering. Zie De archieftoegangslaag voor meer informatie over de archieflaag.

Hoewel een blob zich in de archieflaag bevindt, kan deze niet worden gelezen of gewijzigd. Als u een blob in de archieflaag wilt lezen of downloaden, moet u deze eerst reactiveren naar een onlinelaag, dynamisch of statisch. Het kan tot 15 uur duren voordat gegevens in de archieflaag opnieuw worden gehydrateerd, afhankelijk van de prioriteit die u opgeeft voor de rehydratatiebewerking. Zie Overzicht van rehydratatie van blobs vanuit de archieflaag voor meer informatie over rehydratatie van blobs.

Let op

Een blob in de archieflaag is offline. Dat wil gezegd, het kan niet worden gelezen of gewijzigd totdat het wordt gerehydrateerd. Het rehydratatieproces kan enkele uren duren en heeft bijbehorende kosten. Voordat u gegevens naar de archieflaag verplaatst, moet u overwegen of het offline nemen van blobgegevens van invloed kan zijn op uw werkstromen.

U kunt Azure Portal, PowerShell, Azure CLI of een van de Azure Storage-clientbibliotheken gebruiken om gegevensarchivering te beheren.

Blobs archiveren bij uploaden

Als u een of meer blob wilt archiveren tijdens het uploaden, maakt u de blob rechtstreeks in de archieflaag.

Voer de volgende stappen uit om een blob of set blobs te archiveren bij uploaden vanuit Azure Portal:

  1. Navigeer naar de doelcontainer.

  2. Selecteer de knop Uploaden.

  3. Selecteer het bestand of de bestanden die u wilt uploaden.

  4. Vouw de sectie Geavanceerd uit en stel de toegangslaag in op Archief.

  5. Selecteer de knop Uploaden.

    Screenshot showing how to upload blobs to the archive tier in the Azure portal.

Een bestaande blob archiveren

U kunt een bestaande blob op twee manieren naar de archieflaag verplaatsen:

  • U kunt de laag van een blob wijzigen met de bewerking Blob-laag instellen. Stel de Blob-laag in, verplaatst één blob van de ene laag naar de andere.

    Houd er rekening mee dat wanneer u een blob verplaatst naar de archieflaag met De bloblaag instellen, u de gegevens van de blob pas kunt lezen of wijzigen nadat u de blob opnieuw hebt gehydrateerd. Als u de gegevens van de blob mogelijk moet lezen of wijzigen voordat het interval voor vroegtijdige verwijdering is verstreken, kunt u overwegen om een kopieer-blobbewerking te gebruiken om een kopie van de blob in de archieflaag te maken.

  • U kunt een blob in een onlinelaag naar de archieflaag kopiëren met de bewerking Blob kopiëren. U kunt de kopieer-blobbewerking aanroepen om een blob te kopiëren van een onlinelaag (dynamisch of statisch) naar de archieflaag. De bron-blob blijft in de onlinelaag en u kunt de gegevens in de onlinelaag blijven lezen of wijzigen.

Een bestaande blob archiveren door de laag te wijzigen

Gebruik de bewerking Blob-laag instellen om een blob te verplaatsen van de dynamische of statische laag naar de archieflaag. De bewerking Blob-laag instellen is het meest geschikt voor scenario's waarin u geen toegang nodig hebt tot de gearchiveerde gegevens voordat het interval voor vroegtijdige verwijdering is verstreken.

Met de bewerking Blob-laag instellen wordt de laag van één blob gewijzigd. Als u een set blobs met optimale prestaties naar de archieflaag wilt verplaatsen, raadt Microsoft aan om een bulkarchiefbewerking uit te voeren. Met de bulkarchiefbewerking wordt in één transactie een batch set bloblaag-aanroepen naar de service verzonden. Zie Bulkarchief voor meer informatie.

Als u een bestaande blob wilt verplaatsen naar de archieflaag in Azure Portal, voert u de volgende stappen uit:

  1. Navigeer naar de container van de blob.

  2. Selecteer de blob die u wilt archiveren.

  3. Selecteer de knop Laag wijzigen.

  4. Selecteer Archiveren in de vervolgkeuzelijst Toegangslaag .

  5. Selecteer Opslaan.

    Screenshot showing how to set a blob's tier to Archive in the Azure portal

Een bestaande blob archiveren met een kopieerbewerking

Gebruik de bewerking Blob kopiëren om een blob te kopiëren van de dynamische of statische laag naar de archieflaag. De bron-blob blijft in de dynamische of statische laag, terwijl de doel-blob wordt gemaakt in de archieflaag.

Een kopieer-blobbewerking is het meest geschikt voor scenario's waarin u de gearchiveerde gegevens mogelijk moet lezen of wijzigen voordat het interval voor vroegtijdige verwijdering is verstreken. U hebt toegang tot de gegevens van de bron-blob zonder dat u de gearchiveerde blob opnieuw hoeft te reactiveren.

N.v.t.

Bulkarchief

Als u blobs wilt verplaatsen naar de archieflaag in een container of een map, inventariseert u blobs en roept u de bewerking Blob-laag instellen aan op elke laag. In het volgende voorbeeld ziet u hoe u deze bewerking uitvoert:

N.v.t.

Wanneer u een groot aantal blobs naar de archieflaag verplaatst, gebruikt u een batchbewerking voor optimale prestaties. Een batchbewerking verzendt meerdere API-aanroepen naar de service met één aanvraag. De suboperations die worden ondersteund door de Blob Batch-bewerking zijn Onder andere Blob verwijderen en Blob-laag instellen.

Als u blobs wilt archiveren met een batchbewerking, gebruikt u een van de Azure Storage-clientbibliotheken. In het volgende codevoorbeeld ziet u hoe u een eenvoudige batchbewerking uitvoert met de .NET-clientbibliotheek:

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);
    }
}

Zie AzBulkSetBlobTier voor een uitgebreide voorbeeldtoepassing die laat zien hoe u lagen wijzigt met een batchbewerking.

Beleid voor levenscyclusbeheer gebruiken om blobs te archiveren

U kunt kosten optimaliseren voor blobgegevens die zelden worden geopend door beleid voor levenscyclusbeheer te maken waarmee blobs automatisch naar de archieflaag worden verplaatst wanneer ze gedurende een bepaalde periode niet zijn geopend of gewijzigd. Nadat u een levenscyclusbeheerbeleid hebt geconfigureerd, wordt dit eenmaal per dag uitgevoerd in Azure Storage. Zie Kosten optimaliseren voor meer informatie over levenscyclusbeheerbeleid door de levenscyclus van gegevens automatisch te beheren.

U kunt de Azure-portal, PowerShell, Azure CLI of een Azure Resource Manager-sjabloon gebruiken om een levenscyclusbeheerbeleid te maken. Ter vereenvoudiging laat deze sectie zien hoe u alleen een levenscyclusbeheerbeleid maakt in Azure Portal. Zie Een levenscyclusbeheerbeleid configureren voor meer voorbeelden die laten zien hoe u beleid voor levenscyclusbeheer maakt.

Let op

Voordat u een levenscyclusbeheerbeleid gebruikt om gegevens naar de archieflaag te verplaatsen, moet u controleren of gegevens gedurende ten minste 180 dagen niet hoeven te worden verwijderd of verplaatst naar een andere laag. Gegevens die worden verwijderd of verplaatst naar een andere laag voordat de periode van 180 dagen is verstreken, zijn onderworpen aan een vroegtijdige verwijderingskosten.

Houd er ook rekening mee dat gegevens in de archieflaag moeten worden gerehydrateerd voordat ze kunnen worden gelezen of gewijzigd. Het reactiveren van een blob vanuit de archieflaag kan enkele uren duren en heeft bijbehorende kosten.

Voer de volgende stappen uit om een levenscyclusbeheerbeleid te maken voor het archiveren van blobs in Azure Portal:

Stap 1: Maak de regel en geef het blobtype op

  1. Navigeer naar uw opslagaccount in de portal.

  2. Zoek onder Gegevensbeheer de instellingen voor levenscyclusbeheer .

  3. Selecteer de knop Een regel toevoegen.

  4. Geef op het tabblad Details een naam op voor uw regel.

  5. Geef het regelbereik op: pas een regel toe op alle blobs in uw opslagaccount of beperk blobs met filters.

  6. Selecteer de typen blobs waarvoor de regel moet worden toegepast en geef op of blob-momentopnamen of -versies moeten worden opgenomen.

    Screenshot showing how to configure a lifecycle management policy - Details tab.

Stap 2: Regelvoorwaarden toevoegen

  1. Afhankelijk van uw selecties kunt u regels configureren voor basis-blobs (huidige versies), vorige versies of blob-momentopnamen. Geef een van de volgende twee voorwaarden op:

    • Objecten zijn een aantal dagen geleden voor het laatst gewijzigd.
    • Objecten zijn een aantal dagen geleden gemaakt.
    • Objecten zijn een aantal dagen geleden voor het laatst geopend.

    Er kan slechts één van deze voorwaarden worden toegepast om een bepaald type object te verplaatsen naar de archieflaag per regel. Als u bijvoorbeeld een actie definieert waarmee basis-blobs worden gearchiveerd als ze 90 dagen niet zijn gewijzigd, kunt u geen actie definiëren waarmee basis-blobs worden gearchiveerd als ze 90 dagen niet zijn geopend. Op dezelfde manier kunt u één actie per regel definiëren met een van deze voorwaarden voor het archiveren van eerdere versies en een actie voor het archiveren van momentopnamen.

  2. Geef vervolgens het aantal dagen op dat moet worden verstreken nadat het object is gewijzigd of geopend.

  3. Geef op dat het object moet worden verplaatst naar de archieflaag nadat het interval is verstreken.

    Screenshot showing how to configure a lifecycle management policy - Base blob tab.

  4. Als u ervoor kiest om de blobs te beperken die worden beïnvloed door de regel met filters, kunt u een filter opgeven, ofwel met een blobvoorvoegsel of een blobindexovereenkomst.

Stap 3: Zorg ervoor dat de regel gerehydrateerde blobs uitsluit

Als u een blob rehydrateert door de laag te wijzigen, wordt de blob met deze regel teruggezet naar de archieflaag als de laatste wijzigingstijd, aanmaaktijd of laatste toegangstijd buiten de drempelwaarde valt die is ingesteld voor het beleid.

Als u de voorwaarde Laatst gewijzigd hebt geselecteerd, kunt u dit voorkomen door blobs overslaan te selecteren die in de laatste tijd zijn gerehydrateerd en vervolgens het aantal dagen in te voeren dat een gerehydrateerde blob moet worden uitgesloten van deze regel.

Screenshot showing the skip blobs that have been rehydrated in the last setting.

Notitie

Deze optie wordt alleen weergegeven als u de regelvoorwaarde Laatst gewijzigd hebt geselecteerd.

Selecteer de knop Toevoegen om de regel toe te voegen aan het beleid.

De JSON van het beleid weergeven

Nadat u het levenscyclusbeheerbeleid hebt gemaakt, kunt u de JSON voor het beleid weergeven op de pagina Levenscyclusbeheer door over te schakelen van de lijstweergave naar de codeweergave.

Dit is de JSON voor het eenvoudige levenscyclusbeheerbeleid dat is gemaakt in de afbeeldingen die hierboven worden weergegeven:

{
  "rules": [
    {
      "enabled": true,
      "name": "sample-archive-rule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToArchive": {
              "daysAfterLastAccessTimeGreaterThan": 90,
              "daysAfterLastTierChangeGreaterThan": 7
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ]
        }
      }
    }
  ]
}

Zie ook