Eliminazione di versioni di oggetti da un bucket con funzione Controllo delle versioni abilitata - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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 sul ciclo di vita S3, consulta Gestione del ciclo di vita dello storage e Esempi di configurazione del ciclo di vita S3.

Per visualizzare il numero di versioni di oggetti correnti e non correnti presenti nei tuoi bucket, puoi utilizzare i parametri di Amazon S3 Storage Lens. S3 Storage Lens è una funzionalità di analisi dell'archiviazione su cloud che puoi utilizzare per avere una panoramica completa a livello di organizzazione sull'utilizzo e sulle attività relative all'archiviazione di oggetti. Per ulteriori informazioni, consulta la sezione Utilizzo di S3 Storage Lens per ottimizzare i costi di archiviazione. Per un elenco completo dei parametri, consulta Glossario dei parametri di S3 Storage.

Nota

Le normali tariffe di Amazon S3 si applicano a ogni versione di un oggetto archiviata e trasferita, incluse le versioni non correnti dell'oggetto. Per ulteriori informazioni, consulta i Prezzi di Amazon S3.

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. (Una richiesta DELETE semplice è una richiesta che non specifica un ID versione.) 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, consulta 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.

    Illustrazione che mostra l'inserimento di un marker 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.

    Diagramma che mostra come elimina DELETE Object versionId definitivamente una versione specifica dell'oggetto.

Per eliminare le versioni degli oggetti

Puoi eliminare le versioni degli oggetti in Amazon S3 utilizzando la console, gli AWS SDK, l'API REST o il. AWS Command Line Interface

  1. Accedi AWS Management Console e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

  2. Nell'elenco Buckets (Bucket) scegliere il nome del bucket contenente l'oggetto.

  3. Nell'elenco Oggetti scegliere il nome dell'oggetto.

  4. Scegliere le Versioni.

    Amazon S3 mostra tutte le versioni per l'oggetto.

  5. Seleziona la casella di controllo accanto a Version ID (ID versione) per le versioni che desideri recuperare.

  6. Scegliere Delete (Elimina).

  7. In Eliminare definitivamente gli oggetti? , immettere permanently delete.

    avvertimento

    Quando si elimina definitivamente una versione di un oggetto, l'azione non può essere annullata.

  8. Scegliere Delete objects (Elimina oggetti).

    Amazon S3 elimina la versione dell'oggetto.

Per esempi di eliminazione di oggetti utilizzando gli AWS SDK per Java, .NET e PHP, consulta. 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 AWS SDK, consulta il Developer Center.AWS

Python

Per istruzioni su come creare e testare un esempio di utilizzo, consulta Usando il AWS SDK for Python (Boto).

Nell'esempio di codice Python seguente viene illustrata l'eliminazione permanente di un oggetto con versione eliminando tutte le sue versioni.

def permanently_delete_object(bucket, object_key): """ Permanently deletes a versioned object by deleting all of its versions. Usage is shown in the usage_demo_single_object function at the end of this module. :param bucket: The bucket that contains the object. :param object_key: The object to delete. """ try: bucket.object_versions.filter(Prefix=object_key).delete() logger.info("Permanently deleted all versions of object %s.", object_key) except ClientError: logger.exception("Couldn't delete all versions of %s.", object_key) raise
Per eliminare una versione specifica 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-id versionID

Per ulteriori informazioni su delete-object, consulta delete-object nel Riferimento ai comandi AWS CLI .

Per ulteriori informazioni sull'eliminazione delle versioni degli oggetti, consulta gli argomenti riportati di seguito.