Eliminazione di un bucket - 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 un bucket

Un bucket Amazon S3 vuoto può essere eliminato. Prima di eliminare un bucket, considera quanto segue:

  • I nomi dei bucket sono univoci. Se elimini un bucket, un altro AWS utente può utilizzare il nome.

  • Se il bucket ospita un sito Web statico e hai creato e configurato una zona ospitata di Amazon Route 53 come descritto in Tutorial: Configurazione di un sito Web statico utilizzando un dominio personalizzato registrato con Route 53, devi ripulire le impostazioni della zona ospitata di Route 53 associate al bucket. Per ulteriori informazioni, consulta Passaggio 2: eliminare la zona ospitata Route 53.

  • Se il bucket riceve i dati di log da Elastic Load Balancing (ELB): consigliamo di interrompere la consegna dei log ELB al bucket prima dell'eliminazione. Dopo l'eliminazione del bucket, se un altro utente crea un bucket utilizzando lo stesso nome, i dati di log potrebbero potenzialmente essere consegnati a quel bucket. Per informazioni sui registri di accesso ELB, consulta le sezioni Registri di accesso nella Guida per l'utente di Classic Load Balancer e Registri di accesso nella Guida per l'utente di Application Load Balancer.

Risoluzione dei problemi

Se non riesci a eliminare un bucket Amazon S3, considera quanto segue:

  • Assicurati che il bucket sia vuoto – Puoi eliminare solo bucket che non hanno oggetti al loro interno. Assicurati che il bucket sia vuoto.

  • Assicurati che non siano presenti punti di accesso collegati: puoi eliminare solo bucket a cui non sono collegati punti di accesso. Elimina tutti i punti di accesso collegati al bucket, prima di eliminare il bucket.

  • AWS Organizations policy di controllo del servizio (SCP): una policy di controllo del servizio può negare l'autorizzazione di eliminazione su un bucket. Per informazioni sulle SCP, consulta Policy di controllo dei servizi nella Guida per l'utente di AWS Organizations .

  • s3: DeleteBucket permessi — Se non riesci a eliminare un bucket, contatta il tuo amministratore IAM per confermare di disporre delle autorizzazioni. s3:DeleteBucket Per informazioni su come visualizzare o aggiornare le autorizzazioni IAM, consulta la sezione Modifica delle autorizzazioni per un utente IAM nella Guida per l'utente IAM.

  • s3: DeleteBucket deny statement — Se disponi di s3:DeleteBucket autorizzazioni nella tua policy IAM e non puoi eliminare un bucket, la policy del bucket potrebbe includere un'istruzione di negazione per. s3:DeleteBucket Per impostazione predefinita, i bucket creati da ElasticBeanstalk hanno una politica contenente questa dichiarazione. Prima di poter eliminare il bucket, è necessario eliminare questa istruzione o la policy del bucket.

Importante

I nomi dei bucket sono univoci. Se elimini un bucket, un altro AWS utente può utilizzare il nome. Se desideri continuare a utilizzare lo stesso nome di bucket, non eliminare il bucket. Ti consigliamo di eliminare solo il contenuto del bucket.

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

  2. Nell'elenco Buckets (Bucket) selezionare l'opzione accanto al nome del bucket che si desidera eliminare, quindi scegliere Delete (Elimina) nella parte superiore della pagina.

  3. Nella pagina Delete bucket (Elimina bucket) confermare che si desidera eliminare il bucket immettendo il nome del bucket nel campo di testo e quindi scegliere Delete bucket (Elimina bucket).

    Nota

    Se il bucket contiene oggetti, svuotarlo prima di eliminarlo selezionando il collegamento di configurazione bucket vuoto nell'avviso di errore This bucket not empty (Questo bucket non è vuoto) e seguendo le istruzioni nella pagina Empty bucket (Svuota bucket). Quindi tornare alla pagina Delete bucket (Elimina bucket) ed eliminare il bucket.

  4. Per verificare di aver eliminato il bucket, apri l'elenco Bucket e inerisci il nome del bucket eliminato. Se il bucket non appare tra i risultati, la cancellazione si è conclusa correttamente.

