Archivia un blob

Il livello archive è un livello offline per memorizzare dati blob che sono raramente accessibili. Il livello archive offre i costi di archiviazione più bassi, ma costi di recupero dati e latenza più elevati rispetto ai livelli online (hot e cool). I dati devono rimanere nel livello archivio per almeno 180 giorni oppure viene addebitato un costo per l'eliminazione anticipata. Per maggiori informazioni sul livello archivio, vedi Livello di accesso archivio.

Mentre un BLOB è nel livello archivio, non può essere letto o modificato. Per leggere o scaricare un blob nel tier archivio, devi prima reidratarlo a un livello online, caldo o freddo. La riattivazione dei dati nel livello archivio può richiedere fino a 15 ore, a seconda della priorità specificata per l'operazione di riattivazione. Per altre informazioni sulla riattivazione del BLOB, vedere Panoramica di riattivazione di un BLOB dal livello archivio.

Caution

Un blob nel livello archive è offline. Cioè, non può essere letto o modificato finché non viene reidratato. Il processo di reidratazione può richiedere diverse ore e comporta costi associati. Prima di spostare i dati al livello archivio, valuta se mettere i dati blob offline possa influire sui tuoi flussi di lavoro.

Puoi utilizzare il portale Azure, PowerShell, interfaccia della riga di comando di Azure o una delle librerie client di Archiviazione di Azure per gestire l'archiviazione dei dati.

Blob dell'archivio al caricamento

Per archiviare un altro blob al caricamento, crea il blob direttamente nel tier archive.

Per archiviare un blob o un set di blob al caricamento dal portale Azure, segui questi passaggi:

  1. Passare al contenitore di destinazione.

  2. Seleziona il pulsante Carica.

  3. Selezionare uno o più file da caricare.

  4. Espandi la sezione Avanzata e imposta il livello di accesso su Archivio.

  5. Seleziona il pulsante Carica.

    Screenshot che mostra come caricare i blob nel livello archivio nel portale Azure.

Archivia un blob esistente

Puoi spostare un blob esistente nel livello archivio in uno dei due modi:

  • Puoi cambiare il tier di un blob con l'operazione Set Blob Tier . Set Blob Tier sposta una singola massa da un livello all'altro.

    Tieni presente che quando sposti un blob nel tier archivio con Set Blob Tier, non puoi leggere o modificare i dati del blob finché non lo reidrati. Se potresti dover leggere o modificare i dati del blob prima che scada l'intervallo di cancellazione anticipata, considera di usare un'operazione Copy Blob per creare una copia del blob nel tier archivio.

  • Puoi copiare un blob in un livello online al livello archivio con l'operazione Copia Blob . È possibile chiamare l'operazione Copy Blob per copiare un blob da un livello online (attivo o sporadico) al livello di archiviazione. Il blob sorgente rimane nel livello online, e puoi continuare a leggere o modificare i suoi dati nel livello online.

Archivia un blob esistente cambiandone il livello

Usa l'operazione Set Blob Tier per spostare un blob dal tier Calore o Freddo al livello archivio. L'operazione Set Blob Tier è la migliore per scenari in cui non dovrai accedere ai dati archiviati prima che sia scaduto l'intervallo di cancellazione anticipata.

L'operazione Set Blob Tier modifica il livello di un singolo blob. Per spostare un insieme di blob al livello archivio con prestazioni ottimali, Microsoft raccomanda di eseguire un'operazione di archivio in massa. L'operazione di archiviazione in blocco invia un batch di chiamate a Set Blob Tier al servizio in un'unica transazione. Per ulteriori informazioni, vedi Archivio Bulk.

Per spostare un blob esistente nel livello archivio del portale Azure, segui questi passaggi:

  1. Passa al contenitore del blob.

  2. Seleziona il blob da archiviare.

  3. Seleziona il pulsante Cambia livello .

  4. Seleziona Archivio dal menu a discesa Livello di accesso.

  5. Seleziona Salva.

    Screenshot che mostra come impostare il livello di un blob su Archive nel portale Azure

Archivia un blob esistente con un'operazione di copia

Usa l'operazione Copia Blob per copiare un blob dal tier caldo o freddo al tier archivio. Il blob sorgente rimane nel tier caldo o freddo, mentre il blob di destinazione viene creato nel tier archivio.

Un'operazione di copia del blob è la migliore per situazioni in cui potresti dover leggere o modificare i dati archiviati prima che scada l'intervallo di cancellazione anticipata. Puoi accedere ai dati del blob di origine senza dover reidratare il blob archiviato.

N/A

Archivio in blocco

Per spostare i blob nel livello di archiviazione Archivio in un contenitore o in una cartella, elenca i blob e chiama l'operazione "Set Blob Tier" per ognuno di essi. Nell'esempio seguente viene illustrato come eseguire questa operazione:

N/A

Quando si sposta un gran numero di blob nel livello di archiviazione, usa un'operazione in batch per ottenere prestazioni ottimali. Un'operazione batch invia più chiamate API al servizio con una singola richiesta. Le operazioni secondarie supportate dall'operazione Batch BLOB includono Elimina BLOB e Imposta livello del BLOB.

