Eliminazione di versioni di oggetti da un bucket con funzione Controllo delle versioni abilitata
È possibile eliminare le versioni degli oggetti dai bucket Amazon S3 ogni volta che si desidera. Si possono anche definire regole di configurazione del ciclo di vita per oggetti con un ciclo di vita ben definito per fare in modo che Amazon S3 forzi la scadenza delle versioni correnti di un oggetto o che rimuova le versioni dell'oggetto non correnti in modo permanente. Se il bucket ha la funzione Controllo delle versioni abilitata o sospesa, le operazioni di configurazione del ciclo di vita agiscono nel modo seguente:
-
L'operazione
Expiration
si applica alla versione corrente dell'oggetto. Anziché eliminare la versione corrente dell'oggetto, Amazon S3 la conserva come versione non corrente aggiungendo un contrassegno di eliminazione, che quindi diventa la versione corrente. -
L'operazione
NoncurrentVersionExpiration
si applica solo alle versioni non correnti di un oggetto e Amazon S3 rimuove queste versioni in modo permanente. Non è possibile ripristinare gli oggetti rimossi in modo permanente.
Per ulteriori informazioni, consultare Gestione del ciclo di vita dello storage.
Eliminare casi di utilizzo delle richieste
Una richiesta DELETE
può essere usata nei seguenti casi d'uso:
-
Quando la funzione Controllo delle versioni è abilitata, un semplice
DELETE
non può eliminare un oggetto in modo permanente. Invece di eliminare l'oggetto, Amazon S3 inserisce un contrassegno di eliminazione nel bucket e tale contrassegno diventa la versione corrente dell'oggetto, con un nuovo ID.Quando si prova a utilizzare la funzione
GET
di un oggetto la cui versione corrente è un contrassegno di eliminazione, Amazon S3 si comporta come se l'oggetto fosse stato eliminato (anche se non è stato cancellato) e restituisce un errore 404. Per ulteriori informazioni, consultare Utilizzo dei contrassegni di eliminazione.La figura seguente mostra una richiesta
DELETE
semplice che non rimuove effettivamente l'oggetto specificato. Anziché rimuovere l'oggetto, Amazon S3 inserisce un contrassegno di eliminazione. -
Per eliminare oggetti con versione in modo permanente occorre usare
DELETE Object versionId
.La figura seguente mostra una richiesta che l'eliminazione della versione specificata di un oggetto rimuove tale oggetto in modo permanente.
Per eliminare le versioni degli oggetti
Puoi eliminare le versioni degli oggetti in Amazon S3 utilizzando la console, gli SDK AWS, REST API o la AWS Command Line Interface.
Accedi alla AWS Management Console e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/
. -
Nell'elenco Buckets (Bucket) scegliere il nome del bucket contenente l'oggetto.
-
Nell'elenco Oggetti scegliere il nome dell'oggetto.
-
Scegliere le Versioni.
Amazon S3 mostra tutte le versioni per l'oggetto.
-
Seleziona la casella di controllo accanto a Version ID (ID versione) per le versioni che desideri recuperare.
-
Scegliere Delete (Elimina).
-
In Eliminare definitivamente gli oggetti? , immettere
permanently delete
.avvertimento Quando si elimina definitivamente una versione di un oggetto, l'azione non può essere annullata.
-
Scegliere Delete objects (Elimina oggetti).
Amazon S3 elimina la versione dell'oggetto.
Per esempi di eliminazione di oggetti con gli SDK AWS per Java, .NET e PHP, consultare Eliminazione di oggetti Amazon S3 . Gli esempi per l'eliminazione di oggetti in bucket senza versione e con funzione Controllo delle versioni abilitata sono gli stessi. Tuttavia, per i bucket con funzione Controllo delle versioni abilitata, Amazon S3 assegna un numero di versione. Negli altri casi il numero di versione è null.
Per informazioni sull'utilizzo di altri SDK AWS, consulta il Centro sviluppatori di AWS
Per eliminare la versione specificata di un oggetto
-
In una richiesta
DELETE
, specificare l'ID versione.
Esempio - Eliminazione di una versione specifica
Nell'esempio seguente viene eliminata la versione UIORUnfnd89493jJFJ
di photo.gif
.
DELETE /photo.gif?versionId=UIORUnfnd89493jJFJ HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Type: text/plain Content-Length: 0
Il comando seguente elimina un oggetto denominato test.txt da un bucket denominato DOC-EXAMPLE-BUCKET1
. Per rimuovere una versione specifica di un oggetto, devi essere il proprietario del bucket e utilizzare la risorsa secondaria ID versione.
aws s3api delete-object --bucket
DOC-EXAMPLE-BUCKET1
--key test.txt --version-idversionID
Per ulteriori informazioni, su delete-object
consulta delete-object nella Guida di riferimento dei comandi AWS CLI.
Per ulteriori informazioni sull'eliminazione delle versioni degli oggetti, consulta gli argomenti riportati di seguito.