Passa al contenuto principale

Bucket e Object versioning

Intro

Bucket versioning è una funzione fornita da Amazon Web Services (AWS) e pienamente supportata da Cubbit DS3. Questa funzione consente di mantenere più versioni di oggetti in un bucket S3, permettendo di conservare, recuperare e ripristinare con facilità ogni versione di un oggetto nel bucket.

L'abilitazione del versioning per un bucket assegna un version ID univoco a ogni nuova versione di un oggetto. Questo ID viene generato automaticamente e non può essere modificato o eliminato. Questa funzione garantisce la possibilità di tenere traccia di tutte le modifiche apportate a un oggetto nel corso del tempo e di ripristinare una versione precedente se necessario, offrendo preziosi vantaggi in termini di integrità dei dati e di disaster recovery.

note

Bucket versioning è un requisito per abilitare object lock.

Caricamenti sicuri

L'abilitazione del versioning nel bucket S3 garantisce che caricando più volte lo stesso file con lo stesso nome si crei una nuova versione dell'oggetto invece di sovrascrivere quella esistente. Ogni nuova versione generata ha un version ID univoco, che è un UUIDv4 a 128 bit di dimensione fissa.

Carica l'oggetto su un bucket con versioniCarica l'oggetto su un bucket con versioni

Scarica una versione specifica

Per impostazione predefinita, il download di un oggetto sceglie la sua versione più recente, ma è anche possibile recuperare una versione specifica dell'oggetto se si conosce il suo version ID.

Maggiori informazioni su come scaricare versioni specifiche di un oggetto sono disponibili qui.

Scarica la versione di un oggetto specificoScarica la versione di un oggetto specifico

Cancellazioni sicure

Per impostazione predefinita l'eliminazione di un oggetto non rimuove alcun contenuto, ma si limita a contrassegnare l'oggetto come eliminato con un DeleteMarker sopra di esso. Ciò significa che è ancora possibile recuperare o ripristinare qualsiasi versione precedente di quell'oggetto.

Se vuoi rimuovere definitivamente una versione specifica puoi farlo specificando il suo version ID.

Maggiori informazioni su come eliminare le versioni degli oggetti sono disponibili qui.

L'eliminazione crea un DeleteMarkerL'eliminazione crea un DeleteMarker

Avvertenze

  • Il versioning è una funzione a livello di bucket. Può essere abilitata solo per l'intero bucket, non per un sottoinsieme di oggetti. Maggiori informazioni su come abilitare il versioning su un bucket sono disponibili qui.
  • Il versioning del bucket può essere sospeso, modificando così il comportamento del bucket in futuro senza influire sulle versioni precedenti.
  • Si tenga presente che il versioning ha un costo di archiviazione. Ad esempio, se un file di 1 GB viene sottoposto a backup giornaliero in un bucket con versioning, ogni backup crea una nuova versione, aumentando l'utilizzo dello storage di 1 GB. Dopo un mese, 30 versioni dell'oggetto occuperanno un totale di 30 GB. Maggiori informazioni su come eliminare definitivamente le versioni sono disponibili qui.

How to

Questa sezione fornisce le istruzioni per lavorare con la funzione di versioning utilizzando la Cubbit Web Console o i comandi AWS s3api CLI.

Abilitare il versionamento dei bucket

Iniziamo ad abilitare il versionamento su un intero bucket.

Attualmente, l'unico modo per abilitare il versionamento su un bucket utilizzando la Cubbit Console è durante la sua creazione.

  1. Accedere alla [Cubbit Console] (https://console.cubbit.eu).
  2. Fare clic sul pulsante "Create bucket" in alto a destra.
  3. Scegliere il nome del bucket.
  4. Nella sezione versioning del bucket fare clic sul pulsante "Versioning enabled" e infine confermare facendo clic sul pulsante "Create bucket".

Cubbit Console - Crea bucket versionatoCubbit Console - Crea bucket versionato

Si dovrebbe vedere un nuovo bucket, con il versionamento abilitato.

Scaricare versioni specifiche di oggetti

È possibile elencare o scaricare versioni specifiche di un oggetto.

Una volta creato il bucket versionato, si dovrebbe:

  1. Fare clic sul bucket versionato creato nel passaggio precedente.
  2. Cliccare sul toggle "Show versions".

Cubbit Console - Elenco versioniCubbit Console - Elenco versioni

Ora è possibile vedere tutte le diverse versioni di un singolo oggetto e operare sulle versioni specifiche.

Eliminare definitivamente le versioni degli oggetti

Infine, vediamo come cancellare versioni specifiche di un oggetto. Si tenga presente che le operazioni di cancellazione delle versioni sono irreversibili.

Considerati i passaggi precedenti, questa operazione è piuttosto semplice. Una volta elencate le versioni, è possibile fare clic su una singola versione, aprire il menu facendo clic sull'icona dei tre puntini a destra e fare clic sul pulsante "Elimina". Questa azione elimina una singola versione, in modo permanente.

Se invece si vuole creare un DeleteMarker, mantenendo le vecchie versioni, disattivare il toggle "Show versions" per tornare alla vecchia visualizzazione. A questo punto, si può cancellare l'oggetto in modo sicuro.

tip

Provare a fare nuovamente clic sul toggle "Show versions". Le vecchie versioni sono ancora lì e un DeleteMarker con size = 0 è sopra di esse!