Per archiviare blob con un'operazione batch, usa una delle librerie client di Archiviazione di Azure. L'esempio di codice seguente illustra come eseguire un'operazione batch di base con la libreria client .NET:

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

Per un'applicazione di esempio approfondita che illustra come modificare i livelli con un'operazione batch, vedere AzBulkSetBlobTier.

Usa le policy di gestione del ciclo di vita per archiviare i blob

Puoi ottimizzare i costi per i dati blob raramente accessibili creando politiche di gestione del ciclo di vita che spostano automaticamente i blob nel tier archive quando non sono stati acceduti o modificati per un periodo di tempo specificato. Dopo aver configurato una policy di gestione del ciclo di vita, Archiviazione di Azure la esegue una volta al giorno. Per maggiori informazioni sulle politiche di gestione del ciclo di vita, vedi Ottimizza i costi gestendo automaticamente il ciclo di vita dei dati.

Puoi utilizzare il portale Azure, PowerShell, interfaccia della riga di comando di Azure o un template Azure Resource Manager per creare una politica di gestione del ciclo di vita. Per semplicità, questa sezione mostra come creare una politica di gestione del ciclo di vita solo nel portale Azure. Per altri esempi che mostrano come creare politiche di gestione del ciclo di vita, vedi Configura una policy di gestione del ciclo di vita.

Caution

Prima di utilizzare una politica di gestione del ciclo di vita per spostare i dati al livello archivio, verifica che tali dati non debbano essere cancellati o spostati su un altro livello per almeno 180 giorni. I dati che vengono eliminati o spostati su un altro livello prima della scadenza del periodo di 180 giorni sono soggetti a una penale di cancellazione anticipata.

Tieni anche presente che i dati nel livello archive devono essere reidratati prima di poter essere letti o modificati. Reidratare un blob dal livello archivio può richiedere diverse ore e comporta costi associati.

Per creare una politica di gestione del ciclo di vita per archiviare i blob nel portale Azure, segui questi passaggi:

Passo 1: Crea la regola e specifica il tipo di blob

  1. Vai al tuo account di archiviazione nel portale.

  2. Sotto Gestione dati, localizza le impostazioni di gestione del ciclo di vita .

  3. Seleziona il pulsante Aggiungi una regola .

  4. Nella scheda Dettagli , specifica un nome per la tua regola.

  5. Specifica l'ambito della regola: o applica la regola a tutti i blob nel tuo account di storage, oppure limita i blob con filtri.

  6. Seleziona i tipi di blob per cui la regola deve essere applicata e specifica se includere istantanee o versioni di blob.

    Screenshot che mostra come configurare una policy di gestione del ciclo di vita - scheda Dettagli.

Passo 2: Aggiungi condizioni di regola

  1. A seconda delle tue scelte, puoi configurare regole per i blob base (versioni attuali), le versioni precedenti o gli snapshot dei blob. Specifica una di due condizioni da verificare:

    • Gli oggetti sono stati modificati l'ultima volta qualche giorno fa.
    • Gli oggetti sono stati creati qualche giorno fa.
    • Gli oggetti sono stati consultati l'ultima volta qualche giorno fa.

    Solo una di queste condizioni può essere applicata per spostare un particolare tipo di oggetto al livello archivio per regola. Ad esempio, se definisci un'azione che archivia i blob base se non sono stati modificati per 90 giorni, allora non puoi nemmeno definire un'azione che archivia i blob base se non sono stati consultati per 90 giorni. Allo stesso modo, puoi definire un'azione per regola con una di queste condizioni per archiviare versioni precedenti e una per archiviare snapshot.

  2. Successivamente, specifica il numero di giorni che trascorrono dopo che l'oggetto è stato modificato o accesso.

  3. Specificare che l'oggetto deve essere spostato al livello archivio dopo che l'intervallo è trascorso.

    Schermata che mostra come configurare un criterio di gestione del ciclo di vita - scheda Blob di base.

  4. Se scegli di limitare i blob interessati dalla regola tramite filtri, puoi specificare un filtro tramite un prefisso del blob oppure una corrispondenza dell'indice del blob.

Passo 3: Assicurarsi che la regola escluda i blob reidratati

Se reidrati un blob cambiandone il livello, questa regola riporterà il blob nel livello di archiviazione se l'ora dell'ultima modifica, l'ora di creazione o l'ora dell'ultimo accesso sono precedenti alla soglia impostata nei criteri.

Se hai selezionato la condizione della regola Ultima modifica, puoi impedire che ciò accada selezionando Ignora i BLOB che sono stati reidratati negli ultimi e quindi immettendo il numero di giorni per i quali vuoi che un BLOB reidratato sia escluso da questa regola.

Screenshot che mostra le macchie di skip che sono state reidratate nell'ultima impostazione.

Note

Questa opzione appare solo se hai selezionato la condizione Ultima regola modificata .

Seleziona il pulsante Aggiungi per aggiungere la regola alla policy.

Visualizza la policy JSON

Dopo aver creato la policy di gestione del ciclo di vita, puoi visualizzare il JSON della policy nella pagina di gestione del ciclo di vita passando dalla vista List alla vista Codice.

Ecco il JSON per la semplice politica di gestione del ciclo di vita creata nelle immagini mostrate sopra:

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

Vedi anche