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à.
Puoi eliminare uno o più oggetti direttamente da Amazon S3 utilizzando la console Amazon S3 AWS SDKs, AWS Command Line Interface ,AWS CLI() o l'API REST. Se ad esempio stai eseguendo la raccolta di file di log, è una buona idea eliminarli quando non sono più necessari. È possibile impostare una regola del ciclo di vita S3 per eliminare automaticamente oggetti come i file di log.
Per eliminare un oggetto, è possibile utilizzare una delle seguenti operazioni API:
-
Elimina un singolo oggetto: Amazon S3 fornisce l'API
DELETE
(DeleteObject
) che consente di eliminare un solo oggetto con una singola richiesta HTTP. -
Elimina più oggetti: Amazon S3 include inoltre l'API per l'eliminazione di più oggetti (
DeleteObjects
) che consente di eliminare fino a 1.000 oggetti con una singola richiesta HTTP.
Quando si eliminano oggetti da un bucket per cui non è abilitato il controllo delle versioni, si fornisce solo il nome della chiave dell'oggetto. Tuttavia, quando si eliminano oggetti da un bucket per cui è abilitato il controllo delle versioni, è possibile fornire l'ID della versione dell'oggetto per eliminare una versione specifica dell'oggetto.
Best practice da considerare prima di eliminare un oggetto
Prima di eliminare un oggetto, considera le seguenti best practice:
-
Abilita il controllo delle versioni per il bucket. La funzionalità di controllo delle versioni S3 aggiunge una protezione contro le semplici richieste
DeleteObject
per evitare cancellazioni accidentali. Per i bucket con controllo delle versioni, se si elimina la versione corrente di un oggetto o se una richiesta di eliminazione non specifica un ID di versione specifico, Amazon S3 non elimina definitivamente l'oggetto. Al contrario, S3 aggiunge un marcatore di cancellazione, emettendo una cancellazione rapida dell'oggetto. Il marcatore di cancellazione diventa quindi la versione corrente (o più recente) dell'oggetto con un nuovo ID di versione. Per ulteriori informazioni, consulta Deleting object versions from a versioning-enabled bucket. -
Se desideri eliminare un gran numero di oggetti o eliminare programmaticamente gli oggetti in base alla data di creazione dell'oggetto, imposta una configurazione del ciclo di vita S3 sul bucket. Per monitorare queste cancellazioni, si consiglia di utilizzare una notifica di evento del ciclo di vita S3. Quando si configurano le notifiche del ciclo di vita S3, il tipo di evento
s3:LifecycleExpiration:Delete
notifica l'eliminazione di un oggetto in un bucket. Notifica inoltre quando una versione dell'oggetto viene eliminata definitivamente da una configurazione del ciclo di vita S3. Il tipo di eventos3:LifecycleExpiration:DeleteMarkerCreated
notifica quando il ciclo di vita S3 crea un marcatore di cancellazione. Un marcatore di cancellazione viene creato quando viene eliminata la versione corrente di un oggetto in un bucket con controllo delle versioni. -
Prima di effettuare qualsiasi aggiornamento alla configurazione del ciclo di vita S3, verifica che il ciclo di vita abbia completato le azioni su tutti gli oggetti previsti. Per ulteriori informazioni, consulta la sezione Aggiornamento, disattivazione o eliminazione delle regole del ciclo di vita in Impostazione della configurazione del ciclo di vita S3 su un bucket.
Nota
Le regole del ciclo di vita S3 devono essere applicate al giusto sottoinsieme di oggetti per evitare cancellazioni involontarie. È possibile filtrare gli oggetti in base ai prefissi, ai tag degli oggetti o alle dimensioni degli oggetti quando si creano le regole del ciclo di vita.
-
Considera la possibilità di limitare la rimozione o l'eliminazione di oggetti dal bucket da parte degli utenti. Per limitare gli utenti, è necessario negare esplicitamente agli utenti le autorizzazioni per le seguenti azioni nelle policy del bucket Amazon S3:
-
s3:DeleteObject
,s3:DeleteObjectVersion
(per controllare chi può cancellare gli oggetti utilizzando le richieste API) -
s3:PutLifecycleConfiguration
(per controllare chi può aggiungere regole di scadenza del ciclo di vita S3)
-
-
Considera l'utilizzo di Replica S3 per creare più copie dei dati e replicarli in più posizioni contemporaneamente. È possibile scegliere tutti i bucket di destinazione necessari. Inoltre, se un oggetto viene involontariamente cancellato, si avrà ancora una copia dei dati.
Eliminazione di oggetti da un bucket con controllo delle versioni abilitato
Se per il bucket è abilitato il controllo delle versioni, nel bucket stesso possono esistere più versioni dello stesso oggetto. Quando si lavora con i bucket per cui è abilitato il controllo delle versioni, le operazioni API Delete
consentono le seguenti opzioni:
-
Specifica una richiesta di eliminazione senza versione: specifichi solo la chiave dell'oggetto senza l'ID versione. In questo caso, Amazon S3 crea un marcatore di cancellazione sulla versione corrente dell'oggetto e restituisce l'ID della versione nella risposta. L'oggetto scompare dal bucket. Per informazioni sulla funzione Controllo delle versioni degli oggetti e sul concetto di contrassegno di eliminazione, consulta Conservazione di più versioni degli oggetti con Controllo delle versioni S3.
-
Specifica una richiesta di cancellazione con controllo delle versioni - Specifica sia la chiave che l'ID della versione. In questo caso, sono possibili i seguenti risultati:
-
Se l'ID versione mappa a una versione dell'oggetto specifica, Amazon S3 elimina la versione specifica dell'oggetto.
-
Se l'ID della versione corrisponde al marcatore di cancellazione di un oggetto, Amazon S3 elimina il marcatore di cancellazione. Quando il marcatore di cancellazione viene eliminato, l'oggetto riappare nel bucket.
-
Eliminazione di oggetti da un bucket con controllo delle versioni sospeso
Se per un bucket è sospeso il controllo delle versioni, le operazioni API Delete
si comportano allo stesso modo per i bucket con controllo delle versioni abilitato (tranne quando la versione corrente ha un ID versione null). Per ulteriori informazioni, consulta Eliminazione di oggetti da bucket con funzione Controllo delle versioni sospesa.
Eliminazione di oggetti da un bucket senza controllo delle versioni
Se il bucket è senza controllo delle versioni, è possibile specificare la chiave dell'oggetto nelle operazioni API Delete
e Amazon S3 eliminerà definitivamente l'oggetto. Per evitare la cancellazione permanente di un oggetto, abilita il controllo delle versioni per il bucket.
Eliminazione di oggetti da un bucket con autenticazione MFA
Quando si eliminano oggetti da un bucket abilitato per l'autenticazione a più fattori (multi-factor authentication, MFA), tieni presente quanto segue:
-
Se specifichi un token MFA non valido, la richiesta ha sempre esito negativo.
-
Se nel bucket è abilitata l'autenticazione MFA e si effettua una richiesta di eliminazione con versione (si indicano la chiave dell'oggetto e l'ID versione), la richiesta ha esito negativo se non si fornisce un token MFA valido. Inoltre, quando si utilizza l'operazione API multi-oggetto
Delete
su un bucket abilitato a MFA, se una qualsiasi delle cancellazioni è una richiesta di cancellazione con versione (cioè, si specifica una chiave di oggetto e un ID di versione), l'intera richiesta fallisce se non si fornisce un token MFA.
La richiesta ha invece esito positivo nei seguenti casi:
-
Se nel bucket è abilitata l'autenticazione MFA ed effettui una richiesta di eliminazione senza versione (non elimini un oggetto con versione) e non fornisci un token MFA, le eliminazioni hanno esito positivo.
-
Se una richiesta di eliminazione di più oggetti specifica solo oggetti senza versione da eliminare da un bucket in cui è abilitata l'autenticazione MFA e non fornisci un token MFA, le eliminazioni hanno esito positivo.
Per informazioni sull'eliminazione di MFA, consulta Configurazione dell'eliminazione di MFA.