L'esempio seguente mostra come eliminare un bucket utilizzando l' AWS SDK for Java. In primo luogo, il codice elimina gli oggetti presenti nel bucket e quindi il bucket stesso. Per informazioni su altri SDK AWS , consulta Strumenti per Amazon Web Services.

Java

Nell'esempio Java seguente viene eliminato un bucket che contiene oggetti. Tale codice elimina tutti gli oggetti e quindi il bucket stesso. L'esempio di codice vale sia per i bucket che supportano la funzione Controllo delle versioni che per quelli che non la supportano.

Nota

Per i bucket che non supportano la funzione Controllo delle versioni, è possibile eliminare direttamente tutti gli oggetti e poi il bucket stesso. Per i bucket che supportano la funzione Controllo delle versioni, è necessario eliminare tutte le versioni degli oggetti prima di eliminare il bucket.

Per istruzioni su come creare e testare un esempio di utilizzo, consulta Test degli esempi di codice Java di Amazon S3.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.*; import java.util.Iterator; public class DeleteBucket2 { public static void main(String[] args) { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); // Delete all objects from the bucket. This is sufficient // for unversioned buckets. For versioned buckets, when you attempt to delete // objects, Amazon S3 inserts // delete markers for all objects, but doesn't delete the object versions. // To delete objects from versioned buckets, delete all of the object versions // before deleting // the bucket (see below for an example). ObjectListing objectListing = s3Client.listObjects(bucketName); while (true) { Iterator<S3ObjectSummary> objIter = objectListing.getObjectSummaries().iterator(); while (objIter.hasNext()) { s3Client.deleteObject(bucketName, objIter.next().getKey()); } // If the bucket contains many objects, the listObjects() call // might not return all of the objects in the first listing. Check to // see whether the listing was truncated. If so, retrieve the next page of // objects // and delete them. if (objectListing.isTruncated()) { objectListing = s3Client.listNextBatchOfObjects(objectListing); } else { break; } } // Delete all object versions (required for versioned buckets). VersionListing versionList = s3Client.listVersions(new ListVersionsRequest().withBucketName(bucketName)); while (true) { Iterator<S3VersionSummary> versionIter = versionList.getVersionSummaries().iterator(); while (versionIter.hasNext()) { S3VersionSummary vs = versionIter.next(); s3Client.deleteVersion(bucketName, vs.getKey(), vs.getVersionId()); } if (versionList.isTruncated()) { versionList = s3Client.listNextBatchOfVersions(versionList); } else { break; } } // After all objects and object versions are deleted, delete the bucket. s3Client.deleteBucket(bucketName); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client couldn't // parse the response from Amazon S3. e.printStackTrace(); } } }

Puoi eliminare un bucket che contiene oggetti AWS CLI se non ha il controllo delle versioni abilitato. Quando elimini un bucket che contiene oggetti, tutti gli oggetti nel bucket vengono eliminati definitivamente, inclusi gli oggetti che sono passati alla classe di storage S3 Glacier.

Se il tuo bucket non ha il controllo delle versioni abilitato, puoi utilizzare il AWS CLI comando rb (remove bucket) con il --force parametro per eliminare il bucket e tutti gli oggetti in esso contenuti. Questo comando elimina prima tutti gli oggetti e quindi il bucket stesso.

Se il controllo delle versioni è abilitato, gli oggetti con versione non verranno eliminati in questo processo: ciò comporterebbe il fallimento dell'eliminazione del bucket in quanto non vuoto. Per ulteriori informazioni sull'eliminazione di oggetti con versione, consulta la sezione Eliminazione delle versioni degli oggetti.

$ aws s3 rb s3://bucket-name --force

Per ulteriori informazioni, consulta Uso dei comandi S3 di alto livello con la nella Guida per l'utente. AWS Command Line Interface AWS Command Line Interface